| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4128 人关注过本帖
标题:如何在Matlab中绘制z方向上有重叠的三维曲面
只看楼主 加入收藏
schoolcao
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-11-15
收藏
 问题点数:0 回复次数:8 
如何在Matlab中绘制z方向上有重叠的三维曲面
比如球体,对于任意一组(x,y),最外边一圈除外,都有两个z与之对应。

这一类的曲面如何绘制?

请说明更加一般的情况。
搜索更多相关主题的帖子: Matlab 三维 曲面 绘制 
2007-11-16 20:14
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
收藏
得分:0 
可以先在球坐标内生成数据,再转换为直角坐标,再mesh

2007-11-17 20:35
schoolcao
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-11-15
收藏
得分:0 
回复:(hitzhang)可以先在球坐标内生成数据,再转换...
但如果在球坐标下也发生曲叠呢?
2007-11-18 14:32
hitzhang
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:369
专家分:52
注 册:2006-9-24
收藏
得分:0 
mesh函数的画图过程我不是很熟
不过你可以通过画简单的图形了解一下它的画图过程
我知道这个函数可以画出任意形状的三维图形

2007-11-20 19:55
wmx605
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-4-19
收藏
得分:0 
DING
!!!!!!!!!!!!!!!!!!!
2007-11-22 19:39
matlabzql
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-2-21
收藏
得分:0 
请教高手一个问题:
在一个立方体中如何任意进行斜面分割???
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
xslice = [-2,2]; yslice = [-2,2]; zslice = [-2,2];
slice(x,y,z,v,xslice,yslice,zslice)%直角切割
colormap hsv
现在想对它进行任意的斜面切割
(用鼠标点击立体图中的几个点,或者手动输入几个点),根据这几个点位置不同来确定不同的平面),如果高手有好的方法,小弟更是感激不尽!!!!!!
qq:491242712
2008-02-21 22:39
chinasoul
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-2-28
收藏
得分:0 
对于不同的z,可以用hold on命令分开画嘛
2008-03-14 21:05
chinasoul
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-2-28
收藏
得分:0 
回复 5# 的帖子
Slicing At Arbitrary Angles


You can also create slices that are oriented in arbitrary planes. To do this, Create a slice surface in the domain of the volume (surf, linspace). Orient this surface with respect to the axes (rotate). Get the XData, YData, and ZData of the surface (get). Use this data to draw the slice plane within the volume.
2008-03-14 21:15
chinasoul
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-2-28
收藏
得分:0 
回复 6# 的帖子
For example, these statements slice the volume in the first example with a rotated plane. Placing these commands within a for loop "passes" the plane through the volume along the z-axis.
for i = -2:.5:2
    hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+i);
    rotate(hsp,[1,-1,1],30)
    xd = get(hsp,'XData');
    yd = get(hsp,'YData');
    zd = get(hsp,'ZData');
    delete(hsp)
    slice(x,y,z,v,[-2,2],2,-2) % Draw some volume boundaries
    hold on
    slice(x,y,z,v,xd,yd,zd)
    hold off
    axis tight
    view(-5,10)
    drawnow
end
2008-03-14 21:17
快速回复:如何在Matlab中绘制z方向上有重叠的三维曲面
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014651 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved