Форум: "Прочее";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
ВнизДвижение объектов по форме Найти похожие ветки
← →
aka (2011-11-16 17:23) [0]Здравствуйте. Объясните как должно быть правильно.
Имеем:
1) координаты по X и Y, также окружность центр которой на координатной плоскости совпадает с [0,0].
2) радиус окружности = 250 пикселей.
3) плюсуя X - объект двигается вправо, плюсуя Y - объект двигается вниз.
4) плюсуя X и Y на одно и тоже значение - объект двигается по диагонали
вниз слева на право. НО НУЖНО СДЕЛАТЬ ЧТОБЫ ОБЪЕКТ ДВИГАЛСЯ С ОДНОЙ СКОРОСТЬЮ Т.Е. нужно плюсовать не по единице к Х и Y, а где-то по 0.7, потому как плюсуя по единице получится, что объект движется быстрее и выйдет быстрее за приделы окружности начиная двигаться с центра.
Вопрос: как зная градус, вычеслить правильное значение X и У, на которое нужно увеличивать значение координат объекта для движение с одной "скоростью"
← →
OW © (2011-11-16 17:29) [1]cos x
sin y
← →
Jeer © (2011-11-16 17:33) [2]Достаточно школьных знаний о Sin/Cos, использования для вычислений данных типа float ( single, double ).
Знания русского тоже не помешают.
← →
Kerk © (2011-11-16 17:42) [3]Можно и без sin/cos. Логики и теоремы пифагора достаточно.
← →
boriskb © (2011-11-16 17:47) [4]
> Jeer © (16.11.11 17:33) [2]
>...Знания русского тоже не помешают.
Теперь уже поздно.
Сейчас только мешать будут.
← →
Jeer © (2011-11-16 17:48) [5]
> Kerk © (16.11.11 17:42) [3]
>
> Можно и без sin/cos. Логики и теоремы пифагора достаточно.
>
Если движения ограничены углами на 8 румбов, то - да.
Даже достаточно знания корня квадратного из 2 :)
← →
Kerk © (2011-11-16 17:50) [6]
> Jeer © (16.11.11 17:48) [5]
> Если движения ограничены углами на 8 румбов, то - да.
Так они и ограничены пикселями. Тут вся эта double-точность нафиг не нужна.
← →
Jeer © (2011-11-16 17:51) [7]Вопрос не по px, а по углам.
Переход ТС к дискретному мышлению - это следущий этап.
← →
Jeer © (2011-11-16 17:54) [8]
> Тут вся эта double-точность нафиг не нужна.
Если чел моделирует движение ФОБОС-ГРУНТ к Марсу, то очень даже нужна :)
← →
aka (2011-11-16 17:55) [9]
> Достаточно школьных знаний о Sin/Cos, использования для
> вычислений данных типа float ( single, double ).
> Знания русского тоже не помешают.
Не обошлось без...
понятно что
sin (45°) = sin (π/4) = (√2)/2 = 1/√2 = 0.7 = Y
сos (45°) = cos (π/4) = (√2)/2 = 1/√2 = 0.7 = X
Я же значение 0.7 для движение по диагонали не из потолка взял.
Вопрос в том, как задать градус переменной от 0..359 и получить нужные Х и У.
Вариант конечно - создать таблицу из 360 значений для каждой координаты, но а посчитать как?
← →
Jeer © (2011-11-16 17:59) [10]?
Т.е. Vx = Sin(Alpha) и Vy = Cos(Alpha) уже не хляют ?
← →
Dimka Maslov © (2011-11-16 18:02) [11]Раньше в школах практиковалось использование четырёхзначных таблиц Брадиса. Хорошая штука для того, чтобы вычислить значения синуса и косинуса для любого угла, а не только 45°.
← →
RWolf © (2011-11-16 18:02) [12]
> как задать градус переменной от 0..359gradus:=0;
…
gradus:=gradus+1;
> и получить нужные Х и У.
sin() и cos() по определению делают именно это, не?
← →
Jeer © (2011-11-16 18:03) [13]
> Dimka Maslov © (16.11.11 18:02) [11]
>
> Раньше в школах практиковалось использование четырёхзначных
> таблиц Брадиса.
Эк, хватанул - это из области фантастики для них сейчас.
← →
Dimka Maslov © (2011-11-16 18:16) [14]
> Jeer © (16.11.11 18:03) [13]
Человек хочет создать таблицу. Но когда он её таки создаст и ВНЕЗАПНО осознает, какой удар со стороны классика от получил... Пусть уж лучше добросовестно перепишет значения синусов и косинусов оттуда. Я же не предлагаю в ряды раскладывать.
← →
aka (2011-11-16 18:17) [15]
> > и получить нужные Х и У.
>
> sin() и cos() по определению делают именно это, не?
Как я должен в таком случае преобразовать градусы, если значение для син и кос в диапазоне 0..1, а не задаются в градусах?
← →
RWolf © (2011-11-16 18:17) [16]
> Если движения ограничены углами на 8 румбов, то - да.
я, помнится, в школе в процессе изучения тригонометрии пытался аналитически выводить синусы/косинусы также для углов, кратных 3°, и небезуспешно. Неплохое приближение к окружности получится.
← →
RWolf © (2011-11-16 18:18) [17]
> Как я должен в таком случае преобразовать градусы, если
> значение для син и кос в диапазоне 0..1, а не задаются в
> градусах?
sin/cos принимают значение аргумента в радианах.
один радиан — сколько градусов?
← →
SQLEX © (2011-11-16 18:21) [18]фигасе, понаписано :)
а я помню, как в одном шутере, реально получалось пулей носится, если под 45 всегда двигаться. Т.е. вперед и в бок зажимаешь и понеслась. По сетке оппоненты даже в читерстве подозревали :)
← →
Dimka Maslov © (2011-11-16 18:22) [19]
> один радиан — сколько градусов?
Что-то мне подсказывает, что это какое-то, я не побоюсь этого слова, иррациональное число
← →
Jeer © (2011-11-16 18:23) [20]
> синусы/косинусы также для углов, кратных
Такие вещи были распространены даже в мое время, т.к. облегчали счет в уме ( прикидку ).
← →
aka (2011-11-16 18:31) [21]
> SQLEX © (16.11.11 18:21) [18]
>
> фигасе, понаписано :)
>
> а я помню, как в одном шутере, реально получалось пулей
> носится, если под 45 всегда двигаться. Т.е. вперед и в бок
> зажимаешь и понеслась. По сетке оппоненты даже в читерстве
> подозревали :)
Во, там они не считали sin/cos угла, плюсовали в лоб.
> sin/cos принимают значение аргумента в радианах.
> один радиан — сколько градусов?
А в Delphi, что они в радианах? Я думал от 0 до 1.
Короче тут без таблицы Брадиса не обойтись.
← →
Empleado © (2011-11-16 18:31) [22]
> Dimka Maslov © (16.11.11 18:02) [11]
А сейчас (в настоящее время) их отменили что ль?...
← →
aka (2011-11-16 18:51) [23]А как Брадис вычислял свою таблицу? Подбором или по формуле?
← →
Kerk © (2011-11-16 18:54) [24]Как-то так, в общем.
Radius := 250;
X0 := 500;
Y0 := 500;
for I := 1 to 360 do
begin
Rad := I*Pi/180;
X := Radius * sin (Rad);
Y := Radius * cos (Rad);
Paint (X0+X, Y0+Y);
end;
Думать и проверять влом, вдруг и так заработает.
← →
Dimka Maslov © (2011-11-16 19:05) [25]
> Empleado © (16.11.11 18:31) [22]
А пёс его знает. Могли и отменить. Юристы они такие юристы.
> А как Брадис вычислял свою таблицу
Скорее всего начертил окружность. (Есть такой прибор, называется циркуль). Потом взял транспортир (тоже есть такой прибор). Отложил на окружности градусы, а потом при помощи треугольника (и такой есть) опустил на горизонтальную ось из каждой точки перпендикуляр. Линейкой замерил высоту перпендикуляра и расстояние от центра окружности до точки пересечения оси с перпендикуляром, поделил одно число на другое, и получил искомые величины. Для промежуточных значений использовалась квадратичная интерполяция.
← →
aka (2011-11-16 19:06) [26]
> Kerk © (16.11.11 18:54) [24]
все правильно, извините я забыл про градус*Pi/180;
← →
Jeer © (2011-11-16 20:16) [27]
> > А как Брадис вычислял свою таблицу
>
> Скорее всего начертил окружность.
Да ладно.
Основой вычисления многих табличных функций в то время, служили приемы упрощения счета, изобретенные Непером, а именно - замена умножения и деления на сложение и вычитание через логарифмирование.
Таблицы логарифмов Непера и были первыми "калькуляторами".
Кроме того, допуская заранее заданную погрешность, можно выполнить вычисления, к примеру синуса, через тригонометрические преобразования, сводя угол к сумме углов для которых син/кос известны ( легко вычисляются ) и малому углу, для которого sin(x) = x, cos(x) = sqrt(1-x^2)
Далее - все тривиально.
Впрочем, для ТС это все лишнее - ему бы вспомнить азы школьной тригонометрии, а всяческие переходы на дискретность - это потом.
← →
Dimka Maslov © (2011-11-16 20:36) [28]
> Да ладно.
Ну ясен пень, что не так. Способов много.
← →
Dimka Maslov © (2011-11-16 20:36) [29]
> Да ладно.
Ну ясен пень, что не так. Способов много.
← →
Jeer © (2011-11-16 20:36) [30]Злостный оффтоп :)
"я считал их по копытам."
Уволился из армии штурман.
Вернулся в родной колхоз. Просит взять на работу.
Председатель его спрашивает:
- Что делать умеешь?
- Ну, считать хорошо умею.
- Правда хорошо? Ну, если правда, возьму счетоводом. Только сперва проверю.
Приводит он штурмана в коровник.
- Сколько тут коров?
- Тридцать две.
- Надо же! Правильно!
Выводит во двор:
- Сколько коров?
- Сто девять.
- Надо же! И как быстро сосчитал!
Выводит штурмана на луг:
- Сколько коров?
- Тысяча сто двенадцать.
- Слушай, я вообще не понимаю, как ты так быстро считаешь? Ведь двух секунд не прошло!
- Да всё просто. Посчитал количество сосков, разделил на четыре и взял поправку на яйца.
← →
Jeer © (2011-11-16 20:45) [31]"Стырено" (С)
Прочитал книгу «Таблицы…» некоего Брадиса.
Конечно, книга тяжёлая при всей своей малости объёма, я бы даже сказал: не для всех. К тому же несколько архаична. Теперь так не пишут. Увы, теперь ТАК не пишут! А как сейчас читают: наискосок, по диагонали, скорочтением с безмыслием. Каково бессмыслие написанного – таково и безмыслие чтения.
Но вдумчивый читатель «Tabulas» (или как там по латыни) всегда может найти глубину связей в главах «Синусы и косинусы». Ищущий развлечений запросто развлечётся в главе «Тангенсы и котангенсы». Жаждущий философии всегда найдёт для себя нечто завораживающее в «Десятичных логарифмах», а непостижимый экзистенционализм ждёт своего адепта в «Логарифмах натуральных».
Но не надо отчаиваться и тем, кто не удовлетворился приведёнными примерами, для "сборщиков клубнички" – глава «Секансы и косекансы». В стареньком издании, попавшем в мои руки, даже циферки напечатаны таким удивительно сексапильным шрифтом с хвостиками, что само по себе лицезрение какого-нибудь 69 страшно эротично.
Всё, буквально всё есть в этом универсуме: комикс и ржачка в «Арктангенсах», милая душещипательная сентиментальная грусть в «Простых числах…».
Нет, что ни говорите брадисовы «Таблицы» - книга на века. Можно услышать мнения, что в век компьютеров и калькуляторных прошивок в окружающих нас гаджетах «Таблицы» устарели, что их можно выбросить на помойку. Не верю! Достаточно взять в руки эту вечноживую книгу, приглядеться и выпустить в полёт свою безграничную фантазию из того убогого нечищеного стойла, в котором мы её держим…
Дерзайте – прочтите, и вам будет дано ПОНИМАНИЕ МИРА.
← →
Dimka Maslov © (2011-11-16 20:57) [32]
> Злостный оффтоп :)
Это ещё и не менее злостный боянъ :)
← →
Игорь Шевченко © (2011-11-16 23:46) [33]
> А как Брадис вычислял свою таблицу? Подбором или по формуле?
На форуме спрашивал
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.004 c