![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OpenGL - координаты
Fynjy1984 © (2004-09-20 07:48:00)Помогите мне пожалуйста, мне нужно преобразовать координаты формы в координаты GL, т.е. я тыкаю мышью по форме там нарисован куб, мне надо узнать тыкнул ли я в куб (и куда именно) или мимо( выше, ниже, правее, левее). В примерах у Краснова смотрел - никак не разбирусь.
NikeOLD (2004-09-23 12:15:00) [1]У Краснова все есть посмотри еще разок, начиная с самых протейших.
Если вопросы останутся дай знать, что конкретно тебе не понятно.
Fynjy1984 (2004-09-23 09:58:00) [2]отклинитесь !!!!!!!!!!!!!!!!!!!!!!!
Fynjy1984 (2004-09-23 09:58:00) [3]отклинитесь !!!!!!!!!!!!!!!!!!!!!!!
Jus (2004-09-20 10:02:00) [4]
> Jus он не про прамоугольник спрашивает, а про трёхмерный
> куб, успокойся ;)
:-)
Fynjy1984 (2004-09-20 10:00:00) [5]2 cyborg ©
Ты прав я спрашиваю про куб, наверное мне надо получить проекции по 3 осям, но как это сделать я не знаю.
И еще рисую я куб на интервале (-1;+1) а выводится он на всю форму, (0;400).
cyborg (2004-09-20 09:00:00) [6]Jus он не про прамоугольник спрашивает, а про трёхмерный куб, успокойся ;)
Jus (2004-09-20 08:16:00) [7]Var Kub_X,Kub_Y:integer; //координаты куба
Kub_Width,Kub_Height:integer; //ширина и высота куба
XX,YY:integer; //вспомогательные координаты(координаты мыши)
В TForm1.OnMouseMove есть координаты мыши X и Y; напиши там
Begin
XX:=X;
YY:=Y;
end;
TForm1.FormMouseDown
Begin
IF (XX>Kub_X) and (XX<Kub_X+Kub_Width) and (YY>Kub_Y) and (YY<Kub_Y+Kub_Height) then Caption:='ТЫКнул' else Caption:='не ТЫКнул';
end;
Jus (2004-09-20 08:14:00) [8]
> Jus (20.09.04 08:04) [2]
Извеняюсь)
Переменные XX и YY: integer; из onMouseMove сотри и запиши в VAR глобальные переменные.
Jus (2004-09-20 08:04:00) [9]Var Kub_X,Kub_Y:integer; //координаты куба
Kub_Width,Kub_Height:integer; //ширина и высота куба
В TForm1.OnMouseMove есть координаты мыши X и Y; напиши там
var XX,YY:integer;
Begin
XX:=X;
YY:=Y;
end;
TForm1.FormMouseDown
Begin
IF (XX>Kub_X) and (XX<Kub_X+Kub_Width) and (YY>Kub_Y) and (YY<Kub_Y+Kub_Height) then Caption:='ТЫКнул' else Caption:='не ТЫКнул';
end;
енто Я не уверен на счет когого куба но для квадрата подойдет:).
Jus (2004-09-20 07:52:00) [10]А ты следи за курсором мыши и тыкай в куб. Так и узнаеш ТЫКнул или неТЫКнул.:)