Home > リソース > MATLABでアニメーション作成 > 4. Patch による多角形面の作成
MATLABでアニメーション作成

4. Patch による多角形面の作成

剛体のアニメーションを作成する際には、まずその剛体を表す形状を作成しなくてはなりません。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
% 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;
コード1: (1,0,0), (0,2,0), (0,0,3)の3点を頂点とする三角形の面を描くMATLABスクリプト


test_patch

図1: patch による(1,0,0), (0,2,0), (0,0,3)の3点を頂点とする三角形の面