Jump to content

Recommended Posts

Posted

Hallo,

es ist manchmal praktisch die Steigung dynamisch zu messen, d.h. während des Fahren (oder Stehens).
Man nehme zwei Loks $("Messlok-1") und $("Messlok-2), zwei,drei Wagen dazwischen - fertig ist der Messzug.
Die Messung wird durch ein kleines Lua Skript, das durch einen timer alle Sekunde aufgerufen wird, ständig ausgegeben. Der Messzug kann stehen oder fahren.

--[[-------------------------------------------------------lua skript
  Timer läuft ab
  die strecke "l" zwischen zwei lok-positionen x1,y1 x2,y2 über den Pythagoras Wurzel(x²+y²) ermitteln, das ist hinreichend genau
  und verfälscht nur in den kurven minimal
  die höhe "z" über die länge "l" ergibt die steigung in prozent
--]]

if i==nil then i=0 end; i=i+1 -- alive counter

local z= math.abs($("Messlok-1").transformation.position.z - $("Messlok-2").transformation.position.z)
local x= math.abs($("Messlok-1").transformation.position.x - $("Messlok-2").transformation.position.x)
local y= math.abs($("Messlok-1").transformation.position.y - $("Messlok-2").transformation.position.y)

l= math.sqrt(x*x+y*y)

print(i,"x= "..x,"z= "..z,"%= "..z/(l/100),"1%= "..(l/100))

-- ende lua skript----------------------------------------------------

Grüße vom Liftboy

 

Posted

So ist Code besser lesbar:

--[[-------------------------------------------------------lua skript
  Timer läuft ab
  die strecke "l" zwischen zwei lok-positionen x1,y1 x2,y2 über den Pythagoras Wurzel(x²+y²) ermitteln, das ist hinreichend genau
  und verfälscht nur in den kurven minimal
  die höhe "z" über die länge "l" ergibt die steigung in prozent
--]]

if i==nil then i=0 end; i=i+1 -- alive counter

local z= math.abs($("Messlok-1").transformation.position.z - $("Messlok-2").transformation.position.z)
local x= math.abs($("Messlok-1").transformation.position.x - $("Messlok-2").transformation.position.x)
local y= math.abs($("Messlok-1").transformation.position.y - $("Messlok-2").transformation.position.y)

l= math.sqrt(x*x+y*y)

print(i,"x= "..x,"z= "..z,"%= "..z/(l/100),"1%= "..(l/100))

-- ende lua skript----------------------------------------------------

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...