Я предполагаю, что проекция, которую вы имеете в виду, как говорит Бета, состоит в пересечении между:
- линией, образованной началом координат
O(0, 0, 0)
и точкой P(a, b, c)
, которую нужно преобразовать - и плоскость
z=d
Если я прав, то давайте посмотрим на уравнение этой линии, заданное векторным произведением OP ^ OM = 0
(напомним, что уравнениелинии между двумя заданными точками A
и B
задается как AB ^ AM = 0
, с M(x, y, z)
, это векторное произведение, поэтому все являются векторами: 0
представляет нулевой вектор, AB
являетсявектор AB
и т. д.):
bz - cy = 0
cx - az = 0
cz - bx = 0
При z = d
мы имеем только 2 линейно независимых уравнения:
bd = cy
cx = ad
Таким образом, эта проекция преобразует точку P(a, b, c)
вточка P'(ad/c, bd/c, d)
.Для однородных координат, которые дают:
P'(ad/c, bd/c, d) = P'(ad/c, bd/c, cd/c)
= P'(ad/c: bd/c: cd/c: 1)
= P'(a: b: c: d/c)
EDIT: первая найденная матрица была:
1, 0, 0, 0
0, 1, 0, 0
A = 0, 0, 1, 0
0, 0, 0, d/c
, но она использует c
, которая является координатой точки P
!!Это чепуха, я не смог найти выражение A
, которое не использует эти координаты.Возможно, я недостаточно знаком с однородными координатами.