声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 15414|回复: 42

[绘图技巧] 体验Matlab------曲面图的绘制

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

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

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

x
本帖最后由 牛小贱 于 2014-8-8 13:00 编辑

很久没有在论坛发表有意思的帖子了,现贴几个图,并附上几段代码,希望可以启发一些版友思考:简短的代码,也可以实现漂亮的图形。下面来顺便体验一下Matlab吧:
%%%=============================================%%%
%%% 圆环面
z2.jpg
%%% 螺旋管,俗称“弹簧”
z1.jpg
%%% 螺旋面
z3.jpg
%%% 圆柱上的缎带
z4.jpg
%%% 纽带
z5.jpg
%%% 螺旋卷筒
z7.jpg
%%%=========================================%%%
再附两段代码,其余的图形代码类似,
参照有关公式,自己稍微摸索一下即可绘出。
%%%===================================%%%
  1. %%% 螺旋面
  2. clear all
  3. u=linspace(0,2*pi);
  4. v=linspace(0,6*pi);
  5. [U,V]=meshgrid(u,v);
  6. x=(4+sin(20*U)).*cos(V);
  7. y=(4+sin(20*U)).*sin(V);
  8. z=2*V;
  9. mesh(x,y,z)
  10. axis equal
复制代码
%%%===================%%%
  1. %%% 螺旋卷筒
  2. clear all
  3. R=2;
  4. b=2;
  5. u=linspace(0,2);
  6. v=linspace(0,6*pi);
  7. [U,V]=meshgrid(u,v);
  8. x=U.*cos(V);
  9. y=U.*sin(V);
  10. z=U.*V;
  11. mesh(x,y,z)
  12. axis equal
  13. axis off
复制代码
%%%====================%%%

点评

赞成: 4.0
赞成: 4
  发表于 2014-2-22 13:02

评分

2

查看全部评分

回复
分享到:

使用道具 举报

发表于 2008-5-25 21:53 | 显示全部楼层
好久没有看到xjzuo的大作了,今天看到真是高兴。你原来曾经指导了不少,谢谢了!
发表于 2008-5-26 08:14 | 显示全部楼层
精彩的好帖子啊,各位版友有兴趣的可以试试把其他的代码也做一下,呵呵。

[ 本帖最后由 sogooda 于 2008-5-26 08:18 编辑 ]
发表于 2008-5-26 16:12 | 显示全部楼层
图很漂亮,打算学matlab:lol
发表于 2008-5-27 13:34 | 显示全部楼层
试着编了一下其它图的代码,如下,有不对的地方还望楼主指点!
  1. %%% 圆环面
  2. clc
  3. clear
  4. u=linspace(0,2*pi,100);
  5. v=linspace(0,2*pi,100);
  6. [U,V]=meshgrid(u,v);
  7. X=(4+sin(U)).*cos(V);
  8. Y=(4+sin(U)).*sin(V);
  9. Z=cos(U);
  10. mesh(X,Y,Z)
  11. axis equal
  12. axis off
复制代码
  1. %%% 螺旋管,俗称“弹簧”
  2. clc
  3. clear
  4. u=linspace(0,2*pi,100);
  5. v=linspace(0,6*pi,100);
  6. [U,V]=meshgrid(u,v);
  7. X=(4+sin(U)).*cos(V);
  8. Y=(4+sin(U)).*sin(V);
  9. Z=cos(U)+V;
  10. mesh(X,Y,Z)
  11. axis equal
  12. axis off
复制代码
  1. %%% 圆柱上的缎带
  2. clc
  3. clear
  4. u=linspace(0,2);
  5. v=linspace(0,6*pi);
  6. [U,V]=meshgrid(u,v);
  7. X=2*cos(V);
  8. Y=2*sin(V);
  9. Z=U+V;
  10. mesh(X,Y,Z)
  11. axis equal
  12. axis off
复制代码
  1. %%% 纽带
  2. clc
  3. clear
  4. u=linspace(0,2);
  5. v=linspace(0,6*pi);
  6. [U,V]=meshgrid(u,v);
  7. X=U.*cos(V);
  8. Y=U.*sin(V);
  9. Z=5*V;
  10. mesh(X,Y,Z)
  11. axis equal
  12. axis off
复制代码

评分

2

查看全部评分

发表于 2008-7-6 18:11 | 显示全部楼层
真是高人啊,我怎么就学不会呢
发表于 2008-7-7 15:21 | 显示全部楼层
象图形的螺旋卷筒如果想整个图形的显示都是那种平滑的,就是不要上端格格的状态,我试了lighting phong和lighting gouraud都不行啊,应该怎么办,学得太少,不会领会应用,希望谁能给个指点,谢谢
发表于 2008-7-8 21:19 | 显示全部楼层
很好,进来学习:loveliness:
发表于 2008-7-12 10:07 | 显示全部楼层
楼主和5楼的大牛真的是太牛了,佩服死了,我要努力学习matlab啊,这软件很牛:@o
发表于 2008-7-12 10:15 | 显示全部楼层
原帖由 xinxin7311 于 2008-7-7 15:21 发表
象图形的螺旋卷筒如果想整个图形的显示都是那种平滑的,就是不要上端格格的状态,我试了lighting phong和lighting gouraud都不行啊,应该怎么办,学得太少,不会领会应用,希望谁能给个指点,谢谢

this?
  1. surf(...)
  2. shading interp
复制代码

评分

1

查看全部评分

发表于 2008-9-11 18:59 | 显示全部楼层

回复 5楼 ch_j1985 的帖子

请问你怎么发表处这种有表格的代码形式?(怎么画这张代码表格?)
发表于 2008-9-11 19:17 | 显示全部楼层
精彩,LZ就是高人啊

哦,纽带的在下面啊,没有看见,学习一下:kiss:

[ 本帖最后由 ChaChing 于 2009-4-20 20:43 编辑 ]
发表于 2009-3-28 19:01 | 显示全部楼层
好东西,学习
发表于 2009-4-20 10:23 | 显示全部楼层
大师风范,佩服
发表于 2009-4-20 16:41 | 显示全部楼层
很好,matlab要好好学啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-13 10:08 , Processed in 0.074841 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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