三维坐标,怎么用matlab绘制三维图出其颜色的空间分布

使用matlab画三维空间中的平面~
今天想用球面来模拟一个数据,就想到了用matlab来画图。但是刚开始不会啊,就询问别人,别人说也没怎么用过,就去百度搜索啦,结果还真搜到一个画整个球的小段code,是这样的:
给定球心和直径,画出一个球。
x0=4/3;y0=4/3;z0=0;%球心
r=sqrt(41)/3;%半径
%下面开始画
mesh(r*x+x0,r*y+y0,r*z+z0)
axis equal
在这里用到了mesh函数,不知道mesh函数是怎么个意思,大致是画一个网格状的吧,再百度之吧:一句话:
mesh(x,y,z):以z矩阵列、行下标为x,y轴自变量,画网线图.
仅仅画出球并不是我想要的,我只是想给定x,y,画出Z的平面图,用球面来模拟一个凹的面。在同学的提示下,最后终于成功绘制:code是这样写的~
x=0:0.1:3;//x坐标 x=[0,3]
z=zeros(31,31);//对于每个(x,y)pair,都会有个z的值,这个值是通过公式计算出来的啦。
for i=1:1:31
for j=1:1:31
z(i,j)=19/2-sqrt(361/4-(x(i)-3).^2-(y(j)-3).^2);(给定直径和球心的球)
surf(x,y,z);//根据x,y,z画出平面
最后的图是这样的~~:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
matlab的空间三维作图与符号作图
下载积分:840
内容提示:matlab的空间三维作图与符号作图
文档格式:PPT|
浏览次数:87|
上传日期: 09:31:44|
文档星级:
全文阅读已结束,如果下载本文需要使用
 840 积分
下载此文档
该用户还上传了这些文档
matlab的空间三维作图与符号作图
官方公共微信查看: 7179|回复: 6|关注: 0
如何在matlab中画出3D+颜色的四维点线图
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
已知x,y,z的坐标x=14.56637& && &&&y=14.36764& && && && && &z=3.17904& && && &&&t=1
& && && && && && && && && &&&14.535& && && && & 14.34559& && && && && && && &3.1749& && && && && && && &&&2
& && && && && && && && && &&&14.58151& && && && & 14.29656& && && && && && & 3.17904& && && && && &3
& && && && && && && && && &&&14.73507& && && && & 14.07684& && && && && && &&&3.20803& && && && && &4
& && && && && && && && && &&&14.81952& && && && & 13.88624& && && && && && & 3.19147& && && && && &5
& && && && && && && && && &&&14.8828& && && && & 13.82159& && && && && && & 3.19561& && && && && &6
& && && && && && && && && &&&15.00607& && && && & 13.78966& && && && && && & 3.21218& && && && && &7
& && && && && && && && && &&&15.10283& && && && & 13.72664& && && && && && & 3.22874& && && && && &8
如何在matlab中做出四维点线图,第四维用颜色来表示t,想的到如下的效果图,最好有代码指导
论坛优秀回答者
帖子最佳答案
关注者: 210
你的数据和图依然对不起来,既然你要画的是点,因为你每个点的颜色都不一样,那我上次给的例子你就可以试试
<h1 style="color:# 麦片财富积分
honglei.chen 发表于
/forum.php?mod=viewthread&tid=261140
你的数据和图依然对不起来,既然你要画 ...
数据只是一个例子,谢谢你了,大概意思我明白了,只是还有一个问题,我的x,y,z,t都是单独的数据,如何用函数把x,y,z用t来表示呢?
论坛优秀回答者
帖子最佳答案
关注者: 210
水边枫树族 发表于
数据只是一个例子,谢谢你了,大概意思我明白了,只是还有一个问题,我的x,y,z,t都是单独的数据,如何用 ...
可以将x,y,z分别对t进行曲线拟合
论坛优秀回答者
关注者: 96
本帖最后由 kastin 于
13:08 编辑
close all
A=[14.64,3.17904,1;
& & 14.535,14.9,2;
& & 14.56,3.17904,3;
& & 14.84,3.20803,4;
& & 14.24,3.19147,5;
& & 14.59,3.19561,6;
& & 15.66,3.21218,7;
& & 15.64,3.22874,8];
subplot 121
scatter3(A(:,1),A(:,2),A(:,3),35,A(:,4),'filled') %绘制彩点
patch('XData',[A(:,1); NaN],'YData',[A(:,2); NaN], ...
& && && && && &'ZData',[A(:,3); NaN],'CData',[A(:,4); NaN], ...
& && && && && &'facecolor','none','edgecolor','flat');
plot3(A(:,1),A(:,2),A(:,3),'ok','markersize',8) %加黑圈
title('线段逐段颜色')
subplot 122
scatter3(A(:,1),A(:,2),A(:,3),35,A(:,4),'filled')
patch('XData',[A(:,1); NaN],'YData',[A(:,2); NaN], ...
& && && && && &'ZData',[A(:,3); NaN],'CData',[A(:,4); NaN], ...
& && && && && &'facecolor','none','edgecolor','interp');
title('线段渐变色')复制代码第二幅图放大一点就可以看出渐变色与逐段色的差别了。
论坛优秀回答者
关注者: 96
当然,如果要想线段变粗一点,那就只能用plot3了,而且只能一段一段的绘制,而且每一段都是一种颜色,不能渐变。当段数过多,效率会很低。
<h1 style="color:# 麦片财富积分
kastin 发表于
当然,如果要想线段变粗一点,那就只能用plot3了,而且只能一段一段的绘制,而且每一段都是一种颜色,不能 ...
谢谢了,有点能明白了
站长推荐 /3
使用MATLAB和Simulink进行软件无线电设计
Powered by}

我要回帖

更多关于 matlab绘制三维图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信