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利用序列离散点绘制渐变颜色空间曲线的主要内容,如果未能解决你的问题,请参考以下文章

matlab 二维数据点 光滑曲线

matlab 设置曲线颜色

canvas学习绘制渐变色

利用MATLAB绘制Bezier曲线

iOS 绘制颜色渐变圆环 --- 值得一看

利用QPainter绘制各种图形(Shape, Pen 宽带,颜色,风格,Cap,Join,刷子)