LabVIEWForum.de
Kugel bewegen zwischen zwei Balken - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Kugel bewegen zwischen zwei Balken (/Thread-Kugel-bewegen-zwischen-zwei-Balken)

Seiten: 1 2


Kugel bewegen zwischen zwei Balken - Kvasir - 11.02.2007 19:03

Wenn du es auf 8.0 runterspeicherst, dann seh ich gerne mal rein.

Gruß


Kugel bewegen zwischen zwei Balken - lynx - 11.02.2007 19:34

Hallo Adrian,

habe mir vorhin mal Dein VI angesehen.

zum Algorithmus des Abprallens von den Wänden, den Balken, etc:
Die Bewegung der Kugel lässt sich in zwei überlagerte Bewegungen aufteilen: die erste in x-Richtung, die zweite in y-Richtung.
Solange nun die Gegenstände, mit denen die Kugel kollidieren soll, immer als glatt angenommen werden können und zum zweiten immer entweder senkrecht in x- oder y-Richtung stehen, ist die Reflexion recht einfach hinzubekommen:
Je nachdem, in welcher Richtung die Kugel gegen ein Hindernis stößt (x- oder y), wird das Vorzeichen der Verschiebung in die entsprechende Richtung umgekehrt. d.h. wenn die Kugel gegen das linke Paddel mit der Geschwindigkeit
(-2,2) fliegt (135°), so wird sie nach der Reflexion den Vektor (2,2) (45°) besitzen. Analog geht dies an den Wänden des Kastens.
Übler wird es allerdings, wenn die Oberflächen gekrümmt sind, denn dann muss die Tangente im Auftreffpunkt berechnet werden und an dieser die Reflexion durchgeführt werden.

Zum Ansteuern der Paddel:
Du kannst für die beiden Paddel je zwei Knöpfe auf dem Front Panel erstellen mit der Schalt-Logik "Latch when released". An diese hängst Du dann über Advanced / Key Navigation die Tasten, mit denen Du sie später steuern willst. Die Knöpfe werden dann in der vorhandenen Event-Struktur ausgewertet (xyz: Value Change). Dort wird dann eine Translation des entsprechenden Paddels durchgeführt.
Die beiden While-Schleifen mit dem Abfragen der Tastatur kannst Du dann in diesem Fall löschen.

Dass nichts im Scene Window angezeigt wird, liegt daran, dass Du die Ausgabe auf ein Render-Window umleitest.Tongue (Warum es nicht erscheint, habe ich nicht erforscht). Ändere die Ausgabe in "Scene Window" und lege dies als Default fest, dann sollte was im Fenster erscheinen.

Ach ja und noch ein kleiner Tipp:
Das Erzeugen der beiden Paddel kannst Du leicht in ein Sub-VI packen, das Du dann nur noch zweimal hintereinander aufrufst.

lynx


Kugel bewegen zwischen zwei Balken - IchSelbst - 11.02.2007 21:21

Zitat:(Warum es nicht erscheint, habe ich nicht erforscht).
In die beiden While-Schleifen mit der "Tastatus-Abfrage" gehört eine Wartezeit hinein. Im Übrigen reicht auch eine While-Schleife - wenn überhaupt.


Kugel bewegen zwischen zwei Balken - Adrian Bader - 12.02.2007 23:44

Hallo Kvasir

Wie kann ich denn die Version 8.2 in 8.0 umspeichern?

Gruss

Adrian

Wenn du es auf 8.0 runterspeicherst, dann seh ich gerne mal rein.


Kugel bewegen zwischen zwei Balken - A.Berndsen - 13.02.2007 08:23

Hallo Adrian,

Menü "Datei" -> "Für vorige Version speichern ..."

Grüßle
Andreas


Kugel bewegen zwischen zwei Balken - Adrian Bader - 13.02.2007 23:20

Hallo Kvasir

Habe das LabVIEW Projekt auf Version 8.0 gespeichert, damit du mal reinschauen kannst.

Leider konnte die Version 8.0 die 3D Picture Control nicht übernehmen, da sie im 8.0 wohl noch nicht existierte.

Gruss

Adrian







Wenn du es auf 8.0 runterspeicherst, dann seh ich gerne mal rein.

Gruß