![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как так... [C++ Builder]
VolanD666 © (2005-04-22 16:01:00)Задача:
Пусть чувак ходит по 3D карте, если подошел к объекту на расстояние n, то проверяем может взять его или нет(может если навел крестиком в центре экрана).
Решение (как у меня):
1) Для каждого предмета есть параллелепипед, который его описывает.
2) Для каждой грани создаем уравнение плоскости.
3) Находим точку пересечения взгляда и самой близкой плоскостью.
4) Проверяем, как лежит точка пересечения и центр параллелепипеда относительно боковых плоскостей(т.е. проверяем не выходит ли точка пересечения за свой параллелограмм. Так как плоскость бесконечна).
Что неработает:
1) Точку пересечения находит правильно.
2) При вращении мыши горизонтально-объект отслеживается.
3) При повороте вертикально-не работает.
Все уже пересмотрел не могу найти в чем косяк.
Заранее, спасибо!
XProger (2005-04-23 13:18:00) [1]"Может быть есть условия (о которых я не знаю) при которых геометрические формулы не работают?"
Ага... А авторы учебников это злостно скрывают? ;)
VolanD666 (2005-04-23 06:48:00) [2]Не...
Там где я их использую все работает.
Может быть есть условия (о которых я не знаю) при которых геометрические формулы не работают?
XProger (2005-04-22 22:07:00) [3]sin или cos - в них косяк! А точнее в том как и где ты их используешь... ;)