![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
Есть поверхность (картинка приложена), необходимо по координатам мыши определить над каким объектом находится курсор, объект имеет форму ромба (width:52, height:26). Как можно определить это математически, без hitTest.
Если бы объекты имели квадратную форму, то вообще проблем нет, а вот с ромбом сложнее. |
|
|||||
|
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 110
|
Уравнение прямой: y=a*x+b. У вас две группы прямых с противоположным наклоном: y=a*x+b и y=-a*x+b. Расстояние по между прямыми одинаковое (dy): y=a*x+n*dy и y=-a*x+k*dy, n и k - изометрическтие координаты ячейки.
Условие попадания в ячейку (n, k): a*x+(n-1)*dy<y<a*x+n*dy и -a*x+(k-1)*dy<y<-a*x+k*dy |
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
что в данном уравнении a и b ?
a = угловой коэффициент прямой? (Math.tan(a)) Последний раз редактировалось RaVeN-Nikma; 27.06.2011 в 12:30. |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 110
|
b - смещение по y, b = n*dy (n=1, 2, 3...)
a - угловой коэффициент, если стандартная изометрия (2:1) a=0.5 Последний раз редактировалось hartman; 27.06.2011 в 12:51. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Вспоминаем линейку, блин. Перевод в другую систему координат с центром в r0 и базисными векторами r1 и r2.
r = r0 + r1*t1 + r2*t2 r - координаты мыши (которые надо перевести) r1 - одна сторона ромибка(width/2, полувысота) r2 - другая сторона ромбика (-width/2, height/2) t1, t2 - нужные координаты, округлить их вниз к целому - будут номера ромбиков) Уравнение расписать покоординатно и решить)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
всем спасибо, решил
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|