Вниз
Скачать: CL | DM;

Как так...   Найти похожие ветки 

 
VolanD666   (2005-04-22 16:01) [0]

Задача:
Пусть чувак ходит по 3D карте, если подошел к объекту на расстояние n, то проверяем может взять его или нет(может если навел крестиком в   центре экрана).
Решение (как у меня):
1) Для каждого предмета есть параллелепипед, который его описывает.
2) Для каждой грани создаем уравнение плоскости.
3) Находим точку пересечения взгляда и самой близкой плоскостью.
4) Проверяем, как лежит точка пересечения и центр параллелепипеда относительно боковых плоскостей(т.е. проверяем не выходит ли точка пересечения за свой параллелограмм. Так как плоскость бесконечна).
Что неработает:
1) Точку пересечения находит правильно.
2) При вращении мыши горизонтально-объект отслеживается.
3) При повороте вертикально-не работает.
Все уже пересмотрел не могу найти в чем косяк.
Заранее, спасибо!


 
XProger ©   (2005-04-22 22:07) [1]

sin или cos - в них косяк! А точнее в том как и где ты их используешь... ;)


 
VolanD666   (2005-04-23 06:48) [2]

Не...
Там где я их использую все работает.
Может быть есть условия (о которых я не знаю) при которых геометрические формулы не работают?


 
XProger ©   (2005-04-23 13:18) [3]

"Может быть есть условия (о которых я не знаю) при которых геометрические формулы не работают?"
Ага... А авторы учебников это злостно скрывают? ;)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.03 c
1-1122031254
msguns
2005-07-22 15:20
2005.08.14
Как идентифицировать объект по указателю на него ?


4-1119514963
Amid
2005-06-23 12:22
2005.08.14
Как узнать права доступа к папке


1-1122361847
Kolan
2005-07-26 11:10
2005.08.14
Как назначить всем формам одну иконку (16x16).


1-1122460180
Dust
2005-07-27 14:29
2005.08.14
вызвать raise Exception


1-1122419348
Mangoost
2005-07-27 03:09
2005.08.14
выбор на listbox-e




   Наверх