Scilab: Zwei Winkel auf Torusoberfläche darstellen

OP #4274613
Lesenswert?

Hallo,

im Rahmen meiner Masterarbeit möchte ich den Aktuationsraum von zwei 
mechanische gekoppelten Motoren darstellen. Jeder Motor kann sich von 0° 
- 360° (bzw. 0-2 Pi) drehen.

Die Darstellung erfolgt am besten über eine Torusoberfläche.

Winkel 1 bestimmt den Winkel um die Z-Achse des 3D-Plots und Winkel 2 
soll dann der Winkel im Torusquerschnitt sein.

Einen Torus über plot3D zu erstellen ist soweit kein Problem, aber eine 
Kurve entlang einer Torusoberfläche (vermutlich mit param3d) 
darzustellen ist mir bislang leider noch nicht gelungen.

Ich würde mich freuen, wenn der ein oder andere einen Typ für mich hat, 
wie ich das mathematisch am besten umsetzen kann.

Zusammengefasst:
Winkel 1 (0-360) wird um die z-Achse des Plots aufgetragen.
Der Radius r1 ist beliebig und konstant.
Winkel 2 (0-360) ist der Winkel um den von Winkel1 festgelegten Punkt.
Der Radius r2 ist beliebig und konstant.

Beispiel: Ist r2 und Winkel 2 = 0, Winkel 1 geht von 0 bis 360° und r1 
ist 2, so entsteht ein ebener Kreis mit dem Radius 2.

Ich hoffe, ich habe mein Problem gut genug erklärt.

Vielen Dank!
OP #4274789
Lesenswert?

Danke für deinen Anstupser. Ich habe es jetzt auch recht fix selbst 
hinbekommen. Deine trivialen Skizzen haben geholfen.
1
    phi1 = linspace(0,360,360);
2
    phi2 = linspace(0,20*360,360);
3

4
    r1 = 10;
5
    r2 = 0.5;
6
    
7
    xTorus = sind(phi1) .* (r1+sind(phi2).*r2);
8
    yTorus = cosd(phi1) .* (r1+sind(phi2).*r2);
9
    zTorus = cosd(phi2) .* r2;
10
    
11
    param3d( xTorus, yTorus, zTorus);

Gruß
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren