2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Движение по дуге
Сообщение29.01.2018, 01:37 
Можно представить вектор АС, представляем точку начала (Ax,Ay), точку конца (Cx,Cy)
$ angle = Atan_2(Cy-Ay,Cx-Ax)$ - угол между двумя точками
$ radius = 300$ - радиус
координаты третьей точки (Bx,By), которая отклоняется на radius под углом 45
$ Bx = (Ax+radius\cdot\cos(angle+45))$
$ By = (Ay+radius\cdot\sin(angle+45))$
$ b = true$ - логическая переменная, обозначает, что снаряд движется в одну сторону
$a = 1$ изначально равна единице. сохраняем ее.
Короче а - пропорция, текущий процент длины %, b - пропорция, текущий процент высоты % (причем" b" зависима от "a")

запускаем периодический таймер, где происходит движение
Код:
if b then //если движется в одну сторону, то вычитаем
   set a = a - 0.02 //каждым тиком таймера пересохраняем измененное значение "а"
   set b = 1 - a
else //иначе, если движется в обратную сторону, то прибавляем
   set a = a + 0.02 //каждым тиком таймера пересохраняем измененное значение "а"
   set b = 1 - a
endif

if a<0 and b then //если значение в первый раз становится меньше 0, то ...
   set b =false //сохраняем типа обозначаем, что снаряд теперь будет двигаться в другую сторону
   set Bx = (Ax+radius*Cos(angle-45)) //теперь здесь изменяют угол под 45 градусов, 45 не складываем как ранее, а прибавляем
   set By = (Ay+radius*Sin(angle-45))
endif

if a>1 and b == false then
   //уничтожаем таймер и очищаем остальное
endif

//А вся суть сводится к смещению точки (x,y), ниже вычисления очень напоминают квадрат суммы. по этим координатам смещается снаряд. Это движение по дуге, сделано не мной. Казалось бы все логично, даже объяснился сам как смог, но мне не понятно, откуда она взялась. как это можно представить движение на рисунке? Как-то не очень понятна эта формула
$x = Ax\cdot a^2 + Bx\cdot2ab +Cx\cdot b^2$
$y= Ay\cdot a^2 +By\cdot2ab +Cy\cdot b^2$
например точки ABC - прямоугольный треугольник. АВ - гипотенуза. А сам снаряд от точки А до В до конца не достигает, а оборачивает по дуге к цели. А достигнув точки С, оборачивается и движется назад.

 
 
 
 Posted automatically
Сообщение29.01.2018, 08:43 
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- не сформулирован предмет обсуждения;
- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);
- отсутствуют собственные содержательные попытки решения задач(и) или нет, неясно, поскольку неясно, какая задача решается.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group