OK! This is like the third edit… I’ve deleted most of the code since it wasn’t helping. The problem is thus.
I’m going to assign dozens, maybe hundreds, of X and y coordinates inside a range of values through math.random(). The caveat is that the range must keep a distance from other X y values.
I’m scratching my head in scratchpad trying to figure out how to do this.
@xThomas here you go!
This uses a while loop to pick random places until it finds an empty spot. Each new object has to check the position of every other object, though, so higher numbers will take more time to finish
displayMode(FULLSCREEN)
function setup()
img = image(WIDTH,HEIGHT)
objects = {}
number = 100
maxDist = 50
for i = 1,number do
local x,y
local testDist = true
while testDist == true do
testDist = false
x,y = math.random(WIDTH),math.random(HEIGHT)
for ii,obj in pairs(objects) do
if vec2(x,y):dist(obj) < maxDist then testDist = true end
end
end
table.insert(objects,vec2(x,y))
setContext(img)
ellipse(x,y,maxDist)
setContext()
end
end
function draw()
background(40, 40, 50)
sprite(img,WIDTH/2,HEIGHT/2)
end
Currently modifying the code to initialize my class instead of ellipse
Edit: I am/will be rewriting my StarSystem class to utilize a table that contains all the x,y values and for every pair of those, it will draw a star. Similar to how each 3 vertices in a mesh draws a triangle. Your code is valuable for the X,y positions, and I guess I’ll use the image thing too.