Определение относительных скоростей при ударе? - PullRequest
0 голосов
/ 06 января 2011

Я пытаюсь найти способ определения относительной скорости тела, сталкивающегося с другим в 2D-среде.

Например, если одно тело движется в (1,0), а другое, движущееся за ним, сталкивается с ним сзади в (2,0), скорость удара относительно первого тела была (1,0).

Мне нужен метод, который использует две скорости: одну скорость, относящуюся к телу, по которому измеряется скорость, а другую - для ударного тела и возвращающую относительную скорость.

Ответы [ 2 ]

7 голосов
/ 06 января 2011

еу?Конечно, это должен быть просто компонент 1 вектора 1 - компонент 1 вектора 2 и компонент 2 вектора 1 - компонент 2 вектора 2?Напишите метод

vector v3 = new vector(v1.x-v2.x, v1.y-v2.y);

На самом деле, структура Vector2 имеет метод вычитания, который дает такой результат: вычитание vector2

1 голос
/ 06 января 2011

Я не знаю, что уже есть в C #, но вы выиграете от наличия библиотеки векторов, которая включает в себя физику.Простые векторные библиотеки будут определять относительные скорости, но если вы занимаетесь физикой (например, прыгающие частицы), вам может потребоваться учитывать массы частиц и сохранять импульс (например, что происходит, когда две равные массы имеют скорость (1,2) и (-1,3) бить друг друга. В этом случае вам понадобится класс, который моделирует массу, положение и скорость каждой частицы. (Это то, что делается, например, для моделирования материала, состоящего из атомов)

...