Как настроить ортографическую камеру для проецирования, как описано выше? - PullRequest
2 голосов
/ 09 февраля 2012

Мне бы хотелось, чтобы проекция была такой:

three-axis projection

То есть (x,y,z) -> (x-y/sqrt(2),y/sqrt(2)-z)

Как найти матрицу проекции?

1 Ответ

2 голосов
/ 11 февраля 2012

Я получил это, используя простую камеру:

var camera = new THREE.Camera();

Установка дальнего и ближнего обзора для больших значений:

camera.far=2000;
camera.near=-2000;

И установка матрицы проекции следующим образом:

camera.projectionMatrix = camera.projectionMatrix = new THREE.Matrix4(
            1,0,0.5,0,
            0,-1,-0.5,0,
            0,1,0,0,
            0,0,0,2000);

Я не уверен, что 0.5 - правильное значение (думаю, это должно быть 1 / sqrt (2)), но это сработало.Кроме того, понимание того, как работает матрица проекции, было забавным пониманием.http://en.wikipedia.org/wiki/Projection_%28linear_algebra%29

...