剛体のアニメーションを作成する際には、まずその剛体を表す形状を作成しなくてはなりません。MATLABでは、3次元形状を作成するのに patch
コマンドが利用できます。patch
コマンドは、3つ以上の頂点で定義される1つまたは複数の多角形の面(patch オブジェクト)を作成します。patch オブジェクトを組み合わせれば、任意の多面体を作ることができます。
例として、(1,0,0), (0,2,0), (0,0,3) の3点を頂点とする1つの三角形の面を描くMATLABスクリプトをコード1に示します。このスクリプトによる描画の結果を図1に示します。
% test_patch.m clear; close all; % Define vertices vertices = [ 1, 0, 0; % vertice #1 0, 2, 0; % vertice #2 0, 0, 3]; % vertice #3 % Define faces faces = [ 1, 2, 3]; % face #1 % Draw patch figure(1); patch('Faces', faces, 'Vertices', vertices, 'FaceColor', 'y'); % Axes settings xlabel('x'); ylabel('y'); zlabel('z'); axis vis3d equal; view([142.5, 30]); camlight; grid on;