声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 964|回复: 8

[绘图技巧] 请教三维曲面的实现问题

[复制链接]
发表于 2008-1-9 09:48 | 显示全部楼层 |阅读模式

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

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

x
请问这个三维曲面要怎么实现?需要消参吗?直接用x,y轴绘制,画不出来
绘制由参数方程 表示的曲面

[ 本帖最后由 eight 于 2008-1-21 18:46 编辑 ]

题目

题目
回复
分享到:

使用道具 举报

发表于 2008-1-9 10:22 | 显示全部楼层

回复 楼主 的帖子

给出角度的值,得到x,y,z的值
这样就有每个点的坐标了,然后再画

或许还有其他简单方法
发表于 2008-1-9 22:35 | 显示全部楼层
提示:给定两个变量(向量形式),meshgrid, 然后用mesh or surf 即可绘出你要的曲面。
--------很显然这是一个轮胎面(环面)

z.jpg

评分

1

查看全部评分

 楼主| 发表于 2008-1-10 21:25 | 显示全部楼层

回复 3楼 的帖子

a=(0:0.01:2*pi)
b=(0:0.01:2*pi)
[X,Y]=meshgrid(x,y);
x=cos(a).*(cos(b)+3)
y=sin(a).*(cos(b)+3)
z=sin(b)
mesh(x,y,a)
这样究竟是哪里有错呢?
发表于 2008-1-10 21:32 | 显示全部楼层


mesh(x,y,z) 吧,不过应该还是错,你自己 help mesh 吧,估计用的是 X、Y
 楼主| 发表于 2008-1-10 21:37 | 显示全部楼层
不行啊...郁闷
发表于 2008-1-12 09:04 | 显示全部楼层
原帖由 vanpersie 于 2008-1-10 21:25 发表
a=(0:0.01:2*pi)
b=(0:0.01:2*pi)
[X,Y]=meshgrid(x,y);
                        ~~~~   
x=cos(a).*(cos(b)+3)
y=sin(a).*(cos(b)+3)
z=sin(b)
mesh(x,y,a)
这样究竟是哪里有错呢?

改成
[X,Y]=meshgrid(a,b);
试试
发表于 2008-1-12 11:35 | 显示全部楼层

综合以上

  1. a=(0:0.01:2*pi);
  2. b=(0:0.01:2*pi);
  3. [X,Y]=meshgrid(a,b);
  4. x=cos(X).*(cos(Y)+3);
  5. y=sin(X).*(cos(Y)+3);
  6. z=sin(Y);
  7. mesh(x,y,z);
复制代码

得到图:
untitled.bmp
发表于 2008-1-14 16:27 | 显示全部楼层
这里牛人挺多啊,以后要多来学习:@)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-23 17:14 , Processed in 0.075822 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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