Matlab 点阵四维表示
2016-02-05 11:12
316 查看
做数模时,Matlab的四维表示找了我一晚上,好浪费时间,在这里做个整理。
四维是XYZ加各点颜色t=f(x,y,z)
我把三维空间离散化成三维点阵,X,Y,Z表示其中一维,都是从1到 xn,yn,zn
现在我的是一个三维矩阵
所以现在是在一个三维空间布满了点,我想用颜色来表示这些点。
会查到scatter3和plot3这两个函数
我用的是scatter3
写一下我写的函数
scatter3(X(v),Y(v),Z(v),35,'filled','cdata',t(X(v),Y(v),Z(v)))
X(v):绘制点的X轴坐标
Y(v):绘制点的Y轴坐标
Z(v):绘制点的Z轴坐标
35:绘制点的大小
'filled':绘制点实心
'cdata',t(X(v),Y(v),Z(v)):将绘制的每个点根据t(x,y,z)的值填上颜色数据
(X(v),Y(v),Z(v))就是每一个点的坐标了,所以X(v),Y(v),Z(v)的数量一点要相同
X(v)=1:a:n1
Y(v)=1:b:n2
Z(v)=1:c:n3
这样写,每个轴上的数量一定要相等
但是这样写其实是有问题的
他表示(1,1,1)(1+a,1+b,1+c)...(n1,n2,n3),所以最后绘制出来应该是一条对角线
如果你要点阵的话,会比较麻烦,我是枚举的,应该有其他方法
我用数字少点做个例子比如2*2*2的三维矩阵
X(v)=[1,1,1,1,2,2,2,2]
Y(v)=[1,1,2,2,1,1,2,2]
Z(v)=[1,2,1,2,1,2,1,2]
这样三维矩阵里所有点就都表示出来了
接下来就是绘制
可以用一个for循环
for v=1:8
scatter3(X(v),Z(v),Y(v),35,'filled','cdata',t(X(v),Y(v),Z(v)))
hold on;%这个一定要!!!多次绘制保留原图,不刷新
grid on;%网格线
box on; %坐标轴刻度线
shading interp;
end
view(60,30)%视角
colorbar;%颜色条
title('Model')
效果图
这是一个11*11*11的三维矩阵,当时我用枚举法,可以想象我的心情吗?
1331个点*3。。。
如果有其他办法请务必留言,谢谢
对了,提醒一句,运行会很慢,所以点尽量少些。
四维是XYZ加各点颜色t=f(x,y,z)
我把三维空间离散化成三维点阵,X,Y,Z表示其中一维,都是从1到 xn,yn,zn
现在我的是一个三维矩阵
所以现在是在一个三维空间布满了点,我想用颜色来表示这些点。
会查到scatter3和plot3这两个函数
我用的是scatter3
写一下我写的函数
scatter3(X(v),Y(v),Z(v),35,'filled','cdata',t(X(v),Y(v),Z(v)))
X(v):绘制点的X轴坐标
Y(v):绘制点的Y轴坐标
Z(v):绘制点的Z轴坐标
35:绘制点的大小
'filled':绘制点实心
'cdata',t(X(v),Y(v),Z(v)):将绘制的每个点根据t(x,y,z)的值填上颜色数据
(X(v),Y(v),Z(v))就是每一个点的坐标了,所以X(v),Y(v),Z(v)的数量一点要相同
X(v)=1:a:n1
Y(v)=1:b:n2
Z(v)=1:c:n3
这样写,每个轴上的数量一定要相等
但是这样写其实是有问题的
他表示(1,1,1)(1+a,1+b,1+c)...(n1,n2,n3),所以最后绘制出来应该是一条对角线
如果你要点阵的话,会比较麻烦,我是枚举的,应该有其他方法
我用数字少点做个例子比如2*2*2的三维矩阵
X(v)=[1,1,1,1,2,2,2,2]
Y(v)=[1,1,2,2,1,1,2,2]
Z(v)=[1,2,1,2,1,2,1,2]
这样三维矩阵里所有点就都表示出来了
接下来就是绘制
可以用一个for循环
for v=1:8
scatter3(X(v),Z(v),Y(v),35,'filled','cdata',t(X(v),Y(v),Z(v)))
hold on;%这个一定要!!!多次绘制保留原图,不刷新
grid on;%网格线
box on; %坐标轴刻度线
shading interp;
end
view(60,30)%视角
colorbar;%颜色条
title('Model')
效果图
这是一个11*11*11的三维矩阵,当时我用枚举法,可以想象我的心情吗?
1331个点*3。。。
如果有其他办法请务必留言,谢谢
对了,提醒一句,运行会很慢,所以点尽量少些。
相关文章推荐
- MFCC matlab code
- 基于MFCC和DTW的说话人识别系统
- MatLab 组件大全
- 关于白噪声的理解
- MATLAB图像处理工具箱
- 初来乍到,发博一篇,关于Fortran和Matlab
- matlab图像GUI学习笔记
- matlab遗传算法工具箱函数及…
- ubuntu下matlab 简单使用
- 015 关于matlab更改默认路径的方法
- 美赛matlab编程小总结
- ubuntu上面装matlab
- matlab中的小符号
- matlab环境中 将cell数据 写入到text文件
- 【Matlab编程】Matlab让电脑失而复得
- matlab 文件输出到text文件总结
- Matlab的logo是怎么来的? L形区域上的波动方程的解
- Matlab 脚本编译成dll被c++调用
- Matlab图像处理系列1———线性变换和直方图均衡
- MATLAB实现图像配准