Seite 1 von 1

VPython Grafik-Plot

Verfasst: Samstag 11. Mai 2013, 15:11
von WaldorfGuru
Hallo,

wir machen gerade einen kleinen Exkurs "Python" bzw. VPython. Meine Frage ist jetzt wie ich z.B. die Geschwindikgeit eines fallenden Objektes plotte. Ich würde gerne gleichzeitig, neben meiner Animation, den grafischen Verlauf der Geschwindigkeit sehen (Geschwindigkeit(y) gegen Zeit(x)).

Die Darstellung der Objekte mit physikalischen Eigenschaften ist weniger das problem.

"from visual.graph import..." hiernach hört mein Verständnis auf :K


hier ein einfaches Beispiel der Szene:

Code: Alles auswählen

from visual import*

sinker = sphere (radius=2)
sinker.vel = (0,0,0)
sinker.pos = (0,0,0)
g = -9.81
t = 0.0
dt = 0.1

while (1):
    rate (40)
    sinker.vel =(0.5*g)*(t**2)
    sinker.pos.y = sinker.vel
    print sinker.vel
    t = t+dt
Danke schon mal

Re: VPython Grafik-Plot

Verfasst: Samstag 11. Mai 2013, 15:46
von xeike
Ohne jetzt das visual-Modul näher zu kennen, vermute ich, dass sinker.velocity immer ein Vektor bedeutet aus drei Komponenten, nämlich vx, vy, und vz. Gleiches gilt für sinker.pos.

Wenn du nun einem solchen Vektor eine schlichte Zahl zuweist, nimmt Python das gerne an, es ist aber etwas anderes, als du es dir denkst. Das Ding wird dann eine Zahl.

Schau doch mal unter

http://www.vpython.org/contents/bounce_example.html

Da gibt es ein Beispiel.

Xe

Re: VPython Grafik-Plot

Verfasst: Samstag 11. Mai 2013, 16:30
von WaldorfGuru
hm ja die Seite ist mir bekannt und hat auch eine Erklärung für "Graphs" http://www.vpython.org/contents/docs/visual/graph.html (das was mich interessiert).

Leider kann ich deren Beispeile nicht auf mein simples Programm anwenden... versteh ich halt einfach nicht :lol: hab sonst nicht viel mit Informatik zutun

Re: VPython Grafik-Plot

Verfasst: Samstag 11. Mai 2013, 17:54
von xeike
WaldorfGuru hat geschrieben: Leider kann ich deren Beispeile nicht auf mein simples Programm anwenden... versteh ich halt einfach nicht :lol: hab sonst nicht viel mit Informatik zutun
Also, allgemein ist ja die neue Y-Komponente folgendermassen zu berechnen: Y(t) ist Y_alt + irgendwas mit Geschwindigkeit + irgendwas mit Beschleunigung.

Wenn du für pos und vel drei Komponenten hast, dann kannst du dir eine davon einfach als y-Komponente definieren und die anderen in Ruhe lassen. Oder du berechnest nur die Y-Komponente, dann brauchst du die anderen erst gar nicht zu definieren.

Der Term 0,5 * g * t**2 beschreibt übrigens keine Geschwindigkeit.

Xe