VRML -was läuft schief in der Kurve- ?

Hallo Zusammen,

ich hoffe mir kann hier jemand im Zusammenhang mit Matlab und VRML helfen.
Ich habe eine Objekt, dass sich auf eine Kreisbahn begeben soll.
Dazu habe ich auch die Formel derart abgeändert, dass es in meinen Raum passt:

for i=pi:-0.05:frowning:pi/2);
% fts.translation=[1 0 0];
fts.translation=[-cos(i) 0 2*sin(i)+9.15];
pause(0.5);
fts.rotation=[0 1 0 i];
pause(0.5);
end;

Jedoch bewegt sich das Objekt nicht gleichmäßig durch den Raum bzw. durch die Kurve, sondern etwas „verhalten“.
Ich habe schon einiges probiert, komme jedoch nicht wirklich weiter :frowning:

Gruß,
Marco

Auch hallo.

Hallo Zusammen,

ich hoffe mir kann hier jemand im Zusammenhang mit Matlab und
VRML helfen.

VRML war einmal, Matlab vielleicht (FreeMat-gewöhnt :wink: )

Ich habe eine Objekt, dass sich auf eine Kreisbahn begeben
soll.
Dazu habe ich auch die Formel derart abgeändert, dass es in
meinen Raum passt:

for i=pi:-0.05:frowning:pi/2);
% fts.translation=[1 0 0];
fts.translation=[-cos(i) 0 2*sin(i)+9.15];
pause(0.5);

pause(0.5) mal verringert auf z.B. pause (0.1) ?

fts.rotation=[0 1 0 i];

Homogene Koordinaten. Müsste man das nicht auch bei fts.translation… in Form von 4 Parametern würdigen ?

pause(0.5);
end;

Jedoch bewegt sich das Objekt nicht gleichmäßig durch den Raum
bzw. durch die Kurve, sondern etwas „verhalten“.
Ich habe schon einiges probiert, komme jedoch nicht wirklich
weiter :frowning:

…und was waren die Fehlschläge ?

Das als Laienansicht :wink:

HTH
mfg M.L.

Auch hallo.

Hallo Zusammen,

ich hoffe mir kann hier jemand im Zusammenhang mit Matlab und
VRML helfen.

VRML war einmal, Matlab vielleicht (FreeMat-gewöhnt :wink: )

Ich habe eine Objekt, dass sich auf eine Kreisbahn begeben
soll.
Dazu habe ich auch die Formel derart abgeändert, dass es in
meinen Raum passt:

for i=pi:-0.05:frowning:pi/2);
% fts.translation=[1 0 0];
fts.translation=[-cos(i) 0 2*sin(i)+9.15];
pause(0.5);

pause(0.5) mal verringert auf z.B. pause (0.1) ?

Ja, habe ich jetzt gerade mal ausprobiert.
Das Objekt bewegt sich nun (logischerweise) schneller durch die Kurve.

fts.rotation=[0 1 0 i];

Homogene Koordinaten. Müsste man das nicht auch bei
fts.translation… in Form von 4 Parametern würdigen ?

Nein, die Def. lautet translation=[x y z].
Hingegen die Rototation: rotation=[x y z Winkel];

pause(0.5);
end;

Jedoch bewegt sich das Objekt nicht gleichmäßig durch den Raum
bzw. durch die Kurve, sondern etwas „verhalten“.
Ich habe schon einiges probiert, komme jedoch nicht wirklich
weiter :frowning:

…und was waren die Fehlschläge ?

Das als Laienansicht :wink:

Nun, die Fehlschläge sehen so aus, dass zum Ende der Kurve ein Drift stattfindet und das Objekt nicht wirklich dort ankommt, wo es hin soll!

HTH
mfg M.L.

Gruß,
Marco

Hallo,

Ich habe eine Objekt, dass sich auf eine Kreisbahn begeben
soll.

for i=pi:-0.05:frowning:pi/2);
% fts.translation=[1 0 0];
fts.translation=[-cos(i) 0 2*sin(i)+9.15];

Auf einer Kreisbahn brauchst du doch gar keine Translation…

pause(0.5);
fts.rotation=[0 1 0 i];

Wenn du schon eine Rotation hast.

pause(0.5);
end;

Funktioniert es, wenn du nur eine Rotation angibts?

Grüße,
Moritz

Hallo,

Ich habe eine Objekt, dass sich auf eine Kreisbahn begeben
soll.

for i=pi:-0.05:frowning:pi/2);
% fts.translation=[1 0 0];
fts.translation=[-cos(i) 0 2*sin(i)+9.15];

Auf einer Kreisbahn brauchst du doch gar keine Translation…

Doch, brauche ich. Sonst dreht sich das Objekt um die eigene Achse, bewegt sich jedoch nicht auf der Bahn. Eine Bewegung in Richtung x,z muss schon vorhanden sein!

pause(0.5);
fts.rotation=[0 1 0 i];

Wenn du schon eine Rotation hast.

pause(0.5);
end;

Funktioniert es, wenn du nur eine Rotation angibts?

Grüße,
Moritz

Hallo Marco

ich hoffe mir kann hier jemand im Zusammenhang mit Matlab und
VRML helfen.

Ich kenne konkret weder VRML noch Matlab, aber ähnliche Anwendungen. Mal 'ne dumme Frage: sind die Koordinatenangaben absolut oder relativ?

In der ersten Komponente hast du cos(i), in der dritten dagegen 2*sin(i). Damit kommt kein Kreis, sondern ein Oval zustande.

Wie soll die Bahn denn genau aussehen, und in welcher Richtung weicht das Objekt von der Bahn ab?

Ich habe eine Objekt, dass sich auf eine Kreisbahn begeben
soll.

for i=pi:-0.05:frowning:pi/2);
% fts.translation=[1 0 0];
fts.translation=[-cos(i) 0 2*sin(i)+9.15];

Jedoch bewegt sich das Objekt nicht gleichmäßig durch den Raum
bzw. durch die Kurve, sondern etwas „verhalten“.

Inwiefern „verhalten“?

Gruß,
Ralf

Hallo an dieser Stelle.

Ich kenne konkret weder VRML noch Matlab, aber ähnliche
Anwendungen.

VRML ist eine mathematiklastige 3D-Beschreibungssprache, Matlab ein Computerprogramm für wissenschaftliche Anwendungen.
Mal 'ne dumme Frage: sind die Koordinatenangaben

absolut oder relativ?

Relativ. Wie überall im 3D-Bereich

In der ersten Komponente hast du cos(i), in der dritten
dagegen 2*sin(i). Damit kommt kein Kreis, sondern ein Oval
zustande.

Das könnte DIE Idee sein :smile:

mfg M.L.

Hallo an dieser Stelle.

Hallo an dieselbe Stelle

Mal 'ne dumme Frage: sind die Koordinatenangaben
absolut oder relativ?

Relativ. Wie überall im 3D-Bereich

Dann sehe ich ein weiteres Problem darin, dass Marco in der Schleife in jedem Durchlauf absolute Koordinaten angibt.
Sollte die Anweisungsfolge dann nicht eher igendwie so lauten [Achtung, Syntax extrapoliert und Werte vereinfacht]:

%fts.translation[-cos(pi) 0 sin(pi)+x]
fts.translation[1 0 x];
fts.rotation[0 1 0 pi];
for i=(pi-0.05):-0.05:frowning:pi/2);
%fts.translation=[(-cos(i) - -cos(i+0.05)) 0 (sin(i)+x - sin(i+0.05)+x)];
fts.translation[**(cos(i+0.05)-cos(i))** 0 **(sin(i)-sin(i+0.05))**];
pause(0.5);
fts.rotation=[0 1 0 **-0.05**];
pause(0.5);
end;

Gruß,
Ralf