Может помочь нарисовать диаграмму. Вы можете упростить задачу, игнорируя координату x, которая переводит все в 2D. На этой более простой диаграмме, чтобы найти проекцию точки t на плоскость PP, просто проведите линию от положения точечного отверстия до точки. Это позволяет очень легко определить на диаграмме, на какую точку должна проецироваться каждая точка. Вы можете использовать это, чтобы проверить свои расчеты по матрицам.
У вас есть половина ответа, если бы у нас было точечное отверстие в начале координат, а плоскость находилась на расстоянии 3Zp, матрица была бы
( 1 0 0 0 )
M = ( 0 1 0 0 )
( 0 0 1/3Zp 0 )
Это работает, только если точечное отверстие находится в начале координат. В части а) это не так.
Что вам нужно сделать, так это применить перевод. В случае а) переведите все, чтобы COP2 находился в исходной точке, примените проекцию, затем примените инверсию перевода. Вещь будет работать проще, если мы добавим четвертую строку к M
( 1 0 0 0 )
M = ( 0 1 0 0 )
( 0 0 1 0 )
( 0 0 1/3Zp 0 ) Note modified form.
Перенос расстояния d по оси z определяется выражением
( 1 0 0 0 )
T = ( 0 1 0 0 )
( 0 0 1 d )
( 0 0 0 1 )
Обратное будет просто
( 1 0 0 0 )
T'= ( 0 1 0 0 )
( 0 0 1 -d )
( 0 0 0 1 )
Чтобы получить окончательную матрицу проекции, найдите
T' M T.
Наконец, мы переходим от 4D (x, y, z, w) к 3D (x, y, w), отбрасывая третью координату. Вы можете сделать это, умножив на матрицу 3X4.
Обратите внимание, см. перспективную проекцию раздела матрицы преобразования для правильной формы перспективной проекции.
Чтобы сделать это явным, пусть a = Zp. Перевод
( 1 0 0 0 )
T = ( 0 1 0 0 )
( 0 0 1 -2 a )
( 0 0 0 1 )
а проекция на плоскость 3Zp из начала координат равна
( 1 0 0 0 )
M = ( 0 1 0 0 )
( 0 0 1 0 )
( 0 0 -1/(3a) 0 )
Найдите T 'M T, который оказывается
( 1 0 0 0 )
N = ( 0 1 0 0 )
( 0 0 1/3 -2/3 a )
( 0 0 -1/(3a) 2/3 )
Мы обращаемся к нашим двум точкам
( 0 ) ( 0 ) ( 0 )
N ( Yp ) = ( Yp ) -> ( Yp )
( -a ) ( -a ) ( -a )
( 1 ) ( 1 )
( 0 ) ( 0 ) ( 0 )
N ( Yp ) = ( Yp ) -> ( 3/4 Yp )
( -2a ) ( -4/3 a ) ( -a )
( 1 ) ( 4/3 )
Где последний шаг делит на w, поэтому у нас есть координаты (x, y, z), лежащие в плоскости z = -a = -Zp. Это согласуется с тем, что мы получаем из диаграммы. Если хотите, можете опустить 3-й ряд N.
person
Salix alba
schedule
24.05.2015