Проблема с преобразованием энергии между горизонтально скользящими объектами в P5.js с использованием формул сохранения и движения? - PullRequest
0 голосов
/ 04 ноября 2019

Я довольно плохо знаком с физикой кодирования (и довольно плохо разбираюсь в кодировании, но мне это нравится), поэтому я решил впервые попробовать что-то простое: https://www.maths.tcd.ie/~lebed/Galperin.%20Playing%20pool%20with%20pi.pdf

Я обнаружил ссылку изэто видео:

https://www.youtube.com/watch?v=jsYwFizhncE

Я пытался воссоздать этот вид движения (если они не помогают мне, точные цифры для меня не имеют значения, только движение),в P5.js, и я подошел очень близко, но случайно при столкновении все ломается, и скорости сходят с ума.

вот ужасно короткий «псевдокод» о том, как я пытаюсь это сделать: (это главныйчасть, в которой я борюсь, так что мне не нужен мой настоящий код)

>>>if box2 position < box1 position:  //if they overlap(/collide)
>>>   change velocity of box 1 depending on the kinetic energy and momentum of box2
>>>   change velocity of box 2 depending on the kinetic energy and momentum of box1
>>>If box1 position < 0: //If it hits wall
>>>   box1 velocity = box1 velocity * -1

Я не знаю, как сохранить полную кинетическую энергию в системе, эквивалентную формуле сохранения кинетической энергии (/ константаформулы)

keCons_Const=(0.5*m1*(velocity1)^2)+(0.5*m2*(velocity2)^2);

А также аналогично сохранению импульса:

momentCons_Const=(m1*velocity1)+(m2*velocity2);

Основная причина, по которой я думаю, что я застреваю с этим, заключается в том, что я не знаю, какустановить числа скорости вctual "m / s", это отбрасывает меня, как в моем коде, который я использую:

  x2 = x2 + velocity2; //box2 v & also holds the initial velocity
  x1 = x1 + velocity1; //box1 v

, поэтому я не могу действительно оглянуться на видео, связанное для справки и посмотреть, получаю ли я соответствующийзначения

Я, однако, знаю, что две скорости нужно менять в зависимости от дроби, вероятно, вот так:

что-то здесь / keCons_Const

Если возможно, пожалуйста, не делайте все для меня, есть вещи, которые я смогу сделать, когда выяснятся такие вещи, как скорость. Спасибо!

Изображение моего экрана (только что понял, что можно добавлять изображения):

...