Matlab利用序列离散点绘制渐变颜色空间曲线
Posted 雁回晴空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab利用序列离散点绘制渐变颜色空间曲线相关的知识,希望对你有一定的参考价值。
写论文时候,可能会用到绘制空间曲线。这里给出一个自己写的matlab函数,用于将一组离散的3D点绘制成空间曲线。点多的时候效果比较好,因为每两个点之间是直线连接。曲线的颜色是从起点到终点渐变的~
function [ ] = DrawColorfulCurve( PointList, startPointColor,endPointColor,circleRadius)
%DRAWCOLORFULCURVE 绘制从起点到终点颜色渐变的空间曲线
%PointList :3D point array
%startPointColor: the color of starting point
%endPointColor: the color of end point
%circleRadius: the tadius of starting and end points
% Below is some default params
if(nargin<2)
startPointColor = [1,0,0];
endPointColor = [0,1,0];
circleRadius=50;
elseif(nargin<4)
circleRadius=50;
end
% the main function body
[PointNUM, temp] = size(PointList);
colorStep = (endPointColor-startPointColor)/(PointNUM-1);
for i=1:PointNUM-1
plot3(PointList(i:i+1,1),PointList(i:i+1,2),PointList(i:i+1,3),'color',colorStep*(i-1)+startPointColor);
hold on
end
hold on
scatter3(PointList(1,1),PointList(1,2),PointList(1,3),circleRadius,startPointColor);
hold on
scatter3(PointList(PointNUM,1),PointList(PointNUM,2),PointList(PointNUM,3),circleRadius,endPointColor);
end
clear all
PointList =load('TrajectoryData.txt');
DrawColorfulCurve(PointList);
grid on
给出一个参考数据点文件,绘制效果如下图。
链接: https://pan.baidu.com/s/1lPBEU5uvPUvqtClo2gbFvA 密码: kd8x
以上是关于Matlab利用序列离散点绘制渐变颜色空间曲线的主要内容,如果未能解决你的问题,请参考以下文章