Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>
Ответить с цитированием
  #32 (permalink)  
Старый 21.12.2014, 21:06
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

nerv_,
Как найти все x между x1 и x2?
и с y тоже самое.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #33 (permalink)  
Старый 21.12.2014, 21:21
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Gozar
Как найти все x между x1 и x2?
от 0 до 1 бесконечное количество точек

Можно задать неравенством / множеством. Но тебе данные случаи, как я понял, не нужны.

Скорее всего ты поставил задачу неправильно, вследствии чего можешь найти решение. Попробуй сформулировать задачу в более общем виде.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #34 (permalink)  
Старый 21.12.2014, 21:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

на всякий случай случайный ... но медленнее(чуть) и конечно менее случайный (зато свой random, не использует встроенный метод Math.random)

http://chancejs.com/
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
 <script type="text/javascript" src="http://chancejs.com/chance.js"></script>
<script> var time = new Date();
  var arr = [];
  for (var i=0; i<15000; i++)  {arr[i]=chance.integer({min: 1, max: 360})}
   alert((new Date).getTime() - time.getTime()); //10ms на генерацию 15000 вариантов

for (var i=0; i<arr.length; i++)  {document.write(arr[i]+" ")}
</script>
</body>

</html>

Последний раз редактировалось рони, 21.12.2014 в 21:53.
Ответить с цитированием
  #35 (permalink)  
Старый 21.12.2014, 22:18
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от nerv_
Скорее всего ты поставил задачу неправильно, вследствии чего можешь найти решение. Попробуй сформулировать задачу в более общем виде.
_____
2 страницы назад задачу решили и даже в 2х практически равнозначных по скорости вариантах. Один алгоритм я переписал с java, а второй подсказал JsLoveR, за что ему отдельное спасибо!

Если хочешь могу написать, что нужно найти не все точки прямой, а координаты всех точек отрезка прямой на плоскости. Хотя я думал что если canvas то должно быть понятно, что на плоскости. Хотя я уже подумываю о нахождении точек кривой безье
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #36 (permalink)  
Старый 21.12.2014, 22:24
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Gozar
Если хочешь могу написать, что нужно найти не все точки прямой, а координаты всех точек отрезка прямой на плоскости.
зависит от точности... вообще - их бесконечно много. квантовать как будем?)

Сообщение от nerv_
от 0 до 1 бесконечное количество точек
запахло матаном
Ответить с цитированием
  #37 (permalink)  
Старый 21.12.2014, 22:29
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от melky
квантовать как будем?)
попиксельно. canvas значит растр, значит попиксельно. чего здесь бесконечно много искать?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #38 (permalink)  
Старый 21.12.2014, 23:53
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Gozar
попиксельно. canvas значит растр, значит попиксельно. чего здесь бесконечно много искать?
ну, как бы scale() ...

Сообщение от Gozar
хотя я думал что если canvas то должно быть понятно, что на плоскости
Понятно было из координат. У канвы есть 3d если что
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #39 (permalink)  
Старый 21.12.2014, 23:59
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от nerv_
У канвы есть 3d если что
Сообщение от Gozar
Как получить все точки отрезка прямой (на canvas)?
Известно x1, y1, x2, y2
В условии задачи нет z1, z2, если что
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #40 (permalink)  
Старый 26.12.2014, 04:15
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Любая метрическая система делит что-то на секции с определнной погрешностью.
В нашем случае секции - это пиксели. Например прямая длиной 137px имеет 137 точек.

Gozar

x2 - x1 = x длина первого катета
y2 - y1 = y длина второго катета

Квадрат гипотинузы равен сумме квадратов катетов...
Если хочется получить кординаты какой то точки на гипотинузе то составляй тройную пропорцию.


Надеюсь я правильно понял вопрос
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 26.12.2014 в 04:17.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по replace. Как заменить все точки в строке? Pluto Общие вопросы Javascript 14 21.04.2017 12:32
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Получить все элементы YISHIMITSY Events/DOM/Window 6 19.02.2010 15:44
Получить все инпуты по заданоой маске nws Общие вопросы Javascript 2 09.09.2009 01:46
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37