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

3D Modell auf Ebene platzieren

 

anna mk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.10.2013, 14:53     Titel: 3D Modell auf Ebene platzieren
  Antworten mit Zitat      
Hallo!

Hätte eine frage zu Computergraphik. Also angenommen ich habe eine Ebene die ich mit A,B,C,D definiert habe.

Weiters habe ich eine CAD Modell von dem Ich den Mittelpunkt kenne, und auch den Normalvektor. Ich würde gerne das Modell auf die Ebene setzen.

Ich hab mir das so überlegt: Ich nehme den Schwerpunkt und verschieb ihn "ganz nach unten". Diesen Punkt möchte ich dann auf die Ebene bringen. Die Projektion ist kein Problem. Aber wie kann ich mir die Rotation berechnen.

Bsp: Ich möchte einen Tisch auf den Boden stellen...

Hat wer eine Idee? Danke schon mal!
Anna


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.10.2013, 17:19     Titel: Re: 3D Modell auf Ebene platzieren
  Antworten mit Zitat      
Hallo anna mk,

Wir benötigen mehr Informationen. Bei der Definition einer Ebene durch "A,B,C,D" tritt das Problem auf, dass dies 4 Buchstaben sind. Damit kann man keine Ebene Definieren.
Ein "CAD" Modell kann ebenfalls alles mögliche sein. Es käme darauf an, in welcher Form die Koordinaten vorliegen.
Üblicherweise haben 3D-Modelle weit mehr als "einen" Normalen-Vektor, nämlich einen für jedes Dreieck der Oberfläche.

Was bedeutet genau "Schwerpunkt verschieben" und was ist "nach unten"? Wieso tritt dabei eine Projektion auf? Und woher könne eine Rotation stammen, wenn Du doch nur den Schwerpunkt "verschiebst"?

Zitat:
Bsp: Ich möchte einen Tisch auf den Boden stellen...

Das ist noch nicht klar. Ist hier der Tisch oder der Boden das CAD-Modell? Ist der Schwerpunkt hier von Bedeutung? Normalerweise stellt man einen Tisch einfach so auf den Boden, dass alle Z-Komponenten der Füße Null werden. Wenn der Tisch aber zunächst "auf dem Kopf liegt", also mit der Platte auf dem Boden, kommt dann die "Rotation" ins Spiel? Dann gibt es unendlich viele Methoden den Tisch hinzustellen. Suchst Du irgendeine bestimmte Trajektorie oder ist nur das Ergebnis relevant?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
anna mk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2013, 08:49     Titel:
  Antworten mit Zitat      
Hallo,

ok die Information war wirklich nicht so gut. Eine Ebene beschreibe ich mit der Gleichung Ax + By + Cz + D = 0. In Matlab schaut dass dann ca so aus:

Code:

[X,Z] = meshgrid(xLim,zLim);
Y = (A * X + C * Z + D)/ (-B);
reOrder = [1 2  4 3];
figure();patch(X(reOrder),Y(reOrder),Z(reOrder),'b');
 


Der Normalvektor lautet N = (A,B,C)

Ok dann hab ich nun ein PLY File. Was ich von dem File weiss sind die Eckpunkte der Dreiecke und die Verbindungen. Ich habe keine Informationen (in meinem Fall) über die Normalvektoren. Was ich aber weiss, ist, dass sich die Modelle immer normal auf der xz-Ebene stehen (siehe Anhang)

Dieses Objekt möchte ich mir jetzt auf die Ebene stellen. Die Position auf der Ebene kenne ich. Meine Idee war jetzt dass ich folgendes berechne:

- Schwerpunkt
- zMin (in dem Fall 0)

Dann kann ich mir den "untersten Wert" (z=0) in er "Mitte" berechnen. In diesem Beispiel wäre das die Koordinate xyz = (0,0,0). Der Normalvektor für den Punkt N=(0 0 1) im Koordinatensystem XYZ.

Die Rotation um die z-Achse brauche ich nicht, da ich diese bereits berechnet habe bzw. viele Objekte habe, die rotationssymetrisch sind.

Danke schon mal

untitled.jpg
 Beschreibung:

Download
 Dateiname:  untitled.jpg
 Dateigröße:  33.32 KB
 Heruntergeladen:  825 mal
 
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.