perspective(fovy: Number, aspect: Number, znear: Number, zfar: Number);
fovy. Угол обзора по вертикали в градусах;
aspect. Соотношение сторон;
znear. Расстояние от камеры до ближней плоскости отсечения;
zfar. Расстояние до дальней плоскости отсечения.
Метод perspective устанавливает перспективную проекцию.
Для выполнения примера предполагается наличие на странице компонента MapChart c наименованием «map» (см. «Пример создания компонента MapChart»). Необходимо открыть сферическую карту. Получим проекционную матрицу:
// Получаем объект класса для работы с трехмерной проекцией
var projection = map.getGLControl().getProjection();
// Получаем проекционную матрицу
console.log("Проекционная матрица: ");
console.log(projection.getProjectionMatrix().getData());
В результате в консоль будет выведена проекционная матрица:
Проекционная матрица:
[4.717621803283691, 0, 0, 0, 0, 10.385396957397461, 0, 0, 0, 0, -1.0000020265579224, -1, 0, 0, -0.002000001957640052, 0]
Установим перспективную проекцию и получим новую проекционную матрицу:
// Устанавливаем перспективную проекцию
projection.perspective(30, 4, 100, 200);
// Получаем новую проекционная матрицу
console.log("Проекционная матрица: ");
console.log(projection.getProjectionMatrix().getData());
В результате в консоль будет выведена проекционная матрица:
Проекционная матрица:
[0.9330127239227295, 0, 0, 0, 0, 3.732050895690918, 0, 0, 0, 0, -3, -1, 0, 0, -400, 0]
См. также: