hanzhiyi2004
2008-05-12, 09:26
本人因为毕业设计刚刚接触matlab,学得一点皮毛,毕业设计要画几个三维图,其中一个是圆锥,我以前没有学过圆锥的函数表达式,然后在网上好不容易找了个圆锥有关的算法,可是运行不出来,希望那位能给我出出主意,帮帮忙,修改修改一下是那个算法
....
function cone_plot(m,x0,y0,z0)
% (x0,y0,z0)---顶点坐标
% m---底圆在y轴的坐标位置.
x1=linspace(-5,-eps,100);
x2=linspace(eps,5,100);
x=[x1,x2];
z1=sqrt(25-x.^2);
z2=-sqrt(25-x.^2);
x0=x0*ones(1,length(z1));
y0=y0*ones(1,length(z1));
z0=z0*ones(1,length(z1));
y=m*ones(1,length(z1));
for i=1:length(z1)
line([x0(i),x(i)],[y0(i),y(i)],[z0(i),z1(i)])
hold on
line([x0(i),x(i)],[y0(i),y(i)],[z0(i),z2(i)])
end
grid on
....
function cone_plot(m,x0,y0,z0)
% (x0,y0,z0)---顶点坐标
% m---底圆在y轴的坐标位置.
x1=linspace(-5,-eps,100);
x2=linspace(eps,5,100);
x=[x1,x2];
z1=sqrt(25-x.^2);
z2=-sqrt(25-x.^2);
x0=x0*ones(1,length(z1));
y0=y0*ones(1,length(z1));
z0=z0*ones(1,length(z1));
y=m*ones(1,length(z1));
for i=1:length(z1)
line([x0(i),x(i)],[y0(i),y(i)],[z0(i),z1(i)])
hold on
line([x0(i),x(i)],[y0(i),y(i)],[z0(i),z2(i)])
end
grid on