Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2008, 15:52   #1
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
Смущение Помогите написать уравнение...

Привет всем!
Я тут решил вспомнить action script и написать небольшую игрушку...
Но вот проблема с квадратным уравнентем...
A*x*x+B*x+с = y;

X|Y
0|1
45|0,5
90|0
135|-0,5
180|-1
255|-0,5
270|0
315|0,5
360|1
Altera вне форума Ответить с цитированием
Старый 11.04.2008, 16:06   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

а y=cos(x) не устроит ?
alexBlack вне форума Ответить с цитированием
Старый 11.04.2008, 16:13   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Нет, не подходит
Altera вне форума Ответить с цитированием
Старый 11.04.2008, 16:36   #4
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

0 1
45 0.42
90 0
135 -0.25
180 -0.33
255 -0.1
270 0
315 0.42
360 1

Это все-таки апроксимация. четыре точки уже хорошо.
Сначала написал значение коэффициентов, но округление сильно влияет.
Приведу лучше расчетные формулы из excel

C2 = =(270*270/(90*90)-1)/(270-270*270/90)
D2 = =(-1-C2*90)/(90*90)

x - в колонке A
y (в колонке B) =A4*A4*$D$2+A4*$C$2+1

A = 0,00004115
B = -0.01481481
C = 1

Последний раз редактировалось alexBlack; 11.04.2008 в 16:48.
alexBlack вне форума Ответить с цитированием
Старый 11.04.2008, 16:51   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А вот такое:
y = 1 - ((x mod 90) / 90)
не подходит что-ли. ?
знак y: минус если (x mod 360) div 90 равно 1 или 2, иначе плюс
B_N вне форума Ответить с цитированием
Старый 11.04.2008, 16:58   #6
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Корабль перемещаеться по X и Y...
Если нос корабля направлен вверх, то угол 0 градусов, при этом корабль перемещаеться вверх (По Y), на step = 10; (Y := Y-10), а по X не перемещаеться...
Если нос корабля направлен вправо (угол 90), то корабль перемещаеться по X на step = 10; и не перемещаеться по Y...
А ести угол, скажем 225 градусов, то корабль перемещаеться по X+Step/2 и по Y+step/2... Другими словами - step * 0.5...
Вот мне и надо узновать коэфициент умножения (0, 1, 0.5, -1, -0.5, и т.д) взависимосте от угла....

Altera вне форума Ответить с цитированием
Старый 11.04.2008, 17:01   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А нафига, пардон, тогда квадратные уравнения, если это проще таблично задать???
B_N вне форума Ответить с цитированием
Старый 11.04.2008, 19:03   #8
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
А нафига, пардон, тогда квадратные уравнения, если это проще таблично задать???
А если 30 градусов, тогда Y сколько, или 620???
Напоминаю, что это язык action script, язык программирования флеш игр, и он далеко не такой совершенный, как delphi или С++...
Мне нужна просто формула, математическая, (можно Round, Sin, Cos, tg, ctg, sqrt юзать)...

Последний раз редактировалось Altera; 11.04.2008 в 19:08.
Altera вне форума Ответить с цитированием
Старый 11.04.2008, 19:57   #9
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Корабль перемещаеться по X и Y...
Если нос корабля направлен вверх, то угол 0 градусов, при этом корабль перемещаеться вверх (По Y), на step = 10; (Y := Y-10), а по X не перемещаеться...
Если нос корабля направлен вправо (угол 90), то корабль перемещаеться по X на step = 10; и не перемещаеться по Y...
А ести угол, скажем 225 градусов, то корабль перемещаеться по X+Step/2 и по Y+step/2... Другими словами - step * 0.5...
Вот мне и надо узновать коэфициент умножения (0, 1, 0.5, -1, -0.5, и т.д) взависимосте от угла....
Непонятно почему пополам. По моему чистый cos и sin

StepY := cos(a)
StepX := sin(a)

только угол к радианам привести и все
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача под windows,помогите написать.Надо написать на Borland C++Builder 6. eddddii Помощь студентам 9 23.05.2008 17:04