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

Halbkreis im 3-dim. Raum darstellen

 

Rico95

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2012, 12:05     Titel: Halbkreis im 3-dim. Raum darstellen
  Antworten mit Zitat      
Hallo,
ich bin grade dabei Matlab zu lernen und muss einen Halbkreis im 3-dim. Raum darstellen. In 2D ist es ja noch relativ einfach:

Code:

t =  0:0.01:pi;
x = 1500*cos(t);       % Die 1500 entsprechen dem Radius
y = 1500*sin(t);  

plot(x,y)
 


Aber wie kann ich dem Halbkreis im Raum eine Tiefe zuweisen? Irgendwie fehlt mir im Moment noch der richtige Ansatz und ich komme absolut nicht weiter.
Ich habe es schon mit dem Befehl "patch" ausprobiert und sehr viele kleine Polygone erzeugt, die aneinandergereiht einen Halbkreis ergeben. Mit der Methode ist eine Lösung bestimmt möglich, jedoch gibt es doch bestimmt eine einfachere Lösung.

Vielen Dank für eure Tips!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.01.2012, 12:44     Titel:
  Antworten mit Zitat      
Hallo,

du musst dir an sich nur überlegen, wie die Kurve parametriert werden kann, und dann die Punkte erstellen und mit PLOT3 darstellen.

Du kannst die dritte Koordinate entweder konstant lassen, oder einen weiteren Winkel einführen. Kugelkoordinaten könnten helfen:
http://de.wikipedia.org/wiki/Kugelkoordinaten

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Rico95

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2012, 13:16     Titel:
  Antworten mit Zitat      
Danke für die Hilfe!

Soweit bin ich bis jetzt gekommen. Schein auch ganz gut zu funktionieren.

Code:
p=[40,-40];        % Tiefe
t=linspace(0,pi,1000);   % Winkel
[P,T]=meshgrid(p,t);

Xdata=1500*cos(T)+2000;
Ydata=1500*sin(T);
Zdata=P;

mesh(Xdata,Ydata,Zdata);
 


Eine Frage hab ich noch. Und zwar wie kann ich die Fläche transparent machen und eventuell ihre Farbe ändern? Über 'Color' kann ich nichts ändern.

Danke
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.01.2012, 19:28     Titel:
  Antworten mit Zitat      
Hallo,

Code:
surf(Xdata,Ydata,Zdata, 'facealpha', 0.4);
shading interp


Die Farbgebung kannst du über den Befehl COLORMAP verändern.

Grüße,
Harald
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 - 2025 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.