Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Z координата...


Landgraph ©   (2003-08-07 11:18:00) 

Есть треугольник в пространстве и есть точка, принадлежащая этому треугольнику в плоскости XY, т.е. если смотреть (ось X - горизонтально, ось Y - вертикально) "спереди", то точка лежит в пределах треугольника. Так вот, как определить координату Z для этой точки, если все координаты вершин треугольника известны и известны координаты X и Y точки?


человек с Марса   (2003-08-07 22:57:00) [1]

ур-ние плоскости ax+by+cz+d=0 можешь найти?
если знаешь нормаль - то это совсем просто:
a,b,c = x,y,z нормали, d = - n*A - скалярное произведение нормали n и любой точки на плоскости A

нормаль ищем как (A - C)x(B - C) и нормируем. A B C - вершины твоего треуголника




Goorus   (2003-08-07 16:46:00) [2]

Я как-то над этим долго бился, а вроде не так уж и сложная задчка, даю алгоритм решения для треугольника ABC:
Нужно в плоскости XY "построить" линию, проходящую через одну из вершин треугольника( пусть это будет вершина A )и данную нам точку, в той же плоскости она пересечётся с линией BC (сторона треугольника) находим точку пересечения ( точка M ), Вычесляем её Z позицию через линию BC, далее в плоскости XZ строим линию через точки A и M, теперь в формулу этой линии подставляем X необходимой точки и ВСЁ!!!

Формула линии Y:=A*X+B;
Чтобы найти A и B через систему уравнений (через две точки):
{ y1=a*x1+b
- ( x1-x2) [2]

Я как-то над этим долго бился, а вроде не так уж и сложная задчка, даю алгоритм решения для треугольника ABC:
Нужно в плоскости XY "построить" линию, проходящую через одну из вершин треугольника( пусть это будет вершина A )и данную нам точку, в той же плоскости она пересечётся с линией BC (сторона треугольника) находим точку пересечения ( точка M ), Вычесляем её Z позицию через линию BC, далее в плоскости XZ строим линию через точки A и M, теперь в формулу этой линии подставляем X необходимой точки и ВСЁ!!!

Формула линии Y:=A*X+B;
Чтобы найти A и B через систему уравнений (через две точки):
{ y1=a*x1+b
- ;
{ y2=a*x2+b
=>y1-y2=a*(x1-x2)=>
=>a=(y1-y2)/(x1-x2)
b=y1-a*x1


Ну и ещё ты замучаешься с ситуациями когда y1=y2 или x1=x2


MBo   (2003-08-07 11:49:00) [3]

уравнение плоскости
ax+by+cz+d=0


Наверх

Титульная страница Поиск, карта сайта Написать письмо