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

Teil einer Kugeloberfläche plotten

 

Matcam1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.10.2011, 11:25     Titel: Teil einer Kugeloberfläche plotten
  Antworten mit Zitat      
Hallo zusammen
ich möchte gerne nur einen Teil einer Kugeloberfläche plotten d.h. ich würde die Kugel gerne nach links und rechts sowie noch vorne und nach hinten um einen Winkel von 54° einschränken. Das ist bis jetzt mein Code:

Code:
%
x=inline(vectorize('r*sin(a)*cos(b)'), 'a', 'b', 'r');
y=inline(vectorize('r*sin(a)*sin(b)'), 'a', 'b', 'r');
z=inline(vectorize('r*cos(a)'), 'a', 'b', 'r');
r=1;
b=0;
a=0;
for a=0:0.01:(54*pi/180)
    plot3(x(a,b,r),y(a,b,r),z(a,b,r));
    hold on
    for b=0:0.1:(2*54*pi/180)
        plot3(x(a,b,r),y(a,b,r),z(a,b,r)); hold on;
    end
end
grid on;

leider zeigt mir der Plot nur Punkte an. Ich kann das ganze aber leider nicht mit surf zeichnen lassen, da er meint das z keine Matrix ist. Ich habe das ganze auch schon mit shere probiert bekomme es aber leider nicht hin.
Kann mir vielleicht jemand weiter helfen, wie ich eine solche Kugeloberfläche als Fläche und nicht als kleine einzelene Punkte darstellen kann? danke


Matcam1

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.10.2011, 12:25     Titel:
  Antworten mit Zitat      
hat sich erledigt
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.10.2011, 15:16     Titel:
  Antworten mit Zitat      
Hallo, bitte vielleicht für andere mit der gleicher Frage deine Lösung posten.
Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
KaroLin
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 04.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.10.2011, 15:26     Titel:
  Antworten mit Zitat      
ich hab mittlerweile es einfach mit einem anderen Code versucht, da mich ja nur der Teil einer Kugeloberfläche interessiert

Code:
%
%parameters
r = 1200;
phi = 56 * pi / 180;
%discretisation
dis = 20;
%Calculation
X = zeros(dis);
Y = zeros(dis);
Z = zeros(dis);
k=0;
for a = linspace(-phi,phi,dis)
k=k+1;
l=0;
for b = linspace(-pi/2,pi/2,dis)
l=l+1;
X(k,l)=r*sin(a)*cos(b);
Y(k,l)=r*sin(a)*sin(b);
Z(k,l)=r*cos(a);
end
end
%plot
for i = 1:dis
line(X(i,:),Y(i,:),Z(i,:));
end
 for i = 1:dis
 line(X(:,i),Y(:,i),Z(:,i));
 end
axis('equal')
drawnow

 

ich hoffe das hilft euch weiter
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.10.2011, 18:08     Titel:
  Antworten mit Zitat      
Danke! Jetzt kann man diesen Thread abschließen!
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.