sphere made of 2d circles in 3d plot
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi i made the code below the create a sphere using 2d circles in a 3d plot:
r=1
teta=-pi:0.01:pi
x=r*cos(teta);
y=r*sin(teta);
axis square
for i=0.0:0.1:1
z=i*sin(teta);
plot3(x,y,z);
hold on
end
for i=0.0:-0.1:-1
z=i*sin(teta);
plot3(x,y,z);
hold on
end
for i=0.0:0.1:1
y=i*sin(teta);
plot3(x,y,z);
hold on
end
for i=0.0:-0.1:-1
y=i*sin(teta);
plot3(x,y,z);
hold on
end
however it doesn't create a clear sphere from some views it shows sphere from some views it shows something( i don't know what ).
anyway i want to creat a sphere using the code below to create a sphere using 2d circles(code below).
r=1
teta=-pi:0.01:pi
x=r*cos(teta);
y=r*sin(teta);
z=zeros(1,numel(x));
plot3(x,y,z);
1 commentaire
Walter Roberson
le 2 Jan 2014
This should probably have been a continuation of http://www.mathworks.co.uk/matlabcentral/answers/111219-3d-plot-2d-cirlce-specific-degree-tilt-slope
Réponses (2)
Amit
le 2 Jan 2014
You can use sphere function to create a sphere. Do you specifically need sphere from circles?
2 commentaires
Amit
le 2 Jan 2014
If you really just want to use 2-D circles, the code will be something like this:
r=1;
teta=-pi:0.1:pi;
x=zeros(size(teta));
y=x;
z = x;
axis square
for i=(-1)*r:0.1:r
x = ((r^2-i^2)^0.5)*cos(teta);
y = ((r^2-i^2)^0.5)*sin(teta);
z = i*ones(size(teta));
plot3(x,y,z);
hold on;
end
Roger Stafford
le 2 Jan 2014
Modifié(e) : Roger Stafford
le 2 Jan 2014
To use 'surf' do this:
r = 1;
[theta,phi] = ndgrid(linspace(0,pi),linspace(0,2*pi));
X = r*cos(phi).*sin(theta);
Y = r*sin(phi).*sin(theta);
Z = r*cos(theta);
surf(X,Y,Z)
or if you just want circles, do this:
r = 1;
[theta,phi] = ndgrid(linspace(0,pi),linspace(0,2*pi));
X = r*cos(phi).*sin(theta);
Y = r*sin(phi).*sin(theta);
Z = r*cos(theta);
for k = 1:numel(theta)
plot3(X(k,:),Y(k,:),Z(k,:))
hold on
end
(Corrected)
0 commentaires
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!