![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"столкновение" [D5, D7, Win95/98, WinXP]
maxistent © (2004-11-20 13:17:00)Приветствую, Мастера! Вопрос: Как осуществить "СТОЛКНОВЕНИЕ" с объектом (например, со "стеной") координаты объекта: x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4. координаты "игрока", подошедшего к "стене": x01,y01,z01. Как узнать, что "игрок" подошел к "стене"?
maxistent (2004-12-09 13:24:00) [1]Вам что, трудно что-ли объяснить иль кинуть какой-нить пример?
wiz (2004-12-04 19:45:00) [2]2 maxistent: надо, Федя, надо...
maxistent (2004-12-04 09:38:00) [3]ну, какие ещё будут предложения?
XProger (2004-11-29 18:43:00) [4]maxistent, открывем учебник по вышке за первый семестр первого курса университета - и грызём гранит науки...
maxistent (2004-11-29 16:22:00) [5]вот тока я не понял них..на :( может вопрос по другому поставить? -> Даны координаты четырёхугольной пирамиды в 3D-пространстве. Нужно найти её высоту и углы, образованные с основанием.
человек (2004-11-20 13:34:00) [6]Самое простое - проверить принадлежит ли точка x01,y01,z01 плоскости, которая задана точками x1,y1,z1,x2,y2,z2,x3,y3,z3 (четвёртая точка необязательна - плоскость отлично задается тремя). Как это сделать? Составить уравнение плоскости, подставить в него ваши x01,y01,z01 и посмотреть - сходится ли.
Уравнение плоскости Ax + By + Cz + D = 0 по трем точкам:
A = y1 (z2 - z3) + y2 (z3 - z1) + y3 (z1 - z2)
B = z1 (x2 - x3) + z2 (x3 - x1) + z3 (x1 - x2)
C = x1 (y2 - y3) + x2 (y3 - y1) + x3 (y1 - y2)
- D = x1 (y2 z3 - y3 z2) + x2 (y3 z1 - y1 z3) + x3 (y1 z2 - y2 z1)
Если хочешь проверить с какой стороны плоскости твой объект - смотри на знак s=Ax + By + Cz + D. Если s больше нуля - то объект с той стороны, куда "смотрит" нормальный вектор (A,B,C). Если меньше нуля - на противоположной. Если равен нулю... то произошло "столкновение" :)