Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Spirale 3D in Matlab

26 views
Skip to first unread message

Mark

unread,
Nov 7, 2009, 8:19:50 AM11/7/09
to
Hallo,

ich m�chte eine Spirale aus Punkten zeichnen. Am Besten auf einer
Zylinderoberfl�che.
Die Daten dazu habe ich in folgender Form.
-Durchmesser
-Anzahl der Punkte pro Umdrehung
-Umdrehungen pro Sekunde
-Vorschubgeschwindigkeit in m/min.
Das Ganze entlang der Z-Achse, die auch gleich die Mittelachse ist.
Wie man das Helix plottet, hab ich aus der Hilfe schon entnommen. Nur
finde ich nicht den �bergang zu dem was ich machen will.
Habe nicht so viel Erfahrung mit Matlab, gerade nur Grundkenntnisse aus
den Tutorien aus den ersten Semestern, und das ist auch schon etwas her.

Was ich mir daraus erhoffe, ist der Abstand der einzelnen Punkte und der
Abstand der "Windungen", also die Steigung, wenn ich mit den einzelnen
parametern etwas herumspiele.

Vielen Dank schon mal.

Gruss,
Mark

Christopher Creutzig

unread,
Nov 7, 2009, 9:04:12 AM11/7/09
to
Mark wrote:
> Hallo,
>
> ich m�chte eine Spirale aus Punkten zeichnen. Am Besten auf einer
> Zylinderoberfl�che.

> Was ich mir daraus erhoffe, ist der Abstand der einzelnen Punkte und der

> Abstand der "Windungen", also die Steigung, wenn ich mit den einzelnen
> parametern etwas herumspiele.
>
> Vielen Dank schon mal.

Ich habe nicht ganz verstanden, was Du suchst. Einfach nur Code, der
das Beschriebene tut, um dann damit herumzuspielen?

% Parameter:
r = 2;
dz = 1;
t = 0:0.02:5;
% Spirale berechnen:
x = r*sin(t*2*pi);
y = r*cos(t*2*pi);
z = dz*t;
% Spirale zeichnen:
hold off;
plot3(x, y, z, 'linewidth', 1.5);
% Zylinder berechnen:
[cx,cy,cz] = cylinder(2);
cz = t(end)*cz;
% Zylinder zeichnen:
hold on;
surf(cx, cy, cz, 'facecolor',[0.5 0.5 0.5], 'facealpha',0.5);

--
F�r 10 EUR im Jahr erfahre ich hier sogar was meine Meinung ist.
Andere Leute m�ssen daf�r heiraten.
[Lars Friedrich �ber UseNet]

Mark

unread,
Nov 7, 2009, 7:59:12 PM11/7/09
to
Christopher Creutzig wrote:
> Mark wrote:
>> Hallo,
>>
>> ich m�chte eine Spirale aus Punkten zeichnen. Am Besten auf einer
>> Zylinderoberfl�che.
>
>> Was ich mir daraus erhoffe, ist der Abstand der einzelnen Punkte und der
>> Abstand der "Windungen", also die Steigung, wenn ich mit den einzelnen
>> parametern etwas herumspiele.
>>
>> Vielen Dank schon mal.
>
> Ich habe nicht ganz verstanden, was Du suchst. Einfach nur Code, der
> das Beschriebene tut, um dann damit herumzuspielen?
>
Ja, das w�re der Idealfall. Hinweise auf Skripte, Tutorials,
dergleichen, die sich mit dieser Thematik besch�ftigen, gerne auch.

> % Parameter:
> r = 2;
> dz = 1;
> t = 0:0.02:5;
> % Spirale berechnen:
> x = r*sin(t*2*pi);
> y = r*cos(t*2*pi);
> z = dz*t;
> % Spirale zeichnen:
> hold off;
> plot3(x, y, z, 'linewidth', 1.5);


Danke f�r den Code. Ich habe den Code ausprobiert.
Der Code zeichnent mir alle berechneten Punkte und verbindet sie
geradlinig miteinander.
Was ich gerne h�tte, ist eine Spirale aus Punkten, also nur die Punkte,
je nachdem was f�r eine Aufl�sung ich an t �bergebe.
Eine Verbindung zwischen den Punkten ginge auch, wenn man die Punkte
farbig darauf Sichtbar machen kann, also �hnlich wie ein Diagramm. Und
die Verbindung auf der Zylinderoberfl�che liegt.

> % Zylinder berechnen:
> [cx,cy,cz] = cylinder(2);
> cz = t(end)*cz;
> % Zylinder zeichnen:
> hold on;
> surf(cx, cy, cz, 'facecolor',[0.5 0.5 0.5], 'facealpha',0.5);
>

Irgendwie zeichnet er mir einen Zylinder aus 20 gleichbreiten Fl�chen.
Woraus geht dies hervor? t ist zu diesem Zeipunkt 10.

Mein Ziel ist es, eine Grafik zu haben, die die Punkte auf der
Zylinderoberfl�che zeichnet. Und dies in Abh�ngigkeit von den
�bergebenen Parametern. Also unterschiedliche Steigungen sichtbar macht
und unterschiedliche Aufl�sung, was ich dann mit dz iund r regulieren kann.

Gruss
Mark

Christopher Creutzig

unread,
Nov 8, 2009, 5:45:09 AM11/8/09
to
Mark wrote:

> Der Code zeichnent mir alle berechneten Punkte und verbindet sie
> geradlinig miteinander.
> Was ich gerne h�tte, ist eine Spirale aus Punkten, also nur die Punkte,
> je nachdem was f�r eine Aufl�sung ich an t �bergebe.

Dann ersetz den Aufruf

plot3(x, y, z, 'linewidth', 1.5);

durch

plot3(x, y, z, '.');


doc plot

verr�t Dir weitere M�glichkeiten.

> > % Zylinder berechnen:
> > [cx,cy,cz] = cylinder(2);
> > cz = t(end)*cz;
> > % Zylinder zeichnen:
> > hold on;
> > surf(cx, cy, cz, 'facecolor',[0.5 0.5 0.5], 'facealpha',0.5);
> >
> Irgendwie zeichnet er mir einen Zylinder aus 20 gleichbreiten Fl�chen.
> Woraus geht dies hervor? t ist zu diesem Zeipunkt 10.

�hm, nein, t ist der Zeilenvektor, der die Zahlen 0, 0.02, 0.04, ...
enth�lt:

t =

Columns 1 through 10

0 0.0200 0.0400 0.0600 0.0800 0.1000 0.1200
0.1400 0.1600 0.1800

...

Die Anzahl der Rechtecke, die den Zylinder approximieren, kannst Du im
cylinder-Aufruf kontrollieren, etwa

[cx,cy,cz] = cylinder(2,42);

Ruf doch einfach mal

doc cylinder

auf und schau dort nach.

Mark

unread,
Nov 8, 2009, 6:47:50 PM11/8/09
to
Danke f�r die Tips. Das mit dem doc Aufruf kannte ich bisher nicht.
Die Hilfe ist �brigens sehr gut, man muss sich nur halt eine Weile damit
besch�ftigen, dann findet man auch was man sucht.

Gruss,
Mark

0 new messages