2016-04-22 3 views
2

In Matlab, erstelle ich eine ziemlich komplizierte 3D-Darstellung, dann manipulieren Sie die Ansicht-Option von Hand bis zu einem Punkt, wo ich mit dem, was ich sehe (unten) glücklich bin. Wie kann ich die Parameter der endgültigen Ansicht wiederverwenden? Ich kann die Ausgabe des view Befehls erhalten, der eine 4 x 4-Matrix ist, aber die letztere scheint nicht wiederverwendbar zu sein?Wiederverwenden Sie die Ansicht Ausgangsmatrix in Matlab

enter image description here

+1

Ein Trick zu verwenden, wenn Sie eine Menge Dinge im Zahlenfenster getan haben, ist die Verwendung der Funktion "Code generieren" aus dem Menü Datei im Figurenfenster. Dann schauen Sie sich den Code für den Abschnitt an, der das tut, wonach Sie gesucht haben. – David

Antwort

1

ok, basierend auf Suevers Kommentaren, erkannte ich, dass alle Figureigenschaften, die ich brauche, über die grafische Schnittstelle matlab.graphics.axis.Axes aufgerufen werden können. Hier können die Parameter der Kamera gefunden werden. Ein anderer Ansatz besteht darin, sie eines nach dem anderen zu finden wie folgt:

get(gca,'Projection') 
get(gca,'CameraPosition') 
get(gca,'CameraViewAngle') 
get(gca,'CameraTarget') 

und dann setzten sie direkt in dem Skript:

set(gca,'Projection','perspective') 
set(gca,'CameraPosition',[-7 -5 3]/15) 
set(gca,'CameraViewAngle',85) 
set(gca,'CameraTarget',[0 .5 0]) 

Ich dachte ursprünglich der view Befehl diese Informationen sofort zur Verfügung stellen würde.

3

Um etwas aus view zu erhalten, die Sie dann zu view passieren kann den Standpunkt zu rekonstruieren, müssen Sie two outputs-view spezifizieren, die den aktuellen Azimut und Elevation ergibt.

[az, el] = view(ax1); 

Sie dann diese view auf einem anderen (oder derselben) passieren können Achsen, die die Sicht

view(ax2, az, el); 

Sie auch die View property des axes Objekt verwenden können, angeben.

AzEl = get(ax1, 'View'); 
set(ax2, 'View', AzEl); 

beachte jedoch, dass es viele Objekte sind, die die Ansicht einer Achsensteuerung einschließlich der Projection, die DataAspectRatio, die PlotBoxAspectRatio und alle der camera properties. Abhängig von Ihrem Anwendungsfall müssen Sie möglicherweise auch diese angeben.

+0

Interessant (dies wird in der Hilfe erwähnt), aber dadurch gehen die Parameter der Kameraansicht wie Campos verloren. Ich würde gerne wissen, ob es möglich ist, alle aktiven Parameter einer bestimmten Ansicht abzurufen. – pluton

Verwandte Themen