Немного предыстории, в настоящее время я работаю над реализацией системы рендеринга треугольника в Expression2 для создания моделей .obj.Поиск «ноги» высоты треугольника в 3D-пространстве
Одним из ограничений, которые я испытываю в настоящее время, является то, что я не могу создать многоугольники старомодным способом, скорее, мне нужно создать треугольники из Isosceles и отрезать часть его.
Моя текущая проблема в том, что я работаю над тем, как и где разместить треугольник из равнобедренной земли. (У меня есть все остальное, как угол уже разобралась)
http://img22.imageshack.us/img22/3251/trianglem.png (Игнорируйте синий треугольник)
v0, v1 и v2 3 координаты в 3D-пространстве, которые составляют нужный треугольник.
Красная линия - это линия, которая идет от v1 и встречает гипотенузу под прямым углом вдоль плоскости треугольника. Я хочу рассчитать p1, который по существу является точкой ровно на полпути между v1 и где высота соответствует гипотенузе, также известному как «нога».
Моя текущая попытка не работает, что-так всегда:
Dot = (v0-v1):dot(v0-v2)
P1 = v0 + Dot*((v0-v2):normalized())
Я признателен за любую помощь. Спасибо.
Язык на самом деле не имеет значения: P, математика, стоящая за проблемой, такая же. Независимо от того, что я дам ваше уравнение, спасибо. – Fascia
Do'h, нет, что не работает, треугольник может быть любой ориентацией в трехмерном пространстве, поэтому значение Z v1 не будет работать. Спасибо за вашу помощь. – Fascia
Хорошо, я думал, что все было в одном плане (vx.z = 0), но поскольку это не обязательно, я отредактировал его. – Marcelo