声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2147|回复: 6

[图像处理] 关于用matlab画一个圆锥的三维图问题.

[复制链接]
发表于 2008-5-12 10:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人因为毕业设计刚刚接触matlab,学得一点小小皮毛,毕业设计要画几个三维图,其中一个是圆锥,我以前没有学过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


我运行了也不知道哪里出错,那个m我不知道设置什么为好,
回复
分享到:

使用道具 举报

发表于 2008-5-12 10:54 | 显示全部楼层

回复 楼主 的帖子

程序可以运行

在命令窗口输入
cone_plot(1,0,0,0)
即可


但是,这圆锥是一条条的线
不知道符不符合你的要求

[ 本帖最后由 sigma665 于 2008-5-12 21:45 编辑 ]
发表于 2008-5-12 11:17 | 显示全部楼层
看看这种是不是你想要的?
[X,Y,Z]=cylinder(10:-0.2:0);
surf(X,Y,Z);
要平移简单修改下就行了

[ 本帖最后由 eight 于 2008-5-12 18:36 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-5-12 16:17 | 显示全部楼层

回复 3楼 的帖子

谢谢你的帖子,十分感谢啊.我现在画的图要求是底边是10cm左右,母线12cm.怎么改啊,我把数值改为(10:-0.2:10):,怎么变为圆柱了啊
 楼主| 发表于 2008-5-12 16:19 | 显示全部楼层

回复 2楼 的帖子

在哪里改啊,能把在原函数上具体的改下么?
我想得到一个底边10cm,母线12的圆锥,

[ 本帖最后由 eight 于 2008-5-12 18:23 编辑 ]
发表于 2008-5-12 21:23 | 显示全部楼层

回复 4楼 的帖子

改XYZ
现在的底边的半径刚好是10啊,
你母线12,那就是高度是7左右,
[X,Y,Z]=cylinder(10:-0.2:0);
Z=7*Z;
surf(X,Y,Z);

评分

1

查看全部评分

 楼主| 发表于 2008-5-12 21:47 | 显示全部楼层

回复 6楼 的帖子

恩,是我要的图像,谢谢你啊,小弟在此再次谢过
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-29 05:55 , Processed in 0.080496 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表