Punkt in verschiedenen Ebenen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 10:51 Mi 17.08.2005 | Autor: | BastiBube |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Hallo, folgendes Problem macht mir zu schaffen:
Ausgangssituation:
einheitsnormalenvektor Ebene 1: (0,0,1)
Punkt von ebene 1: (1,2.5,5)
einheitsnormalenvektor Ebene 2: (1,0,0)
Aufgabenstellung:
Punkt aus sicht der Ebene 2 beschreiben.
Hintergrund:
Ich programmiere gerade eine Schnittstellendatei aus der ich nur diese Informationen bekomme und verzweifle gerade daran. die obigen Zahlen sollen deshalb nur ein Beispiel sein, da ich in dem Program allgemein damit umgehen muss. Die Koordinaten sollten eigentlich dann (2.5,5,1) sein aber irgendwie komm ich da nicht drauf. ein textueller Lösungsweg dürfte reichen. Vielen dank im voraus
Gruß
Basti
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:08 Mi 17.08.2005 | Autor: | DaMenge |
Hallo,
ich weiß leider nicht genau, was du mit "aus Sicht von Ebene 2" meinst.
Meinst du, dass Ebene 2 zusammen mit ihrem Normalenvektor eine andere Basis des [mm] $\IR^3$ [/mm] aufspannen und der Punkt nun bezüglich dieser neuen Basis dargestellt werden soll?
bei deinen speziell gewählten Ebenen ist es relativ einfach, denn die Basisvektoren bleiben dieselben (*) nur in anderer Reihenfolge, deshalb ändert sich auch nur die Reihenfolge der Komponenten im Vektor.
zu (*) : Die Spannvektoren der zweiten Ebene kann man so wählen, dass sie gerade der Normalenvektor der ersten Ebene und der y-Einheitsvektor ist, denn Eben 1 ist die xy-Ebene und Ebene 2 ist die yz-Ebene.
Man kann die Vektoren aber auch ganz anders wählen, entsprechend erhälst du andere Komponenten ! Aber bevor ich darauf spezieller eingehe muss ich erstmal wissen, ob es bis hierhin richtig interpretiert worden ist.
Die Komponenten nach dem Basiswechsel ergeben sich dann übrigens einfach als Multiplikation des alten Vektors an die Transformationsmatrix, wenn die neue Basis in Abhängigkeit der alten gegeben ist.
(wenn beide in Abhängigkeit der Standardbasis gegeben sind, dann muss man eine Koordinatentransformation durchführen.)
viele Grüße
DaMenge
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:31 Mi 17.08.2005 | Autor: | BastiBube |
Du hast das richtig interpretiert und ich werde mir jetzt mal deine Tips anschauen, melde mich dann nochmal.
Danke schonmal!
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 12:08 Mi 17.08.2005 | Autor: | BastiBube |
Ok,
vielleicht könntest du mir noch ein bisschen unter die Arme greifen, da ich ja nur den Punkt und die 2 Normalenvektoren habe, weiß ich nun nicht wie ich an die Lösung rangehen soll.
Das Beispiel war bewußt einfach gewält, ich muss aber das ganze allgeimen umwandeln da mein Program ja jeden Fall können muss.
Muss ich nun mit Hilfe der Normalenvektoren erstmal die Ebenen bilden oder?
P.S.: eigentlich müsste ich das schon können da ich mein Grundstudium bereits abgeschlossen habe, aber scheinbar doch nicht :D
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:14 Mi 17.08.2005 | Autor: | DaMenge |
Hallo,
wie ist denn dein Punkt gegeben, wenn du nur den Normalenvektor von Ebene 1 hast?
Ich dachte der Punkt wäre vorher "aus Sicht von Ebene 1" (d.h. in der Basisdarstellung die durch die Ebene gegeben ist) gegeben.
Ist er nun einfach als Vektor der Standardbasis gegeben oder wie?
(Das würde bedeuten, dass es unwichtig ist, wie Ebene 1 aussieht, außer man braucht auch die Koordinatensdarstellung "in dieser Ebene").
viele Grüße
DaMenge
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:41 Mi 17.08.2005 | Autor: | BastiBube |
Ups, ja das ist schlecht beschrieben von mir wusste nicht wie ich es deutlich machen sollte.
Also ich bekomme den Punkt aus Sicht des Basiskoordinatensystems, um den Punkt wird ein Kreis gezogen, deshalb bekomm ich noch einen Normalenvektor der diese Basis in der der Kreis liegt beschreibt.
Ich muss nun aber den Punkt zur neuen Basis beschreiben, dass will dieses Grafikformat haben.
In meinem Beispiel liegt der Kreis also in der yz-ebene und muss deshalb auch von dieser Ebene aus angegeben werden. Im normalfall bewegt sich die Ebene aber irgendwie im Raum und ich muss deshalb die koordinaten allgemein umrechnen.
edit:
Is das so verständlich? Ich tu mich ziemlich schwer mit solchen Formulierungen :(
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:57 Mi 17.08.2005 | Autor: | DaMenge |
Hallo,
da bisher ja niemand geantwortet hat, gehe ich mal davon aus, dass ich nicht der Einzige bin, dem immernoch nicht ganz klar ist, was wie transformiert werden soll.
> Also ich bekomme den Punkt aus Sicht des
> Basiskoordinatensystems, um den Punkt wird ein Kreis
> gezogen, deshalb bekomm ich noch einen Normalenvektor der
> diese Basis in der der Kreis liegt beschreibt.
Also du bekommst deinen Punkt in Standardbasis-komponenten gegeben?
Wo liegt jetzt ein Kreis? Direkt um dem Punkt?
und der Normalenvektor steht senkrecht (3D) aus dem Kreis?
> Ich muss nun aber den Punkt zur neuen Basis beschreiben,
> dass will dieses Grafikformat haben.
Was ist denn die neue Basis?
Der Normalenvektor samt Kreis von eben, oder irgentwas mit dem zweiten Normalenvektor?
Wo ist der jetzt eigentlich abgeblieben?
> In meinem Beispiel liegt der Kreis also in der yz-ebene und
> muss deshalb auch von dieser Ebene aus angegeben werden.
Und woher kommt der Kreis samt normalenvektor?
Also ist die Frage nun, wie man die Koeffizienten bekommt, wenn die Basis von einem Kreis mit Normalenvektor gegeben ist, oder wie?
(Dies ist noch nicht eindeutig, denn der Kreis spannt ja die Ebene auf, darin kann man eine beliebige Basis wählen)
> Is das so verständlich? Ich tu mich ziemlich schwer mit
> solchen Formulierungen :(
Keine Sorge, das versteht jeder, der mal versucht hat ein spezielles Problem zu abstrahieren um es jemand anderem zur Lösung eines Teilproblems zur Verfügung zu stellen.
Du kannst auch gerne einen richtig langen Beitrag schreiben, indem du alle Zusammenhänge erklärst (Kreise und Grafikformat?)...
Aber bitte nur als Mitteilung, denn eine Frage reicht ja
viele Grüße
DaMenge
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:44 Mi 17.08.2005 | Autor: | BastiBube |
Also gut, dann versuch ich mein Glück nochmal ganz von vorn.
Ich habe eine Schnittstellendatei aus einem CAD-System.
In dieser Schnittstellendatei stehen zeilenweise koordinaten
die einen Punkt bzw. ein Objekt im dreidimensionalem raum beschreiben.
In meinem Fall geht es um einen Kreis der durch seinen Mittelpunkt seinen Radius und einem Normalenvektor gegeben ist.
Der Mittelpunkt ist im Standart Koordinatensystem gegeben.
Und der normalenvektor beschreibt die Ebene in der der Kreis im dreidimensionalem liegt.
Das Grafikformat das ich bilden möchte(DXF format) will ein lokales Koordinatensystem.(welches durch den normalenvektor beschrieben wird)
von diesem lokalem Koordinatensystem muss dann der Mittelpunkt
angegeben werden.
Also muss ich die koordinaten aus dem standart Koordinatensystem in das lokale Koordinatensystem transformieren - Die eigentliche Frage ist wie :D
Danke für deine/eure Mühe
P.S.: In meinem DXF Buch wird hier von einem Arbitärem Achsenalgorithmus gesprochen, ich hoffe das ich euch nicht mit einem Problem konfrontiert habe, dass so auch garnicht zu lösen ist.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:59 Do 18.08.2005 | Autor: | BastiBube |
Hallo Leute,
bin bei meinem Problem ein gutes Stück weiter gekommen.
In der früh kann ich scheinbar besser denken.
mein Vektor der dreidimensionale Einheitsvektor beschreibt ein lokales Koordinatensystem desen Lage ich nun bereits ausrechnen konnte(mit Hilfe des Arbitärem Achsenalgorithmus).
Jetzt habe ich also mein Standart-koordinatensystem und mein lokales koordinatensystem die jeweils beide den Ursprung (0,0,0) haben.
Ich bitte jetzt nur noch um Hilfe um meinen Punkt(der im Standart-koordinatensystem gegeben ist) in mein lokales Koordinatensystem zu transferieren.
wie mache ich das? Mit einer Transformationsmatrix, indem ich den Punkt(vektor) damit multipliziere?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:00 Do 18.08.2005 | Autor: | DaMenge |
Hallo,
also dies war nun wesentlich verständlicher für mich !
Aber den zweiten Normalenvektor hast du nun irgendwie fallen gelassen, oder?
Ist auch nicht so schlimm, so sieht es einfacher aus
Aber eine letzte Frage habe ich noch:
Angenommen ich nehme den Normalenvektor und zwei beliebige Vektoren aus der Ebene des Kreises als Basis des neuen Systems, ABER ich verschiebe auch den Nullpunkt des Systems zum Mittelpunkt des Kreises.
(dies würde ich unter einem "lokalem System" verstehen)
Wie sind dann logischer Weise die Koordinaten des Mittelpunktes?
Also ich gehe mal davon aus, dass du dies nicht so gedacht hast, also : darf/soll der Nullpunkt irgendwie verschoben werden?
Wenn "Nein", dann haben wir dennoch das Problem, dass die Basis der Ebene des Kreises nicht eindeutig ist - d.h. : wenn du jedesmal eine beliebige wählst, kommen andere Koeffizienten heraus, obwohl es natürlich derselbe Punkt bleibt.
Ist dies ein Problem oder egal?
EDIT: Ich sehe deinen Post von eben jetzt erst: Ähm, dein Algo gibt dir eine Basis des lokalen Koordinatensystems? Oder was genau erhälst du nun? Mach ruhig mal ein Beispiel.
Aber wenn du hofffentlich auf diese beiden Fragen die "schönen" Antworten gibst, dann sollte es schnell gehen...
(Die Implementierung natürlich nicht, denn wie war das nochmal von wegen: "Man darf niemals die Inverse einer Matrix berechnen"?)
viele Grüße
DaMenge
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:27 Do 18.08.2005 | Autor: | BastiBube |
Also der nullpunkt wird natürlich nicht verschoben sonst wären die koordinaten des mittelpunktes ziemlich einfach ;)
Ehrlichgesagt war es jetzt doch ziemlich einfach bin nur irgendwie falsch an die sache rangegangen(was mir in der Mathematik des öfteren passiert)
Wenn man weiß wie das lokalekoordinatensystem zum Weltkoordinatensystem liegt kann man mit hilfe des Kreuzproduktes(einheitswektor*welt-y-Richtung wenn das lokale koo. ungefähr gleich dem positiven oder Negativem der Welt-z-achse ist) die lage der neuen Achsen bestimmen.
Wenn das gemacht wurde kann man wie du bei der ersten Antwort geschrieben hast einfach mit dem skalarprodukt die neuen koordinaten des Vektors im lokalen koordinatensystem errechnen.
und schon liegt mein Kreis an der richtigen Stelle mit der richtigen ausrichtung in meiner Zeichnung.
schon verrückt diese lineare Algebra und in Verbindung mit Informatik fasst schon traumatisierend.
Falls es dich näher interressiert kannst mir ja noch ne PM schicken ansonsten ist das Problem also gelöst und ich kann mich an die Umsetzung in meinem Programm machen
DaMenge dir vielen Dank und mach so weiter
echt Toll wenn man jemand hat den man Fragen kann.
|
|
|
|