I want to sketch the parametric euqations lies on the cone, but the cone is so small and the lines are sparser than it should be.

2 views (last 30 days)
parametric euqations is x=tcost, y=tsint, z=t
and the euqation of the cone is z^2=x^2+y^2
my code looks like this
t=linspace(-2*pi,2*pi,100);
x=t.*cos(t);
y=t.*sin(t);
z=t;
plot3(x,y,z);
hold on;
u=linspace(-2*pi,2*pi,100);
v=linspace(-2*pi,2*pi,100);
[u,v]=meshgrid(u,v);
x=cos(u).*sin(v);
y=cos(u).*cos(v);
z=cos(u);
surf(x,y,z)
I can't find any mistake in my code.
Answer is that the line should be denser.
What is the problem of my code?
I appreciate any help. Thank you.

Accepted Answer

Star Strider
Star Strider on 19 Sep 2020
Scale the size of the cone up by multiplying its variables with some appropriate constant (that I call a ‘Magnification Factor’ here).
Example —
t=linspace(-2*pi,2*pi,100);
x=t.*cos(t);
y=t.*sin(t);
z=t;
plot3(x,y,z, '-r', 'LineWidth',2);
hold on;
u=linspace(-2*pi,2*pi,100);
v=linspace(-2*pi,2*pi,100);
[u,v]=meshgrid(u,v);
x=cos(u).*sin(v);
y=cos(u).*cos(v);
z=cos(u);
mf = 6; % ‘Magnification Factor’
surf(x*mf,y*mf,z*mf, 'EdgeColor','none')
grid on
axis('equal')
producing:
.
  4 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!