Jump to content

Steigung durch "Messzug" messen


Empfohlene Beiträge

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

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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----------------------------------------------------

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...