Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 21.02.2009, 02:02   #1
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
ATan2...

Народ, дело в том, что щас я пишу игру на пирике и мне очень помогло, если кто-то смог бы выложить уравнение, по которому работает ATan2 в BB.
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 02:19   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: ATan2...

Товарищ, это же простейшая тригонометрия:
Тангенс есть отношение противолежащего угла к прилежащему (в нашем случае это y и x соответственно) Ну, а имея тангенс можно получить и его арктангенс. Таким образом получаем:
Font = LoadFont("Arial",18)
SetFont font
Print ATan2(4.0,3.0) ; Через ATan2
Print ATan(4.0/3.0) ; Через описанное выше и ATan
WaitKey
Выводит 2 одинаковых знаения Ч.т.д.
Миниатюры
Нажмите на изображение для увеличения
Название: ATan2.png
Просмотров: 960
Размер:	6.5 Кб
ID:	5439  
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 21.02.2009 в 02:25.
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 03:48   #3
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: ATan2...

хм. а так?
Font = LoadFont("Arial",18)
SetFont font
Print ATan2(4.0,0.0) ; Через ATan2
Print ATan(4.0/0.0) ; Через описанное выше и ATan
WaitKey
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 08:20   #4
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: ATan2...

4.0/0.0
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 09:11   #5
jimon
 
Сообщений: n/a
Ответ: ATan2...

JohnK
это же float
 
Ответить с цитированием
Старый 21.02.2009, 09:55   #6
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Ответ: ATan2...

Я что-то упустил, или блиц умеет делить на ноль?


Последний раз редактировалось johnk, 21.02.2009 в 10:03.
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 12:35   #7
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: ATan2...

Как дети малые..делить на ноль нельзя целые числа, а дробные можно.
__________________
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 13:52   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: ATan2...

дробные тоже нельзя. точнее будет "бесконечность"
курите ftp://ftp.elin.ru/pdf/iBDL/Float_IEEE_754.pdf

поэтому то я и говорю, что atan(a/b) это не одно и тоже, что и atan2(a,b).
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 13:59   #9
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: ATan2...

Сообщение от ABTOMAT Посмотреть сообщение
Товарищ, это же простейшая тригонометрия:
Тангенс есть отношение противолежащего угла к прилежащему (в нашем случае это y и x соответственно) Ну, а имея тангенс можно получить и его арктангенс. Таким образом получаем:
Font = LoadFont("Arial",18)
SetFont font
Print ATan2(4.0,3.0) ; Через ATan2
Print ATan(4.0/3.0) ; Через описанное выше и ATan
WaitKey
Выводит 2 одинаковых знаения Ч.т.д.
Я собственно обратился потому что, если x<0 и y<0, то результат будет неверен.Я терялся из-за того, что пурик выводил результат в радианах, а я эт не сразу заметил.
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 14:06   #10
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: ATan2...

вообще atan2 довольно тупая команда (как пробка).
есть две точки, x1,y1 и x2,y2.
тогда atan2(x2-x1,y2-y1) показывает направление от точки 1 к точке 2.

а какие в пурике есть тригонометрические операции?

Последний раз редактировалось HolyDel, 21.02.2009 в 14:47.
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 16:12   #11
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: ATan2...

Стандартные Asin Sin ATan Tan ACos Cos и всё.Причем углы возвращаются в радианах, а вводить их надо в градусах.


В итоге я это сделал так:
Procedure ag(x.f,y.f)
If y.f=0
y.f=0.001
EndIf

ag.f=-ATan(x.f/y.f)
ag.f=ag.f*#rad

If y>=0 
ag.f=ag.f+180
EndIf

    RotateSprite3D(me, ag.f, 0)
EndProcedure

Последний раз редактировалось Slepetc, 21.02.2009 в 16:20.
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 21:45   #12
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ATan2...

http://forum.boolean.name/showpost.p...07&postcount=4
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 21:47   #13
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ATan2...

Сообщение от JohnK Посмотреть сообщение
Я что-то упустил, или блиц умеет делить на ноль?
http://forum.boolean.name/showthread.php?t=167
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 21.02.2009, 22:16   #14
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ATan2...

поэтому то я и говорю, что atan(a/b) это не одно и тоже, что и atan2(a,b).
дело в-первую очередь не в делении на ноль, а в том что atan для пары чисел (a,b) и (-a,-b) будет возвращать одно и тоже значение, а atan2 - нет. Для разных задач требуется то atan, то atan2.
мат.часть
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ATAN2 своими руками SubZer0 Алгоритмика 3 21.07.2007 21:55


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com