基于Matlab 实现螺旋线 轨迹曲线绘制
首先,先设计一个GUI 的界面
在GUI 的界面内可以教导直线点位,然后基于直线的骨架生成螺旋线;
首先我们知道3d 的螺旋线,在某个角度下可以看似成一个很好看的2d 螺旋线,并且在工业上打磨经常会用到类似的路径。
但是由于这个轨迹的方程比较难以表示,其实需要用坐标 ×对应的转换矩阵;
所以索性,直接采用暴力构造的方式:
先上图:
对于这个2D 的图像,可以看作两个方向的叠加,首先Y 方向很简单,就是一个简谐震荡;
如图所示:
然后就是X 方向,X方向可以看作是两个波形的叠加
一个是一次函数,另外一个是一个简谐震荡
因此两个函数叠加便成了X
方程归纳
y=A*sin(B*x);
deltaX=-Ccos(D*x);
绘制范围: xmin xmax
根据上面调试可以得到如下的规律: B和D 属于频率的参数,且要保持相等,图像才会有规律,否则一团混沌。
设计参数:
A 变量 表示曲线的振幅
C 变量表示椭圆的短轴
B和D 相当于频率,其实是用来控制步进的距离
细节处理:
问题1:在规划轨迹中会存在两个点位,如P1(0,0,0), P2=(10,10,0)
一般问题为XY 平面内,不涉及Z 方向
此时,如何保证螺旋线段的起点是P1 终点是P2? 如果无法正好到达需要如何处理?
问题2: 在规划路径时存在多个点位,两条线段交点处的轨迹如何规划?