changes to how T is handled

This commit is contained in:
UndeadMaelys 2022-05-16 16:51:49 +02:00
parent 52813e4ef6
commit 6afc7dc5e3

View File

@ -9,43 +9,39 @@ function love.load()
-- simulation variables -- simulation variables
CONST_G = 39.5 CONST_G = 39.5
TIME_SPEED = 0.05
CONST_S = 0.15 CONST_S = 0.15
T = 0 T = 0
TIME_SPEED = 0.25
require "class" require "class"
require "body" require "body"
newBody(0,0,300,{1,0,0}) newBody(0,0,300,{1,0,0})
newBody(0,0.1,100,{0,1,0}) newBody(0,100,100,{0,1,0})
newBody(0.1,0,200,{0,0,1}) newBody(100,0,200,{0,0,1})
newBody(0.1,0.1,50,{1,1,0}) newBody(100,100,50,{1,1,0})
newBody(0.1,0.2,250,{1,0,1}) newBody(100,200,250,{1,0,1})
newBody(0.2,0.1,150,{0,1,1}) newBody(200,100,150,{0,1,1})
end end
function love.update(dt) function love.update(dt)
T = T + dt * TIME_SPEED
T = T + dt UpdateBodiesAcceleration()
while T > TIME_SPEED do UpdateBodiesVelocity(dt * TIME_SPEED)
UpdateBodiesAcceleration() UpdateBodiesPosition(dt * TIME_SPEED)
UpdateBodiesVelocity(dt)
UpdateBodiesPosition(dt)
T = T - TIME_SPEED
end
end end
function love.draw() function love.draw()
-- draw bodies -- draw bodies
for n, body in pairs(BodyList) do for n, body in pairs(BodyList) do
love.graphics.setColor(body.color[1],body.color[2],body.color[3]) love.graphics.setColor(body.color[1],body.color[2],body.color[3])
love.graphics.circle("line",body.x+SCREEN_WIDTH/2,body.y+SCREEN_HEIGHT/2,10) love.graphics.circle("line",body.x+SCREEN_WIDTH/2,body.y+SCREEN_HEIGHT/2,math.sqrt(body.mass))
end end
-- draw info -- draw info
love.graphics.setColor(1,1,1) love.graphics.setColor(1,1,1)
love.graphics.print(T.."/"..TIME_SPEED) love.graphics.print(T)
for n, body in pairs(BodyList) do for n, body in pairs(BodyList) do
love.graphics.print("mass: "..body.mass.." x,y: "..body.x..", "..body.y,0,15*(n)) love.graphics.print("mass: "..body.mass.." x,y: "..body.x..", "..body.y,0,15*(n))
end end