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 Ebene nicht senkrecht

 

daniel_kae
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2012, 15:27     Titel: Normalenvektor einer Ebene nicht senkrecht
  Antworten mit Zitat      
Hallo,


ich möchte folgendes erreichen:

Ich habe drei Punkte als jeweils liegenden Vektor. Mit diesen drei Punkten spanne ich über zwei Vektoren (P1 nach P2 und P1 nach P3) eine Ebene auf. Die Ebene wird über patch geplottet. Mithilfe des Kreuzproduktes berechne aus den zwei Spannvektoren den Normalenvektor der Ebene. Dieser wird über plot3 geplottet. Der Startpunkt (Fusspunkt) ist hierbei P3 und der Endpunkt P3+Normalenvektor.

Mein Problem ist:

Man kann im Plot schon sehen, dass der Normalenvektor nicht senkrecht auf der Ebene steht.

Ich hoffe sehr, dass mir jemand helfen kann. Danke mal!

Code:
p1=[3 3 7];         % Punkte
p2=[3 1 7];                                    
p3=[4 1.8 6.8];

figure
hold on;

plot3([p1(1);p2(1);p3(1)],[p1(2);p2(2);p3(2)],[p1(3);p2(3);p3(3)],'.','color','b','MarkerSize',30);     % farbiger Plot der Punkte
x=[p1(1) p2(1) p3(1)];  
y=[p1(2) p2(2) p3(2)];
z=[p1(3) p2(3) p3(3)];
patch(x,y,z,'b')              %Plot der Ebene1

vektor1=[p2'-p1'];          % Spannvektor von P1 nach P2
 
vektor2=[p3'-p1'];          % Spannvektor von P1 nach P3

nv1=cross(vektor1, vektor2)  % Normalenvektor der Ebene durch Kreuzprodukt der beiden Spannvektoren

fusspunkt1=p3;
    endpunkt1=fusspunkt1+nv1';
   
plot3([fusspunkt1(1);endpunkt1(1)],[fusspunkt1(2);endpunkt1(2)],[fusspunkt1(3);endpunkt1(3)],'--b')   % Plot Normalenvektor1
 


PS: Fehlermeldung bekomme ich übrigens keine Very Happy
PPS: Im Anhang hab ich zwei Bilder hochgeladen, die die Situtation visualisieren. Im obigen Text spreche ich von der blauen Ebene. Man sieht, dass bei den mittleren beiden Ebenen (welche waagrecht verlaufen) der jeweilige Normalenvektor richtig dargestellt wird.

2.jpg
 Beschreibung:
2D Ansicht

Download
 Dateiname:  2.jpg
 Dateigröße:  26.86 KB
 Heruntergeladen:  1012 mal
1.jpg
 Beschreibung:
3D Ansicht

Download
 Dateiname:  1.jpg
 Dateigröße:  35.69 KB
 Heruntergeladen:  1031 mal
Private Nachricht senden Benutzer-Profile anzeigen


Gast1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2012, 15:59     Titel:
  Antworten mit Zitat      
Hi,

Sieht für mich nach einem Anzeige-/Skalierungsproblem der Grafik aus.

Versuch es mal mit

Code:
 
daniel_kae
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2012, 16:19     Titel:
  Antworten mit Zitat      
Neiiiiiiiiiiiiiin! Shocked

So funktionierts ... hab am Anfang auch da dran gedacht und aber die Skalierungsfunktion kannte ich nicht!

Also echt vielen vielen Dank Exclamation
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.