Spel16: System av Kroppar och Fjädrar

9766bd2bd08ecf36ae94883de7a0cc9d                                   Titta på Andromeda-Milky Way Collision

Vi simulerar ett system av kroppar och fjädrar, där varje kropp är förenad med varje annan kropp med en attraktiv fjäder, genom att tidsstega Newtons rörelseekvationer. Jämför Mechanics1 på App Store.

Template 1: (Följ dynamiken)

— System av Kroppar och fjädrar

function setup()
print(“System av kroppar och fjädrar”)

print(“Touch för att skapa kroppar och fjädrar”)

links = {}
linkvels = {}
dt = 0.01
force = vec2(0,0)
N=0
F=0.1
end

function draw()
background(40, 40, 50)
for i,link in pairs(links) do
force=vec2(0,0)
for j,link in pairs(links) do
force = force + (links[j]-links[i])*F
stroke(0, 47, 255, 255)
strokeWidth(4)
line(links[i].x,links[i].y,links[j].x,links[j].y)
end
linkvels[i]=linkvels[i]+force*dt
links[i]=links[i]+linkvels[i]*dt
fill(255, 42, 0, 255)
strokeWidth(0)
ellipse(links[i].x,links[i].y,40)
end
end

function touched(touch)
if touch.state == BEGAN then
N=N+1
table.insert(links, makeLink(touch.x,touch.y))
table.insert(linkvels, makeLinkVel())
end
end

function makeLink(x,y)
local link=vec2()
link.x = x
link.y = y
return link
end

function makeLinkVel()
local linkvel=vec2(0,0)
return linkvel
end

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s