хорошо, я пытаюсь запустить игру в пул на c # / java.
start
= задняя часть кия пула (x, y)
end
= передняя часть кия бассейна (x, y)
circles
= список шаров (x, y, r)
Так что каждый раз, когда вы двигаете мышью, я обновляю start
, end
, а затем перебираю `круги, проверяя, пересекается ли она. Тогда это моя проблема, мне нужно выяснить, что произойдет с мячом, если я ударю по нему в точке пересечения (будет ли он подниматься вниз).
Как я это сделаю. Я посмотрел на некоторые примеры в Google, но смог найти только пример, где они сделали это с вектором и так над моей головой ....
Моей первой мыслью было получить угол кия бассейна и из средней точки круга нарисовать линию под тем же углом, но по какой-то причине это неправильно. Это может быть моя GetEnd
функция
public Point GetEnd(Point start, double angle, int len)
{
double y = start.Y + (len * Math.Sin(angle));
double x = start.X + (len * Math.Cos(angle));
return new Point((int)x, (int)y);
}