MATLAB平面曲线按曲率上色&三维曲面颜色栏链接自定义属性(二维曲线第三维用颜色表示,三维曲面第四维用颜色表示)

平面曲线按曲率上色(曲线第三维用颜色表示)

先上效果图

正弦曲线按曲率上色
在这里插入图片描述
自由曲线按误差上色
自由曲线按误差上色

自由曲面按误差上色
自由曲面按误差上色
曲线第三维用颜色表示实现方法:

x=linspace(-10,10,100);
y=sin(x);
y(end)=NaN;
z=abs(sin(x))./(1+cos(x).^2).^1.5
patch(x,y,z,'EdgeColor','interp','linewidth',3);

以上为示例代码,正弦曲线按曲率上色,复制到MATLAB可直接运行。

x=linspace(-10,10,100);

上面那条语句表示曲线上点的x坐标

y=sin(x);
y(end)=NaN;

上面那条语句表示曲线上点的y坐标,y(end)=NaN不可缺少,否则会将曲线首尾相连。

z=abs(sin(x))./(1+cos(x).^2).^1.5

上面那条语句表示第三维的数值,是上色的依据(这里给出的是计算曲率的语句)
/

三维曲面颜色栏链接自定义属性(曲面第四维用颜色表示)

实例代码:

mesh(Xp,Yp,Zp,devia_mean,'FaceColor','interp')
colorbar

由于数据较多,大家在下面网盘链接下载.mat文件后,在MATLAB中打开后即可读取相应变量数据,读取后运行以上代码即可。

链接:https://pan.baidu.com/s/11BjOHkaSqqhpK_klTwYvgw
提取码:8e0h
复制这段内容后打开百度网盘手机App,操作更方便哦

其中Xp是曲面的x坐标,Yp是曲面的y坐标,Zp是曲面的z坐标,devia_mean是上色依据,它的大小和Xp、Yp、Zp相同。'interp’可以让曲面上色更平滑。

还有其他问题可以联系我。
chengxi23@tsinghua.org.cn

参考文献:
[1]长沙理工大学,课程设计,MATLAB中三维曲面及其色彩处理问题的研究。https://wenku.baidu.com/view/8f48bd3c87c24028915fc3d1.html
[2]MATLAB帮助中心,patch。https://ww2.mathworks.cn/help/matlab/ref/patch.html
[3]Pagani, L., Scott, P.J.Curvature based sampling of curves and surfaces(2018) Computer Aided Geometric Design, 59, pp. 32-48.

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值