Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Kreispunkte im 3-Dimensionalen Raum berechnen

Kreispunkte im 3-Dimensionalen Raum berechnen

Universität / Fachhochschule

Körper

Relationen

Ringe

Erzeugende Funktionen

Graphentheorie

angewandte lineare Algebra

Vektorräume

Tags: Angewandte Lineare Algebra, Erzeugende Funktionen, Graphentheorie, Körper, Relation., Ring, Vektorraum

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Fragerich

Fragerich aktiv_icon

18:57 Uhr, 18.03.2010

Antworten
Guten Tag,

ich möchte für ein Projekt (welches im Bereich der Informatik anzusiedeln ist) eine Funktion schreiben, die die Punkte eines Kreises im 3Dimensionalen Raum berechnet. Dazu reicht es nicht die Normalenform anzugeben, sondern wirklich so effizient wie möglich alle (bzw. eine bestimmte Anzahl mit gleichem Abstand voneinander) Punkte des Kreises anzugeben.
Gegeben ist der Mittelpunkt[mx,my,mz], der Radius [r], die Neigung zur z-Achse [zAngle], die Orientierung auf der xy-Ebene [xyAngle] sowie ein Winkel der angeben soll an welchem Punkt die Iteration beginnen soll [sAngle].

Ein Ansatz wäre das hier, aber die Berechnungen habe ich willkürlich zusammengetragen und ergeben nicht wirklich Sinn:

loop
set x= mx + Cos(currAngle) Cos(xyAngle) Abs(Sin(zAngle)) r
set y= my + Sin(currAngle) Sin(xyAngle) Abs(Sin(zAngle)) r
set z= mz + Cos(currAngle) Cos(zAngle) r

set currAngle = Mod(currAngle+step,PI*2)
set rest = rest -1
exitwhen rest <1
endloop

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Hierzu passend bei OnlineMathe:

Online-Übungen (Übungsaufgaben) bei unterricht.de:
 
Online-Nachhilfe in Mathematik
Antwort
maxsymca

maxsymca

09:38 Uhr, 19.03.2010

Antworten
Ich hab eine Bibliothek zur analytischen Geometrie im CAS Maxima geschrieben
http://lemitec.de/load.php?name=News&amp;file=article&amp;sid=79
an gibt es auch Schnittbetrachtungen von Ebene und Kugel, die zu einer Kreisbeschreibung führen. Vielleicht hilft Dir das weiter?

Ich weiß jetzt nicht so recht was Du eigentlich auf Deinen Post hören willst...
Fragerich

Fragerich aktiv_icon

22:10 Uhr, 19.03.2010

Antworten
Gut, ich werde noch einmal klarstellen was ich meine:

Ich will mit einer Schleife durch gewisse Punkte eines Kreises iterieren. Ich habe einen Winkel zAngle, der die Neigung des Normalenvektors der Kreisebene zur z-Achse angibt. Ist zAngle = 0°, so ist der Kreis exakt horizontal, ist zAngle = 90°, so ist der Kreis exakt vertikal (Kreisebene parallel zu z-Achse). Ich habe einen Winkel xyAngle, dieser gibt an in welche Richtung der Kreis geneigt wird. Ist zb. xyAngle = 90° und der zAngle = 90° so zeigt der Normalenvektor der Kreisebene in Richtung xyAngle. Mit currAngle iteriere ich.

loop
set x= mx + Cos(currAngle)*Abs(Cos(zAngle)) radius
set y= my + Sin(currAngle)*Abs(Cos(zAngle)) radius
set z= mz + Cos(xyAngle-currAngle)*Sin(zAngle) radius
set currAngle = currAngle + modAngle
endloop

Diese Schleife funktioniert schon fast. Das heißt, bei zAngle = 0°/270° ist wird der Kreis exakt horizontal erzeugt. Verändert sich zAngle gegen 90°/180° so stimmt die Höhenberechnung weiterhin, aber der Kreis wird oval. Da Cos(zAngle) sich immer mehr an 0 annähert ist kaum verwunderlich, dass die x und y Berechnung durcheinander gerät. Die Frage ist nun was ich bei der x und y Berechnung einbauen muss, um das zu starke Abnehmen des "+ ... radius" zu verhindern.

Ich hoffe es ist nun klarer :-)

MfG
Antwort
maxsymca

maxsymca

16:20 Uhr, 21.03.2010

Antworten
Naja, ich kann mit Deiner Kreisgleichung nix anfangen. Bei mir sieht ein Kreis so aus:
Kreisgleichung
Parameterdarstellung eines Kreises in einer Ebene E1
Kreis: x=M+urcos(t)+vrsin(t)
M(Mittelpunkt) r(Radius) u,v zueinander orthogonale Vektoren mit der Länge 1
aus der Ebene in der der Kreis liegt.
Frage beantwortet
Fragerich

Fragerich aktiv_icon

18:58 Uhr, 21.03.2010

Antworten
Naja gut, vll funktioniert es auf meinem Weg auch gar nicht. Dann werde ich wohl diese Kreisimplementierung verwenden müssen, danke.