x+cos(direction*pi180)

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Техника Создания 3D игр / x+cos(direction*pi180)

Страницы: << Prev 1 2  новая тема

Автор Сообщение

гроссмейстер
Группа: Сообщество GM
Сообщений: 172
Добавлено: 22-01-2007 17:08
не-а;) он мне сам говорил;)

эта фигня используется для следующего. допустим впереди героя на опр. расстоянии должен показываться прицел, причем там, куда смотрит герой. для этого находим координату x(AC) и y(BC).

AC=AB*cos(alpha)
BC=AB*sin(alpha)

т.е. другими словами:

{
pricel.x=person.x+rasst*cos(direction*pi/180); // *pi\180 переделывает из градусов в радианы, т.к. ГМ читает только радианы, а direction пишется в градусах.
pricel.y=person.y-rasst*sin(direction*pi/180);
...
}

ВАЖНО! угол C = 90 градусов. Т.е. по определению

синус угла прямоугольного треугольника равен отношению противолежащего катета к гипотенузе.
косинус угла прямоугольного треугольника равен отношению прилежащего катета к гипотенузе.
тангенс угла прямоугольного треугольника равен отношению противолежащего катета к прилежащему.
котангенс угла прямоугольного треугольника равен отношению прилежащего катета к противолежащему.

Есть намного проще способ сделать прицел))

pricel.x=player.x+lengthdir_x(60,direction)
pricel.y=player.y+lengthdir_y(60,direction)


бывалый
Группа: Участники
Сообщений: 36
Добавлено: 22-01-2007 18:35
Мне прицел ненадо мне нада камеру повернуть на 180 градусов!

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 23-01-2007 09:42
pricel.x=player.x+lengthdir_x(60,direction)
pricel.y=player.y+lengthdir_y(60,direction)

да я понимаю, эти функции работают одинаково, просто мне надо было объяснить, что такое синусы, с чем их едят и как их использовать ;-)

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 07-02-2007 14:02
можна чуть упростить )
d3d_set_projection(x,y,10, x+cos(direction*0.017453292519943295769236907684886),y-sin(direction*0.017453292519943295769236907684886),10, 0,0,1)

Страницы: << Prev 1 2  новая тема
Раздел: 
Game Maker Форум / Техника Создания 3D игр / x+cos(direction*pi180)

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU