メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

Aero.Body クラス

名前空間: Aero

アニメーションオブジェクトで使用するボディオブジェクトを作成する

説明

Aero.Body クラスを使用して、Aero.Animation オブジェクトで使用するボディ オブジェクトを作成します。Aero.Body オブジェクトを使用するには、通常、次の操作を行います。

  1. アニメーション本体を作成します。

  2. ボディ オブジェクトを構成またはカスタマイズします。

  3. ボディをロードします。

  4. ボディのパッチを生成します。このステップでは、図の軸が必要です。

  5. timeseries データ ソースを設定します。

  6. 本文を移動または更新します。

デフォルトでは、Aero.Body オブジェクトは、機体のジオメトリと timeseries データに航空機の x-y-z 座標をネイティブに使用します。回転順序は z-y-x (psi、theta、phi) と想定されます。

別の CoordTransformFcn 関数を登録して、他の座標系の timeseries データを変換します。

Aero.Body クラスは handle クラスです。

作成

h = Aero.Body はアニメーション オブジェクトの本体を構築します。アニメーション オブジェクトは h で返されます。

プロパティ

すべて展開する

本文の名前。文字ベクトルまたは文字列スカラーとして指定されます。

属性:

GetAccess
public
SetAccess
public

データ型: string | char

関数ハンドル、文字ベクトル、または文字列スカラーとして指定される、座標変換を制御する関数。

属性:

GetAccess
public
SetAccess
public

ボディの位置。MATLAB 配列として指定されます。

属性:

GetAccess
public
SetAccess
public

データ型: double

ボディの回転。MATLAB 配列として指定されます。

属性:

GetAccess
public
SetAccess
public

データ型: double

ハンドルとして指定されたボディのジオメトリ。

属性:

GetAccess
public
SetAccess
public

データ型: double

関数ハンドル、文字ベクトル、または文字列スカラーとして指定されるパッチ生成関数。

属性:

GetAccess
public
SetAccess
public

MATLAB 配列として指定されたパッチ ハンドル。

属性:

GetAccess
public
SetAccess
public

データ型: double

スカラーとして指定された表示変換。

属性:

GetAccess
public
SetAccess
public

時系列ソースとして指定された時系列ソース。

'TimeSeriesSourceType' プロパティに従って保存および解釈される時系列データ プロパティ。

属性:

GetAccess
public
SetAccess
public

'TimeSeriesSource' プロパティに保存される timeseries データのタイプ。次のいずれかの値として指定されます。

timeseries説明

'Array6DoF'

6-DoF データ用の n 行 7 列の倍精度配列: time x y z phi theta psi'TimeSeriesSource' に 8 列以上の倍精度配列がある場合、最初の 7 列が 6-DoF データとして使用されます。

'Timeseries'

時間ごとに 6 つの値を持つ MATLAB timeseries データ:

x y z phi theta psi

値が再サンプリングされます。

'Timetable'

時間ごとに 6 つの値を持つ MATLAB timetable データ:

x y z phi theta psi

値が再サンプリングされます。

'StructureWithTime'

Simulink 構造体と時間、たとえば、Simulink ルート出力ポートのログ記録 'Structure with time':

  • signals(1).values: x y z

  • signals(2).values: phi theta psi

信号は、interp1 を使用して時間に対して線形補間されます。

'Array3DoF'

3-DoF データ用の n 行 4 列の倍精度配列: time x z theta'TimeSeriesSource' に 5 列以上の倍精度配列がある場合、最初の 4 列が 3-DoF データとして使用されます。

'Custom'

位置と角度のデータは、現在登録されている 'TimeseriesReadFcn' によって 'TimeSeriesSource' から取得されます。

属性:

GetAccess
public
SetAccess
public

データ型: string | char

timeseries 読み取り関数。関数ハンドル、文字ベクトル、または文字列として指定されます。

属性:

GetAccess
public
SetAccess
public

メソッド

すべて展開する

すべて折りたたむ

h = Aero.Body
h = 
  Body with properties:

                    Name: ''
       CoordTransformFcn: @nullCoordTransform
                Position: [0 0 0]
                Rotation: [0 0 0]
                Geometry: [1x1 Aero.Geometry]
      PatchGenerationFcn: @generatePatchesFromFvcData
            PatchHandles: []
        ViewingTransform: []
        TimeSeriesSource: []
    TimeSeriesSourceType: 'Array6DoF'
       TimeSeriesReadFcn: @interp6DoFArrayWithTime

この例では、本体 b を 5 秒の時間で更新する方法を示します。

b = Aero.Body;
b.load('pa24-250_orange.ac','Ac3d'); 
tsdata = [ ...
    0,  1,1,1, 0,0,0; ...
    10  2,2,2, 1,1,1; ];
b.TimeSeriesSource = tsdata;
b.update(5);

バージョン履歴

R2007a で導入