主要内容

collisionCapsule

胶囊原始碰撞几何

    描述

    collisionCapsule对象是由半径和长度定义的胶囊原始碰撞几何。胶囊的中心线段与它的z设在。固定体框架的起点在囊的中心线段的中点。

    创建

    描述

    例子

    CAPS = collisionCapsule(半径长度创建具有指定半径的胶囊原语半径和长度长度.的半径而且长度参数设置半径而且长度属性,分别

    属性

    全部展开

    球体两端的半径,用非负标量表示。单位是米。

    例子:2.5

    胶囊中心线段的长度,指定为非负标量。单位是米。

    请注意

    这不是胶囊端到端的长度。胶囊的总长度为长度+ 2(半径)

    例子:4.5

    胶囊相对于世界框架的姿态,指定为4 × 4齐次变换矩阵。单位是米。

    例子:Trvec2tform ([4 2 5])

    对象的功能

    checkCollision 检查两个几何图形是否碰撞
    convertToCollisionMesh 将碰撞原始几何转换为碰撞网格几何
    genspheres 沿胶囊中心线段生成球体
    显示 显示碰撞几何

    例子

    全部折叠

    创建一个半径为的碰撞胶囊2和长度10.想象这个胶囊。

    cCapsule = collisionCapsule(2,10);[~,p] = show(cCapsule);

    按比例生成球体0.00.5,1.0胶囊的长度。

    spheres = genspheres(cCapsule,linspace(0,1,3));

    显示球体的位置。

    i = 1:length(spheres) disp(tform2trvec(spheres{i}.Pose))结束
    0 0 -5 0 0 0 0 5

    将胶囊的正面和边缘alpha设置为低值。这确保在将两个球体添加到图中时,它们都是可见的。

    p.FaceAlpha = 0.4;p.EdgeAlpha = 0.01;持有

    在胶囊上显示生成的球体。

    cellfun (@show球体);

    图中包含一个axes对象。axis对象包含4个patch类型的对象。

    扩展功能

    C/ c++代码生成
    使用MATLAB®Coder™生成C和c++代码。

    版本历史

    在R2022b中引入

    Baidu
    map