WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Normalenvektor einer 3D Ebene bestimmen

 

Florian_S
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 30.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2009, 17:24     Titel: Normalenvektor einer 3D Ebene bestimmen
  Antworten mit Zitat      
Hallo zusammen,

bin auf der Suche nach einer Matlabfunktion die mir aus einer 3D Ebene (Fläche aus 3 Punkte) den Normalenvektor bestimmt und ausgibt.

Wenn ich ein Volumen erzeuge klappt es mit dem Befehl

Code:


bei einer Fläche bin ich bis jetzt gescheitert.

Hat jemand eine Idee?

Viele Grüße

Florian
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2009, 21:32     Titel:
  Antworten mit Zitat      
Kannst Du nicht das Kreuzprodukt nutzten?
Code:
nv=cross(p3-p1,p2-p1);
 
Florian_S
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 30.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 12:41     Titel:
  Antworten mit Zitat      
Hallo,

erstmal Danke für den Hinweis. Ich hab es probiert bekomme auch ein Ergebnis. Richtig plausibel ist es für mich nicht - vielleicht habe ich aber auch einen Denkfehler

Ich hatte bei meinem Versuch erst die Vektoren u und v bestimmt und dann das Kreuzprodukt berechnet. Leider bekomme ich dann nur einen Punkt zurück - wie könnte man jetzt den Fußpunkt bestimmen?


als Beispiel:
Code:

%      X Y Z
p1 = [1 1 0]
p2 = [4 2 0]
p3 = [1 5 0]

u = p2 - p1
v = p3 -p1

nv = cross (u,v)

Ergebniss [0 0 12]

 


Ich würde gerne für x Flächen dementsprechend x Normalenvektoren bestimmen und dann die Winkelabweichung der Vektoren zueinander berechnen. Vielleicht brauche ich einen anderen Ansatz.

Viele Grüße

Florian

[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 14:20     Titel:
  Antworten mit Zitat      
Was verstehst du unter Fußpunkt?
Den Schnittpunkt einer Geraden mit deiner Ebene? Dann fehlt dir ein Punkt der Geraden. Der Normalenvektor ist der Richtungsvektor der Geraden.
Bsp:
Code:
%      X Y Z
p1 = [1 1 0];
p2 = [4 2 0];
p3 = [1 5 2];

patch([p1(1),p2(1),p3(1)],[p1(2),p2(2),p3(2)],[p1(3),p2(3),p3(3)],...
    [.5 .5 .5],'FaceAlpha',0.5);

u = p3-p1;
v = p2-p1;

nv = cross (u,v);
nv=nv./sqrt(sum(nv.^2)); % normieren
p4=[2 3 -1]; % Punkt einer Geraden, die lotrecht durch die Flaeche laufen soll
hold on;
plot3(p4(1),p4(2),p4(3),'rx')
line([p4(1)-2*nv(1),p4(1)+2*nv(1)],[p4(2)-2*nv(2),p4(2)+2*nv(2)],...
    [p4(3)-2*nv(3),p4(3)+2*nv(3)])
hold off;
axis equal;


Was da mit x Flächen und x Vektoren und deren Winkelabweichung gemeint ist verstehe ich nicht. Für den Winkel zwischen zwei Vektoren siehe aber die Definition des Skalarproduktes.
 
Florian_S
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 30.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.02.2009, 15:17     Titel:
  Antworten mit Zitat      
Danke jetzt hab ich es verstanden!

:D

Viele Grüße

Florian
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.