主要内容

collisionMesh

创建凸网格碰撞几何

描述

使用collisionMesh创建一个碰撞几何体作为凸网格。

创建

描述

例子

MSH= collisionMesh (顶点从3-D列表中创建凸网格碰撞几何顶点.顶点是相对于所选的框架(碰撞几何框架)指定的。默认情况下,碰撞几何框架与世界框架搭配。

属性

全部展开

网格的顶点,指定为N-by-3 array,其中N是顶点的个数。每一行顶点表示三维空间中某一点的坐标。注意,有些点可以在构造的凸网格内。

数据类型:

碰撞几何相对于世界框架的姿态,指定为4 × 4的齐次矩阵。您可以在创建碰撞几何图形后更改姿势。

数据类型:

对象的功能

显示 显示碰撞几何
fitCollisionCapsule 在碰撞几何体周围安装碰撞胶囊

例子

全部折叠

创建一个由单位球上随机选择的十个点的坐标组成的数组。为了再现性,将随机种子设置为默认值。

rng默认的N = 10;PTS = 0 (n,3);K = 1:n ph = 2*pi*rand(1);Th = *rand(1);分(k,:) = (cos (th) * sin (ph)罪(th) * sin (ph)因为(ph)];结束

从数组中创建一个凸网格碰撞几何。想象碰撞的几何形状。

m = collisionMesh(pts);显示(m)

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

创建第二个类似于第一个数组的数组,但这次由单位球上随机选择的1000个点组成。

N = 1000;Pts2 = 0 (n,3);K = 1:n ph = 2*pi*rand(1);Th = *rand(1);pts2 (k) = (cos (th) * sin (ph)罪(th) * sin (ph)因为(ph)];结束

从数组中创建并可视化一个网格碰撞几何。观察在球面上选择更多的点会得到一个类球面网格。

m2 = collisionMesh(pts2);显示(m2)

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

创建一个由立方体八个角的坐标组成的数组。立方体以原点为中心,边长为4。

cubeCorners = [-2 -2 -2;-2 2 -2;2 -2 -2;2 2 -2;...2 -2 2;-2 2 2;2 -2;2 2 2]
cubeCorners =8×32 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

附加cubeCornerspts2.从新数组创建并可视化网格碰撞几何。因为立方体包含球体,所以在创建几何图形时,立方体内部的球体点将被忽略。

pts3 = [pts2;cubeCorners];m3 = collisionMesh(pts3);显示(m3)

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

扩展功能

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

版本历史

在R2019b中引入

Baidu
map