Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

collisionSphere

球面の衝突ジオメトリの作成

R2019b 以降

説明

collisionSphere を使用して、原点を中心とする球面の衝突ジオメトリを作成します。

作成

説明

SPH = collisionSphere(Radius) は、指定された Radius をもつ球面の衝突ジオメトリを作成します。ジオメトリ固定座標系の原点は球面の中心にあります。

SPH = collisionSphere(___,Pose=pose) は、ワールド座標系を基準にして球面の Pose プロパティを pose に設定します。

プロパティ

すべて展開する

球面の半径。正のスカラーとして指定します。単位はメートルです。

データ型: double

ワールド座標系を基準とした衝突ジオメトリの姿勢。4 行 4 列の同次行列または se3 オブジェクトとして指定します。姿勢は、衝突ジオメトリを作成した後に変更できます。

メモ

姿勢を se3 オブジェクトとして指定する場合、Pose プロパティには姿勢が 4 行 4 列の数値行列として格納されることに注意してください。

データ型: single | double

オブジェクト関数

show衝突ジオメトリの表示
convertToCollisionMeshConvert collision primitive geometry into collision mesh geometry
fitCollisionCapsuleFit collision capsule around collision geometry

すべて折りたたむ

原点を中心とする球面の衝突ジオメトリを作成します。この球面は半径が 1 メートルです。

rad = 1;
sph = collisionSphere(rad)
sph = 
  collisionSphere with properties:

    Radius: 1
      Pose: [4x4 double]

球面を可視化します。

show(sph)
title("Sphere")

Figure contains an axes object. The axes object with title Sphere, xlabel X, ylabel Y contains an object of type patch.

半径が 1 メートル、長さが 3 メートルの円柱型の衝突ジオメトリを作成します。

cyl = collisionCylinder(1,3);

"z" 軸まで 2.5 メートルの並進に対応する同次変換を作成します。球面の姿勢を行列に設定します。球面と円柱を表示します。

mat = trvec2tform([0 0 2.5]);
sph.Pose = mat;
show(sph)
hold on
show(cyl)
view(90,0)
zlim([-2 4])

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains 2 objects of type patch.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019b で導入

すべて展開する