Как определить 3D-координаты точки в 3D-треугольнике, зная, что это 2D-координаты

У меня есть этот код в классе VB, который преобразует 3D-точку в 2D-точку для рисования на экране:

Dim N As Point3D, Triangle As Point3D

N.X = 20: N.Y = 30: N.Z = 40

For I = 0 To 2

    With N
        ZX = .X * CosZ - .Y * SinZ - .X
        ZY = .X * SinZ + .Y * CosZ - .Y

        YX = (.X + ZX) * CosY - .Z * SinY - (.X + ZX)
        YZ = (.X + ZX) * SinY + .Z * CosY - .Z

        XY = (.Y + ZY) * CosX - (.Z + YZ) * SinX - (.Y + ZY)
        XZ = (.Y + ZY) * SinX + (.Z + YZ) * CosX - (.Z + YZ)

        .X = YX + ZX + .X
        .Y = ZY + XY + .Y
        .Z = XZ + YZ + .Z

        'Add Depth and Coordinates
        Triangle.T2D(I).X = .X * 0.999 ^ (.Z + Me.Z) + Me.X * 2
        Triangle.T2D(I).Y = .Y * 0.999 ^ (.Z + Me.Z) + Me.Y * 2
    End With
Next

С помощью этого кода я конвертирую три 3D-точки и сохраняю их как 2D-точки в треугольнике, чтобы нарисовать 3D-треугольник.

Из тонущего треугольника, как я могу преобразовать 2D точку (Xp,Yp), которая находится внутри треугольника, и преобразовать ее в 3D точку?

0 ответов

Другие вопросы по тегам