В THREE.js как я могу масштабировать необработанный набор данных так, чтобы все отображаемые точки содержались в измерениях плоскости заданной ширины и высоты?

Я использую объект плоскости в качестве декартовой плоскости для объекта THREE.Points, который содержит мои данные. Функция вектора, используемая для преобразования исходного набора, должна иметь возможность масштабировать любой набор данных таким образом, чтобы отображаемые точки всегда соответствовали границам плоскости. Вот что у меня так далеко:

for(var k=0; k<data.length; k++) {

    points.geometry.vertices.push(

        new THREE.Vector3( //function for the x-coordinate,
                           //function for the y-coordinate,
                           0 )
    );
}

1 ответ

Решение

Я смог выработать ответ на этот вопрос сам. Вот код:

for(var k=0; k<data.length; k++) {

    points.geometry.vertices.push(

        new THREE.Vector3( 

            width*((k-(data.length/2))/data.length), //x

            height*(data[k]/(2*range)), //y

            0 //z
        )
    );
}
Другие вопросы по тегам