Gelenke (Constraints)

Wie der Name schon sagt, werden durch Gelenke die möglichen Bewegungen der Entities beschränkt. Standardmäßig sind alle Physik-Entities so beschränkt, dass sie keine Levelblöcke oder andere Entities durchdringen können. Weitere Beschränkungen sind möglich und können auf ein oder mehrere Entities angewendet werden. Die normale Prozedur, Modelle mit einem Gelenk zu verbinden, ist:

    1. Aufruf der Anweisung phcon_add mit einer oder mehreren Entity. Die zurückgegebe ID Nummer muss gespeichert werden.
    2. Abhängig von der Art des Gelenks müssen phcon_setparams1 und phcon_setparams2 aufgerufen werden.
    3. Sollen zwei verbundene Körper bewegt werden, können Sie einen Motor durch Aufruf von phcon_setmotor hinzufügen.
    4. Wird das Gelenk nicht mehr benötigt, löschen Sie diese durch Aufruf von phcon_remove.

Wollen Sie zwei Objekte mit phcon_add verbinden, vergewissern Sie sich, das sich diese in der richtigen Position befinden und keine anderen Entities durchdrungen werden. Falls Sie sich doch ein bisschen durchdringen, setzen Sie diese mit phent_setgroup beide auf die gleiche Group ID. Die folgende Liste enthält alle derzeit verfügbaren Constraints und deren benötigte Parameter. Werfen Sie dazu auch einen Blick auf die phcon_setparams1 und phcon_setparams2 Funktionen.

PH_HINGE

Typ:

hinge (10K)

Beschreibung : Bei einem Scharnier haben zwei Entities dieselbe Rotationsachse und stehen in einem festen Abstand zu dieser Achse. Der Ankerpunkt und die Rotationsachse müssen festgelegt werden. Der Abstand der Entities zu dieser Achse wird beim Erstellen dieser Beschränkung festgelegt. Deswegen achten Sie darauf, dass sich die Entities an der richtigen Position befinden, bevor Sie PH_HINGE hinzufügen. Die anfängliche Ausrichtung wird als Winkel von 0° angenommen. Wenn Sie beide Entities um 90° drehen und die Winkelbegrenzung auf (0,0), dann wird die anfängliche Ausrichtung beibehalten.
Parameter 1 : Ankerpunkt
Parameter 2 : Drehachse, z.B. (0,0,1)
Parameter 3: nullvector
Parameter 4 : Erlaubte Winkel, z.B. (-45, 90 , 0) setzt die untere Grenze auf -45° und die obere auf 90°. Mit (-360, 360, 0) werden alle Winkelbeschränkungen aufgehoben.
Parameter 5 : nullvector
Parameter 6 : nullvector
Motor 1 : Legt die gewünschte Winkelgeschwindigkeit und das maximale Drehmoment, das diese Geschwindigkeit erreichen darf, fest. Z.B. (10, 50, 0) setzt die gewünschte Winkelgeschwindigkeit auf 10 Hz und das maximale Drehmoment auf 50.000 Nm.

PH_BALL

Typ:

ball (10K)

Beschreibung : Entities rotieren frei um den Ankerpunkt oder Verbindung zu einer Kugel.
Parameter 1 : Ankerpunkt
Parameter 2 : nullvector
Parameter 3: nullvector
Parameter 4 : nullvector
Parameter 5 : nullvector
Parameter 6 : nullvector
Motor 1 : not available

PH_WHEEL

Typ:

wheel (10K)

Beschreibung : Diese Beschränkung begrenzt die Objektbewegung um zwei Achsen. Wie der Name schon andeutet, kann diese Beschränkung dazu verwendet werden, Räder eines Fahrzeuges zu simulieren. Es kann aber auch für andere Objekte, wie z.B. einer Windmühle verwendet werden.
Parameter 1 : Ankerpunkt
Parameter 2 : Radachse 1 relativ zu Entity 1, z.B. (0,0,1)
Parameter 3: Radachse 2 relativ zu Entity 2, z.B. (1,0,0)
Parameter 4 : Erlaubte Winkel um Radachse 1, z.B. (-45, 90 , 0) setzt die untere Grenze auf -45° und die obere auf 90°. Mit (-360, 360, 0) werden alle Winkelbeschränkungen aufgehoben.
Parameter 5 : nullvector
Parameter 6 : nullvector oder Stossdämpferkonstante in Bereich 0..100000, z.B. (90000,100,0)
Motor 1 : Legt die gewünschte Rotationsgeschwindigkeit um Radachse 1 und das maximal bei dieser Geschwindigkeit erlaubte Drehmoment fest. Z.B. (10,50,0) setzt die gewünschte Rotationsgeschwindigkeit auf 10Hz bei einem maximalen Drehmoment von 50.000 Nm.
Motor 2 : Legt die gewünschte Rotationsgeschwindigkeit um Radachse 2 und das maximal bei dieser Geschwindigkeit erlaubte Drehmoment fest. Z.B. (10,50,0) setzt die gewünschte Rotationsgeschwindigkeit auf 10Hz bei einem maximalen Drehmoment von 50.000 Nm.

PH_SLIDER

Type:

slider (10K)

Beschreibung : Die Entities dürfen sich entlang der Verschiebungsachse drehen oder sich an dieser entlangbewegen. Andere Bewegungen sind blockiert.
Parameter 1 : Verschiebungsachse, z.B. (0,0,1)
Parameter 2 : nullvector
Parameter 3: nullvector
Parameter 4 : Erlaubter Abstand von der Ursprungsposition, z.B. (-100,1000,0). Dies erlaubt der Entity eine Verschiebung um 1000 Quants in die eine und 100 Quants in die andere Richtung. Dies ergibt einen Verschiebebereich von 1100 Quants.
Parameter 5 : nullvector
Parameter 6 : nullvector
Motor 1 : Legt die gewünschte lineare Geschwindigkeit und die maximale Kraft, um diese zu erreichen, fest. Negative Geschwindigkeiten drehen die Richtung um. Z.B. gibt (10, 50, 0) eine gewünschte Geschwindigkeit von 10 Quants pro Sekunde bei einer maximalen Kraft von 50.000 N an.

Siehe auch:

Physik-Engine

► Aktuelle Version Online