【matlab教程】16、曲线上等弧长取点

这篇博客介绍了如何在曲线上等弧长取点的算法,适用于步长较小可近似为直线的情况。作者提供了从起始点开始,以步长为半径画圆与曲线交点的方法,循环直至结束点。给出了MATLAB代码实现,能够生成等弧长的点,并通过示例展示了效果。该方法对于曲线离散和参数曲线处理有一定的参考价值。
摘要由CSDN通过智能技术生成

搜索如何在曲线上等弧长取点时搜到两篇相关论文:
《等弧长原则的nurbs曲线离散算法》
《三维参数曲线的离散算法》
但是我自己的方法够用了,就没有细读

适用范围

步长较小,在所需步长范围内曲线可以近似为直线
如果步长较大,可以使用小步长,得到所有点之后再间隔取点

效果图

在这里插入图片描述
在这里插入图片描述

算法思想

从起始点开始
以当前点为圆心,步长为半径,画圆,圆与曲线的交点就是要求的等弧长点
交点设为当前点,重复上一步,循环到结束点

代码

function [ arch_x ] = x_on_arch( x_start,x_end,p,step )
%X_ON_ARCH 求沿牙弓上等弧长的点的横坐标(弧长长度为step)
%   x_start:起始点的横坐标
%   x_end:结束点的横坐标
%   p:曲线多项式系数
%   step:步长(弧长)
p_size=size(p,2);
syms x;y=0;
for m=1:p_size
    y=p(1,m)*power(x,(p_size-m))+y;
end
  • 12
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值