Surface of a equation
Show older comments
Hi.
I want to plot the quadratic surface of a sphere:
x^2 + y^2 + z^2 = r , where r is equal to 1. Therefore:
x^2 + y^2 + z^2 = 1, where x, y and z are values between -1.5 and 1.5
Can anyone explain me how to do this? I've looked into mesh surfaces but I can only plot functions ( f(x,y) )..
Any help will be highly appreciated. Thanks.
Accepted Answer
More Answers (3)
Jürgen
on 15 Sep 2012
0 votes
[x,y,z] = sphere(); r = 5; figure,surf( r*x +cx, r*y+ cy, r*z +cz) wit (cx,,cy,cz) the center look at http://www.mathworks.com/matlabcentral/newsreader/view_thread/169373
Javier
on 15 Sep 2012
Edited: Walter Roberson
on 11 Nov 2020
Procedure done in Matlab R2012.
The problem that you want to solve gives complex solution for Z for arbitrary X and Y in [-1.5,1.5]. The square of X^2 + Y.^2 must be lower than 1, in other case,the solution for Z is a complex number (mesh function doesnt support complex data). To prove it, solve for Z. You get an square root of (1-(X.^2+Y.^2)). I show how to solve for arbitrary number X and Y lower than 0.70 (0.7071^2= 0.5).
Data=randn(10,10) % 10 is arbitrary. Matriz square.
u=find(Data>0.70);
d=find(Data<-0.70);
%Define limits of Data Matriz
Data(u)=0.70;
Data(d)=-0.70;
%Divide Data matriz in two
X=Data(:,1:5);
Y=Data(:,6:10);
%For arbitrary X and Y value Z must solve the equality
Z=feval(@(X,Y)[sqrt(1-(X.^2+Y.^2))],X,Y)
%Plot data
mesh(X,Y,Z)
If this solve your question please grade or make a comment to this answer. Best regards
Javier
auto2060
on 16 Nov 2016
So
r = 1;
fimplicit3(@(x,y,z) x.^2+y.^2+z.^2-r^2,[-1.5 1.5 -1.5 1.5 -1.5 1.5])
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!