forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   !Math:Help! (http://forum.boolean.name/showthread.php?t=5117)

zheland 24.11.2007 15:14

!Math:Help!
 
:SOS:


Вот:
1:


известно:a,b
неизвестно:c,d
c=Sin(a)*b


d=Cos(a)*b
2:


неизвестно:a,b
известно:c,d
а=ATan2(c,d)
b=???

как узнать b

johnk 24.11.2007 15:38

Re: !Math:Help!
 
Если честно, ничего не понял.

impersonalis 24.11.2007 15:44

Re: !Math:Help!
 
Вложений: 2
какой вопрос - такой ответ ( в плане - может я не всё понял - переформулируй)

zheland 24.11.2007 19:23

Re: !Math:Help!
 
Ну например у меня есть 2 игрока,
Код:


player1_x=22
player1_y=85
player2_x=175
player2_y=-127

Первый игрок - компьютер,он стреляет по 2-му игроку:
Что-бы узнать как ему повернуть пушку он использует ATan2
Код:

player1_fr=ATan(player2_x-player1_x,player2_y-player1_y)
А как узнать на какую дальность ему стрельнуть,есть-ли такая функция в BlitzMax
p.s.
Код:

fire_x=Sin(player1_fr)*player1_d 'player1_d - дальность стрельбы
...

В Blitz3d такая есть:-D :
Код:


EntityDistance# ( src_entity,dest_entity)

Там для 3D
А мне для Blitz Max , для 2D:-)

johnk 24.11.2007 19:36

Re: !Math:Help!
 
Ну так, т. Пифагора рулит.

zheland 24.11.2007 19:56

Re: !Math:Help!
 
Цитата:

т. Пифагора
А можно-ли просто функцией
Или какой-либо формулой

Данил 24.11.2007 20:00

Re: !Math:Help!
 
Function Distance2D#(x1#,y1#,x2#,y2#)
Local nx#=x1-x2
Local ny#=y1-y2

Return Sqr((nx*nx)+(ny*ny))
End Function

Ы, ндеюсь, МоКа не обидется =)

johnk 24.11.2007 22:22

Re: !Math:Help!
 
Дали бы человеку тригонометрию повторить! Вот так всегда: легкотню разжуют, и в рот положат, а потом спрашивается: чтож ламеров так много?

zheland 24.11.2007 22:33

Re: !Math:Help!
 
Да у нас ещё тригонометрия не начиналась:-D
Я ещё в 7 классе

Diplomat 28.11.2007 16:31

Re: !Math:Help!
 
Примечание: использовать формулу круга, (в данном контексте- теорему Пифагора)- надёжно, но нерационально вследствие большого количества занимающих машинное время расчётов. Зная угол-направление на цель и используя тригонометрические функции, получаем результат на порядок-другой быстрее: distance#=(Y2#-Y1#)/Sin(Angle#) или distance#=(X2#-X1#)/Cos(Angle#)
Это ж детский сад, штаны на лямках. Как раз, кажется, 7-9 класс средней школы...

P.S. Сорри за гробокопательство.


Часовой пояс GMT +4, время: 11:50.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot