Как создать случайный путь для мяча с переменной скоростью? - PullRequest
0 голосов
/ 19 декабря 2018

Я работаю над проектом внешнего интерфейса с angular 6, d3.js и svg.Одной из особенностей является то, что на экране есть круг (на самом деле эллипс, но для простоты круг).В этом круге есть шар, который движется по кругу.Мяч больше всего попадает в определенную точку круга с переменной скоростью.

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

private createRandomPointInEllipse() {
var svgRoom = document.getElementById('room').getBoundingClientRect();
var width = svgRoom.width;
var height = svgRoom.height;

if (width < height) { //width is range
  this.randomPointX = width * Math.sqrt(Math.random()) * Math.cos(Math.random() * 2 * Math.PI);
  this.randomPointY = width * Math.sqrt(Math.random()) * Math.sin(Math.random() * 2 * Math.PI);
} else { // height is range
  this.randomPointX = height * Math.sqrt(Math.random()) * Math.cos(Math.random() * 2 * Math.PI);
  this.randomPointY = height * Math.sqrt(Math.random()) * Math.sin(Math.random() * 2 * Math.PI);
}

}

позже точки присваиваются другим приложением, так что этот круг на данный момент не является проблемой.

...