Показать сообщение отдельно
  #31 (permalink)  
Старый 21.12.2014, 21:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от nerv_
Находишь длину (модуль) вектора: sqrt(x^2 + y^2)
Сообщение от рони
var time = Math.sqrt(x*x + y*y)|0, // больше точек, чем это число на линии нет

генератор цепочек случайных данных
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>
<body>
<script>   var time = new Date();
function rund(e, f) {
        function d(b) {
            for (var a = b.length - 1; 0 < a; a--) {
                var c = Math.floor(Math.random() * (a + 1)),
                    d = b[c];
                    b[c] = b[a];
                    b[a] = d
            }
            return b
        }
        var a = [],
            c = [];
        for (i = 0; i < e; i++) a[i] = i + f;
        d(a);
        return function () {
            var b = a.shift();
            c.push(b);
            1 == a.length && (d(c), a = a.concat(c), c = []);
            return b
        }
    };

 var len = 360,
     min = 1,
     z = rund(len,min),
     i;

 var arr = [];
 for (i = 0; i < 15000; i++) { //можно любой длины равномерность случайности сохранится или просто вместо random использовать z()
   arr[i]= z()

 }
 alert((new Date).getTime() - time.getTime()); //10ms на генерацию 15000 вариантов

for (var i=0; i<arr.length; i++)  {document.write(arr[i]+" ")}
  //для примера

</script>
</body>
</html>
Ответить с цитированием