Создать NICE (Случайный) путь между 2 точками X и Y - PullRequest
0 голосов
/ 04 декабря 2018

Использование: Javascript, kinetic.js на HTML5 Canvas

Привет

Я много раз искал и проверял другие предложения, которые нашел, но ни одно из них мне не помогло.

Я пытаюсь создать массив из x и y, содержащий объекты, примерно такие:

{x:695 , y:363},{x:774 , y:609},{x:654 , y:42},{x:991 , y:213},{x:788 , y:172}

Я хочу нарисовать эти точки (около 70 - 100) на холсте и нанести на карту линиюмежду ними.Мои точки имеют определенную начальную точку и конечную точку, и то, что я имею в виду в названии «NICE», выглядит примерно так:

Map with tracker canvas

Как вы видите поизображение (созданное с помощью определения точек), линия волнистая и не пересекающаяся, это то, что я имею в виду под nice!

Я не хочу создавать просто прямой путь.

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

not looking pretty

Вот последняя попытка:

var path;

  while (count) {
   randomx = Math.floor(Math.random() * 1280) + 0;  
   randomy = Math.floor(Math.random() * 720) + 0;

  obj = []
  obj['x']= randomx;
  obj['y']= randomy;

  path.push(obj);
  count--;
  }

  function custom_compare (a,b) {
    return a.value - b.value;
  }

  path.sort(custom_compare).reverse();

  obj = []
  obj['x']= 486;
  obj['y']= 54;
  path.push(obj);

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

Если кто-нибудь может посоветоватьмне, как лучше всего создать этот путь, было бы очень полезно

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...