![]() |
Создание случайной точки в определенных пределах
Здравствуйте ищу совета как создать случайную точку что бы расстояние от нее до другой точки не превышало определенную цифру.
|
Код AS3:
Ну, это для (0, 0) конечно; потом просто смещаете ее на координаты первой точки. |
А что может быть не так если выдает ошибку на эту строчку?
1067: Неявное приведение значения типа Function к несоответствующему типу Number. |
забыли скобочки круглые у Math.random()
Вот так правильно Цитата:
а для чего вам нужна такая случайная точка? Есть просто такая заумная штука как распределение случайной величины, так вот тут оно будет неравномерным, иначе говоря точки ближе к центру будут несколько плотнее чем к краям. Если вы хотите провести какой-то математический эксперимент то нужно чуть другую формулу, самым простым будет генерить точку в квадрате и если расстояние от неё до центра больше нужного радиуса, то пропускать и генерировать новую. Чтобы лучше прочувствовать это дело советую прочитать http://my-tribune.blogspot.com/2010/03/blog-post.html |
Это нужно для игры в которой случайным образом будит выбираться тип поведения персонажей и 1м из которых будит передвижение в определенных пределах в случайную точку. Конечно есть 1 нюанс... игра с перспективой и соответственно было бы неплохо эту математическую окружность уменьшить по Y
Добавлено через 1 час 27 минут Всем спасибо, вы мне очень помогли. |
Еще вариант который приходит в голову, без генерации лишних точек, это пересчитывать удаление от центра добавляя к нему (r - sqrt((r - s)^2)) таким образом компенсируя большую плотность в районе центра за счет того, что чем ближе к центру находится найденная точка на тем большую величину мы ее сместим от центра.
r - радиус окружности, s - произвольное смещение от центра так что 0 <= s <= r. |
Чтоб распределение по площади круга было равномерным (в центре не было больше точек, чем по краям):
Код AS3:
|
Вложений: 1
Вложение 28075
Код AS3:
|
| Часовой пояс GMT +4, время: 02:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.