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

Вниз

Помогите ламеру с DelphiX   Найти похожие ветки 

 
Bizon's ©   (2004-06-11 14:56) [0]

Разбираюсь с DelphiX ми у меня возникла задача:
Есть 3Д кубик
Когда кликаешь мишкой нужно определить на какую грань попал
Как это можно реализовать?


 
papa_jen   (2004-06-12 08:36) [1]

это уже Direct3D используеться. именно такой пример расмотрен в книге Краснова - ДиректИКС в проектах делфи.


 
Bizon's ©   (2004-06-13 11:55) [2]

Как я помню там тупо.
Красились предметы в разный цвет и определяли на какой цвет кликнули. Нету ли другого способа.


 
Sapersky   (2004-06-14 12:13) [3]

Если используется DelphiX, т.е. Direct3DRM, то можно использовать встроенные в него средства проверки попаданий (Frame.RayPick/GetPick/GetElement). Но, судя по тем примерам что у меня сохранились, нужно будет для каждой грани куба использовать отдельный фрейм - не очень-то удобно.

Можно повозиться с геометрией. Например, вручную трансформировать видимые грани куба и проверять попадание "мишки" в экранных координатах (т.е. попадание точки в четырёхугольник). Не совсем оптимально, правда - D3D трансформирует, потом мы ещё раз... но для куба сойдёт.

Или наоборот, получать вектора положения/направления курсора в пространстве и проверять на их на пересечение с трёхмерными гранями, что, собственно, и делает RayPick.

Реализуешь это - тогда обзывай Краснова как хочешь. А пока - не стоит :)



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
3-1094728910
Heretic
2004-09-09 15:21
2004.10.10
По поводу процедуры "BeforePost" в Ttable


14-1095859186
kaZaNoVa
2004-09-22 17:19
2004.10.10
Скорость доступа к диску, или как ускорить HARD


4-1094474007
edthon
2004-09-06 16:33
2004.10.10
СОМ-порт, задержка между командами


14-1094813897
STM
2004-09-10 14:58
2004.10.10
Как написать mailer


3-1094920725
Master Kolyan
2004-09-11 20:38
2004.10.10
Организация виртуальной памяти используя принципы работы БД