基于Robotics Toolbox机器人工具箱在3维空间中绘制任意复杂的2维曲线——以圆为例

       想在3维空间中任意画一个2维曲线(这里我们以圆为例方便理解,该圆可处于空间中任意姿态任意位置),其数学公式可能是难以简单给出的。不过基于机器人学中的坐标变换,我们倒是可以用机器人工具箱(由Peter Corke开发)轻松实现。

       我们先来回顾一下《机器人学导论》中的理论基础:

 

       现在让我们先考虑2维坐标系下圆的参数方程:

x=r*cos(\theta) ; y=r*sin(\theta)

       我们接下来所要做的只是给它们引入Z方向上的坐标,再让这个坐标系做平移和旋转变换。注意Pos是个4*1的列向量,最后一个元素1是为了矩阵相乘而引入的。在指定半径和圆心坐标后,我们利用左乘旋转矩阵设定圆的姿态(即trotx,troty,trotz函数),再引入坐标系的平移(P):

clc;
clear;

%指定圆心半径
radius = 3;

%指定圆心坐标
P = [0; 0; 0; 0];

x=P(1);y=P(2);z=P(3);

for a = 0: pi/20 : 2*pi    %利用坐标变换求出圆上的一系列点并保存在x,y,z中
    Pos = [radius*cos(a); radius*sin(a); 0; 1];
    A = trotz(0)*troty(0)*trotx(0)*Pos + P;
    x = [x;A(1)];
    y = [y;A(2)];
    z = [z;A(3)];
end

plot3(x,y,z);


结果如图:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值