Геометрический вопрос
Есть три точки скоординатами. Две из них лежат в основах триангла какогото сурфейса, какого то меша. Нужно спроецировать третью точку на грань триангла который составлин из двух выше упомянутых точек.
Мда, а название темы не то... |
Ответ: Тревога! Блитз не пашет ни в дугу!
ээ вопрос не очень понятен.
Цитата:
если тебе нужно найти третью, то это уже не "спроецировать третью точку на грань", т.к. грани никакой ещё нет. имея две точки нельзя просто так найти третью, т.к. плоскость задаётся тремя) |
Ответ: Геометрический вопрос
Не ясны исходные данные. А следовательно решения не может быть получено, пока не будут сформулированы условия ;)
Могу предложить пару направлений: 1. Найти все треугольники, которые имеют в составе эти две вершины. 2. Из вершин каждого треугольника составить уравнение плоскости и проецировать точку на них. Возможно поможет формула определения кратчайшего расстояния от точки до плоскости. 3. Возможно стоит использовать нормаль от точки к плоскости грани для проецирования. |
Ответ: Тревога! Блитз не пашет ни в дугу!
Цитата:
1-ая т. 2-ая т. |'''''''''/ | * / <--- пикнутая точка | / |/ точка неиспользуется А мне нужно получить точку которая была бы спроецированна на грань триангла, ну или можено выразится ближайшая точка прямой к пикнутой. непонятно?)) я еще могу попробовать) |
Ответ: Тревога! Блитз не пашет ни в дугу!
Цитата:
Вот тебе чтиво (ссылка) |
Ответ: Тревога! Блитз не пашет ни в дугу!
Цитата:
__.a2___ |+++++/ |++++/ | *a1/ |++/ |+/ |/ поняинт?) Если хош, могу в макромедии накидать картинку. |
Ответ: Геометрический вопрос
Вложений: 1
Если все точки известны, то я бы попробовал интерполировать по углам между векторами (в приложении картинка).
Цитата:
|
Ответ: Геометрический вопрос
Цитата:
|
Ответ: Геометрический вопрос
Цитата:
а как бы ты в блитзе это записал ?) аналог команде Vector3 у него есть? |
Ответ: Геометрический вопрос
Я синтаксис блица практически не помню, но что-то вроде:
Код:
function lerp#(a#,b#,t#) UPD: Если бы у меня под рукой была математическая библиотека (для блица она даже где-то есть), то 1. Я бы, например, посчитал кватернион поворота вектора a1a2 в направлении оси 0X и повернул бы как вектор, так и точку, а затем t1 и t2 посчитал просто взяв компоненту x этих точек. И потом интерполировал 2. Например построил бы плоскость, проходящую через точку ap и перпендикулярную вектору a1a2. Потом бы нашел кратчайшее расстояние от точки a1 до плоскости (получил ее проекцию) и это была бы нужная точка. В общем решений много ;). |
Ответ: Геометрический вопрос
Цитата:
|
Часовой пояс GMT +4, время: 06:50. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot