Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

"столкновение"   Найти похожие ветки 

 
maxistent ©   (2004-11-20 13:17) [0]

Приветствую, Мастера! Вопрос: Как осуществить "СТОЛКНОВЕНИЕ" с объектом (например, со "стеной") координаты объекта: x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4. координаты "игрока", подошедшего к "стене": x01,y01,z01. Как узнать, что "игрок" подошел к "стене"?


 
человек   (2004-11-20 13:34) [1]

Самое простое - проверить принадлежит ли точка  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). Если меньше нуля - на противоположной. Если равен нулю... то произошло "столкновение" :)


 
maxistent ©   (2004-11-29 16:22) [2]

вот тока я не понял них..на :( может вопрос по другому поставить? -> Даны координаты четырёхугольной пирамиды в 3D-пространстве. Нужно найти её высоту и углы, образованные с основанием.


 
XProger ©   (2004-11-29 18:43) [3]

maxistent, открывем учебник по вышке за первый семестр первого курса университета - и грызём гранит науки...


 
maxistent ©   (2004-12-04 09:38) [4]

ну, какие ещё будут предложения?


 
wiz ©   (2004-12-04 19:45) [5]

2 maxistent: надо, Федя, надо...


 
maxistent ©   (2004-12-09 13:24) [6]

Вам что, трудно что-ли объяснить иль кинуть какой-нить пример?



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1109056083
Neznaika
2005-02-22 10:08
2005.03.06
DBGrid


14-1108508124
GanibalLector
2005-02-16 01:55
2005.03.06
Дайджесты форумов


4-1106432957
i-s-v
2005-01-23 01:29
2005.03.06
Как вывести HBITMAP на HDC


1-1108523985
Wowa-K
2005-02-16 06:19
2005.03.06
Быстрая вставка данных в Word


14-1108516196
БаТоН
2005-02-16 04:09
2005.03.06
ПОЧЕМУ foo и bar() ?