Я работаю над симуляцией, которая требует произвольного большого количества объектов (100 000+), которые помещаются произвольно вдоль дорожки, которая имеет произвольную форму.Случайное размещение объектов на дорожке
В своей простейшей реализации я начал использовать C++ и написал очень наивную функцию для размещения одного узла вдоль Track
. В этом случае Track
горизонтальная линия с размерами 25 х 500. node
состоит только из X
/Y
координат и имеет размеры 5 х 5, так что я написал что-то вроде ...
Node.x = rand()
Node.y = rand()
while (Node.x is not on the Track)
Node.x = rand()
while (Node.y is not on the Track)
Node.y = rand()
Этот очень наивный подход иллюстрирует то, что мне нужно: большое количество nodes
, которое должно быть создано в случайных местах вдоль track
. Я также пробовал иметь x
и y
быть случайными числами в диапазоне track
, но track
будет случайным, сложным, взаимосвязанным рядом строк, таких как фигура-8, линия прокрутки, небольшой квадрат, серия «острова», или все поле. Узел не может выполнить экземпляр вне дорожки.
Какие существующие алгоритмы/методы можно использовать для создания этих узлов на дорожке?
Как определяется трек? Что такое элементы трека? Как определяются элементы? – Dialecticus
Трек - это область на координатной плоскости, на которой должны быть созданы узлы. В другом месте недействительно. Представьте себе большой черный квадрат с толстой белой линией по середине. Узлы могут создавать только поверх этой белой строки. Но эта белая строка может быть словом «LINE», написанным в курсивном, и все узлы должны появляться на этом. – MattDavBen
Как определяется «площадь на координатной плоскости»? Вы упомянули что-то «сверху». Я этого не понимаю. Наблюдается ли трек сверху или сбоку? Нам нужно иметь четкое представление о том, что такое «дорожка» в коде. – Dialecticus