Надеюсь, кто-то может помочь мне здесь, меня попросили написать код для сценария Lua для игры. Во-первых, я не Lua Scripter, и я вызывающе не математик.Создайте функцию для генерации случайных точек в параллелограмме
Что мне нужно сделать, это генерировать случайные точки в параллелограмме, поэтому со временем весь параллелограмм заполняется. Я играл со сценарием и имел некоторый успех с параллелограммом (прямоугольником), расположенным прямо вверх и вниз или под углом 90 градусов. Моя проблема возникает, когда параллелограмм вращается.
Как вы можете видеть на изображении, все становится еще хуже по координатам, исходящим из центра области карты, и параллелограмм может быть расположен в любом месте области карты. Сам параллелограмм определяется тремя парами координат: start_X и Start_Y, Height_X и Height_Y и, наконец, Width_X и Width_Y. Созданные случайные точки должны находиться в пределах этих координат независимо от положения или ориентации.
Map coordinates and example parallelogram
Пример координат являются ...
Start_X = 122,226 Start_Y = -523,541
Height_X = 144,113 Height_Y = -536,169
Width_X = 128,089 Width_Y = -513,825
В моем тестировании скриптов я уничтожил десятичные числа до 0,5, поскольку любое меньшее значение, по-видимому, не влияет на конечный результат. Также в реальном выражении ширина и высота начала могут быть в любой ориентации при окончательном использовании.
Есть ли кто-нибудь там с пациентами, чтобы объяснить, что мне нужно сделать, чтобы это работало, моя математика довольно простая, поэтому, пожалуйста, будьте осторожны.
Спасибо за чтение и в ожидании ответа. Ян
Привет, Питер, Спасибо за ваш ответ, но я не был благословлен математической головой при рождении, и я смущен с первыми двумя строками. Вы говорите, что a и b могут быть либо 0, либо 1, или мне нужно создать случайное число между значениями координат, например, между start_x и height_x. Честно говоря, я не получаю 0 <= a <= 1 бит, не могли бы вы объяснить. – Ian
Вам нужно сгенерировать случайное число для числа, которое может быть любым числом в диапазоне от 0.0 до 1.0 (например, 0.0 0.23.0.7 и т. Д.) Обычно для выполнения этой функции обычно используется стандартная функция, так как вы называете что-то вроде math.random() –