www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Lineare Algebra / Vektorrechnung" - Vektor senkrecht auf einem Vektor
Vektor senkrecht auf einem Vektor < Lin. Algebra/Vektor < Oberstufe < Schule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra / Vektorrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Vektor senkrecht auf einem Vektor: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 13:30 Fr 25.06.2004
Autor: jlukas

Hallo alle zusammen,
ich habe folgendes Problem:
Ich habe einen Eckpunkt einer virtuellen Geometrie, einen sogenannten Vertex. Zu diesem Vertex habe ich eine Normale, die aus den Flächennormalen der angrenzenden Dreiecke interpoliert ist (eigentlich unwichtig, aber zum besseren Verständnis).  
Ich brauche nun die Tangente in diesem Punkt.  Wenn mich meine mathematischen Kenntnisse nicht komplett täuschen, so brauche ich doch nur einen Vektor, der senkrecht zur Normalen steht, oder? Das müsste dann doch eine Tangente sein! Aber wie kann ich die berechnen? Ich habe, wie gesagt den Punkt und dessen Normale.
Ich benötige im Übrigen auch die Binormale, die ich aber dann über das Kreuzprodukt bekäme. Habe sie also noch nicht.
Vielen Dank im Voraus.
Jürgen Lukas

Cross-Post:
http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=6;t=000259

        
Bezug
Vektor senkrecht auf einem Vektor: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:45 Fr 25.06.2004
Autor: Marc

Hallo jlukas,

[willkommenmr]

>  Ich habe einen Eckpunkt einer virtuellen Geometrie, einen
> sogenannten Vertex. Zu diesem Vertex habe ich eine Normale,
> die aus den Flächennormalen der angrenzenden Dreiecke
> interpoliert ist (eigentlich unwichtig, aber zum besseren
> Verständnis).  
> Ich brauche nun die Tangente in diesem Punkt.  

Diese Tangente ist doch gar nicht eindeutig bestimmt?!
Eindeutig bestimmt (durch die Normale) wäre eine Tangentialebene.

Oder gibt es noch mehr Informationen, wodurch sich die Tangente eindeutig bestimmen ließe?

> Wenn mich
> meine mathematischen Kenntnisse nicht komplett täuschen, so
> brauche ich doch nur einen Vektor, der senkrecht zur
> Normalen steht, oder? Das müsste dann doch eine Tangente
> sein! Aber wie kann ich die berechnen? Ich habe, wie gesagt
> den Punkt und dessen Normale.


>  Ich benötige im Übrigen auch die Binormale, die ich aber

Was ist denn eine "Binormale"? (Wahrscheinlich eine Normale, die zu zwei Vektoren senkrecht steht)

> dann über das Kreuzprodukt bekäme.

OK. Diese Normale wäre ja auch eine Tangente zu deiner obigen Normale (was die fehlende Eindeutigkeit der Tangente weiter unterstreicht).

> Cross-Post:
>  
> http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=6;t=000259

Danke für den Hinweis :-)

Viele Grüße,
Marc  

Bezug
                
Bezug
Vektor senkrecht auf einem Vektor: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:04 Fr 25.06.2004
Autor: jlukas

Hi,
du hast Recht, die Binormale ist ein Vektor, der auf den anderen beiden Vektoren senkrecht steht, und da diese auch senkrecht aufeinander stehen, so ergibt sich meines Wissens nach ein lokales Koordinatensystem, was vermutlich auch Sinn und Zweck der Übung ist.
Ausgangspunkt des Ganzen ist eine Freiformfläche (FFL), die tesseliert, also in Dreiecke umgerechnet wurde. Darauf habe ich aber keinen Einfluss, da mir schon tesselierte Geometrie vorliegt.  Die Eckpunte der Dreiecke sollten auf der ehemaligen FFL liegen und die Eckpunktnormale sollte idealerweise der Normale der FFL entsprechen.
Zur Beleuchtungsberechnung mit OpenGL SL-Shadern und BRDFs braucht man die Normale, die OpenGL zur Verfügung stellt, sowie die Tangente in dem Punkt und die Binormale, also eine Art lokales Koordinatensystem, nehme ich zumindest an. Aber ich kann ja das Tutorial nicht machen, da ich eben diese beiden Vektoren nicht habe, da diese nicht von OpenGL zur Verfügung stehen und ich sie selber berechnen lassen muss.
Ich nehme an, dass es für mich und mein Tutorial erstmal reichen wird, wenn ich zwei senkrecht zueinander stehende Vektoren bekomme, die in der Tangentialebene liegen.
Das wird zwar vermutlich zu Verdrehungen bei den Texturen führen, aber das ist mir erstmal egal. Ich habe jetzt auch schon gehört, dass die eindeutige Bestimmung einer Tangente nicht mehr möglich ist und dass Renderalgorithmen dabei Textur-Koordinaten verwenden, aber das geht mir dann doch etwas zu weit, im Moment zumindest.
Danke schonmal
jlukas

Bezug
                        
Bezug
Vektor senkrecht auf einem Vektor: Antwort
Status: (Antwort) fertig Status 
Datum: 15:37 Fr 25.06.2004
Autor: Marc

Hallo jlukas!

>  Ich nehme an, dass es für mich und mein Tutorial erstmal
> reichen wird, wenn ich zwei senkrecht zueinander stehende
> Vektoren bekomme, die in der Tangentialebene liegen.

Na gut, dann würde ich versuche, dieses Gleichungssystem zu lösen [mm] ($\vec{n}=\vektor{n_1\\n_2\\n_3}$ [/mm] sei die bereits bekannte Normale)

Gesucht sind [mm] \vec{t}, \vec{b}, [/mm] so dass

[mm] \vec{t}*\vec{n}=0 [/mm]
[mm] \vec{b}*\vec{n}=0 [/mm]
[mm] \vec{t}*\vec{b}=0 [/mm]

(das bedeutet ja, dass die drei Vektoren senkrecht zueinander sind.)

[mm] $\gdw$ [/mm]

[mm] $t_1*n_1+t_2*n_2+t_3*n_3=0$ [/mm]
[mm] $b_1*n_1+b_2*n_2+b_3*n_3=0$ [/mm]
[mm] $t_1*b_1+t_2*b_2+t_3*b_3=0$ [/mm]

Nun ist ja nur eine beliebige Lösung gesucht, was die ganze Sache etwas vereinfacht.

Zunächst bestimmt ich [mm] $\vec{t}$. [/mm]

Unter den drei Komponenten von [mm] $\vec{n}$ [/mm] muß sich ja mindestens eine befinden, die nicht 0 ist. Falls dies die 1. oder 2. Komponente ist, so ist dieser Vektor senkrecht zu [mm] $\vec{n}$: [/mm]

[mm] \vec{t}=\vektor{-n_2\\n_1\\0} [/mm]

Falls es die 3. Komponente ist:

[mm] \vec{t}=\vektor{0\\-n_3\\n_2} [/mm]

Die Binormale zu bestimmen, ist nun auch kein Problem mehr, oder? (Stichwort: Vektorprodukt bzw. Kreuzprodukt).

Viele Grüße,
Marc



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Lineare Algebra / Vektorrechnung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]