Curves

カーブを作成および編集するには、Curvesツールを使用します。

カーブの概要

カーブは、XYデータ(2Dスプライン)で構成されるか、3Dモデリング空間に置いたライン形状(3Dカーブ)の作成に使用できる2つ以上の列ベクトルで構成されます。2Dスプラインは、フォースやモーションなどの他のMotionViewエンティティに対する参照入力として使用できます。3Dカーブは、Point to Curve(PTCV)拘束などの特定タイプの拘束に使用できます。



Figure 1.

次の表では、カーブのさまざまな用途の一部を示しています。

用途 説明
フォース Forcesを使用して、それらのフォースの非線形特性を定義します。カーブは、スプリングフォースと変形特性の関係や、減衰力と変形速度特性の関係を表現できます。このデータは、実験的に測定されることがよくあります。
Motions モーションを使用して、非線形変位と時間の関係、速度と時間の関係、加速度と時間の関係などを定義します。
ベクトル、微分方程式 Curvesを使用して、解析的に表すことが困難な関係を定義できます。
Note: 3Dカーブは、Point-to-Curve拘束などの特定タイプの拘束に使用することもできます。
MotionViewでは、次の2つのタイプのカーブを定義できます。
  • 2Dカーブ
  • 3Dカーブ
上記の各タイプは、以下のカーブとしてさらに細かく定義できます:

デカルトカーブ

デカルトカーブは2つ以上の互いに独立したベクトルで構成されます。これらのベクトルは、同じ数のデータポイントで構成する必要があります。

パラメトリックカーブ

パラメトリックカーブは、1つの自由パラメータuを変数として定義します。次の図では、カーブCが座標系OXYZを基準として定義されているとします。カーブ上の任意のポイントPの座標(OXYZで測定した座標)は、自由パラメータuを変数としてPのx、y、およびzの各座標を定義する3つの関数f(u)g(u)、およびh(u)を使用して一意に表現できます。このカーブの範囲は、uの開始値と終了値によって決定されます。これはカーブのパラメトリックな表現です。



Figure 2.

2Dパラメトリックカーブは、1つの自由パラメータベクトルUと2つの従属ベクトルXとYの3つのベクトルで構成されます。

3Dパラメトリックカーブは、1つの自由パラメータベクトルUと3つの従属ベクトルX、Y、およびZの4つのベクトルで構成されます。

カーブの作成

Curvesは、カーブを作成および編集するツールです。

  1. Project Browserで、カーブの追加先とするシステムを選択します。
  2. Project Browserでシステムを右クリックして、コンテキストメニューからAdd > Reference Entity > Curveの順に選択します。
    または
    Project Browserでカーブフォルダを右クリックして、コンテキストメニューからAdd Curveを選択します。
    または
    ReferenceツールバーのCurvesボタンを右クリックします。
    Add Curveダイアログが表示されます。
  3. カーブのラベルを指定します。
    カーブラベルはいつでも変更が可能です。
  4. カーブの変数名を指定します。
    デフォルトで、MotionView内のエンティティの変数名は特定の規則に従います。例えば、すべてのカーブエンティティの変数名は"crv_"で始まります。これは、MotionViewでモデルを構築する場合に従う推奨規則であり、モデル編集やモデル操作において様々なメリットが得られます。
  5. OKをクリックしてウィンドウを閉じるか、Applyをクリックしてエンティティの作成を継続します。
    カーブエンティティをモデルに追加すると、パネル領域にそのカーブのパネルが自動的に表示されます。

カーブの編集

MotionViewでは、フォースとモーションの非線形特性を表現したり、高次ペアジョイントの拘束経路を記述するためにカーブエンティティを使用します。2Dカーブは、フォースまたはモーションの非線形特性の表現に使用し、3Dカーブは、高次ペアジョイントで使用するために作成できます。

カーブのプロパティの定義

Propertiesタブでは、カーブの以下のプロパティを定義および編集できます。

  1. 現時点でCurvesパネルが表示されていない場合は、目的のカーブをProject Browserまたはmodeling windowでクリックして選択します。
    Curvesパネルが自動的に表示されます。
  2. 1番目のドロップダウンメニューで、定義するカーブを2D/3Dデカルトカーブとするか、2D/3Dパラメトリックカーブとするかを選択します。
  3. 前の手順での選択に応じて、uxy、またはzのいずれかのラジオボタンを選択します。つづいて、カーブのデータソースとしてFileMath、またはValuesを該当のドロップダウンメニューで選択します。
  4. データソースを定義します。
    Fileを選択した場合は以下の手順に従います。
    1. ファイルブラウザをクリックして、xベクトルとyベクトルのデータファイルを選択します。
    2. ベクトルごとに、Type、Request、およびComponentの各オプションを定義します。
      選択したファイルによっては、オプションが既に入力されている場合もあります。

      MotionViewは、.csv.txtなどの広く使用されているファイルフォーマットのほか、HyperGraphでサポートされている.abf.plt.dac.rspなどのデータフォーマットもサポートしています。

      曲線読み取り機能は、ファイルに記述された複数のデータブロックを扱い、それらをType、Request、およびComponentに整理します。TypeとRequestはデータのブロックとサブブロックで、Componentはサブブロックに記述されたベクトル(列)です。

      .csvまたは.txtをデータファイルとして使用している場合でも、TypeはUnknownに設定します。RequestにはBlock 1が表示されます。列にヘッダーを指定している場合は、そのヘッダーがComponentに表示されます。ヘッダーを指定していない場合は、Column 1Column 2などが列挙されます。


      Figure 3. MotionViewで曲線として読み取る場合のCSVファイルの列
    3. サブレンジで最初のデータポイントのインデックス番号を指定する値をStart Index欄に入力します。
      デフォルトは1です。
    4. サブレンジで最後のデータポイントのインデックス番号を指定する値を、End Index欄に入力します。
      ファイル内にデータポイントがいくつあるか不明の場合、ファイル内の最後のデータ値を設定するのに"last"という語を使用することができます。
    5. サブレンジを読み取る間隔を指定するポイント数をIncrement欄に入力します。
      例えば、ファイルにあるすべてのデータポイントを読み取るには増分値として1を入力します。1つおきにデータポイントを読み取るには2を入力します。デフォルトは1です。
      Tip:
      • 選択したファイルの内容をメモリに再び読み込むにはReload dataをクリックします。
      • テキストバージョンのファイルの内容をPreviewダイアログで表示するには、View Fileをクリックします。
    Mathを選択すると、カーブ計算機が表示され、ベクトルを数学的に定義できます。2つのサンプル式を以下に示します。
    説明
    crv_2d_math.x = 0:10:1 Xベクトルは0.1の一定間隔で0~10の数列を生成する式です。
    crv_2d_math.y = cos(crv_2d_math.x) YベクトルはXベクトルに余弦関数を適用したカーブの式です。
    Valuesを選択した場合は、ポイントごとにu、x、y、およびzの各データ値を入力します。表の右側にあるボタンを使用して、データポイント値をカット、コピー、ペースト、または挿入できます。
    Note: 使用可能なデータポイントは、1番目のドロップダウンメニューで選択したカーブタイプによって異なります。
    Tip: をクリックしてData Valuesダイアログを表示し、すべてのデータポイントを確認します。

    Type、Request、およびComponentの各オプションの詳細については、HyperGraphのオンラインヘルプで“XYデータファイルからのプロット構築”トピックをご参照ください。

  5. 2番目のドロップダウンメニューで、カーブをソルバーファイルに書き込むかどうかを指定します。
    このオプションによって、カーブデータをソルバー入力デックにエクスポートするかどうかが決まります。
  6. 3番目のドロップダウンメニューで、Curve pointsまたはControl pointsを選択します。
    このオプションによって、ポイントをカーブ上に正確に配置するか(Curve points)、カーブのフィッティングに使用するか(Control points)が決まります。
  7. 4番目のドロップダウンメニューで、Open CurveまたはClosed curveを選択します。
    このオプションによって、最初のポイントと最後のポイントを結合して閉じたカーブにするかどうかが決まります。Closed curveを選択すると、このカーブを使用した拘束条件のための連続パスが生成されます。
Tip:
  • Show Curveをクリックすると、カーブのプレビューダイアログが表示されます。
  • Export Curveをクリックすると、Export Curveダイアログが表示されます。ここでは、他のソフトウェアアプリケーションで読み取り可能な形式でプロットデータをエクスポートできます。詳細については、カーブのエクスポートのトピックをご参照ください。

カーブの属性の定義

Attributeタブでは、XベクトルとYベクトルのスケールとオフセットを定義できます。データベクトルがスケールされる際、指定した値をベクトルに乗じます。元のデータ値が実際に変更される訳ではありません。データベクトルをオフセットすると、データは、対応する軸に沿って平行移動します。

  1. Attributesタブをクリックします。
  2. Propertiesタブでの選択に応じて、U、X、Y、またはZの方向の値をScale欄とOffset欄に入力します。
    Scale欄とOffset欄には数式を入力することもできます。例えば、華氏を摂氏に変換する数式が考えられます。
Tip: Linear Extrapolationボックスをアクティブにすると、ソルバーでlin_extrapフラグが使用されます。線形外挿を使用すると、独立変数の計算値が指定の境界を超えると、ソルバーによってカーブが線形外挿されます。

カーブの可視化の定義

Visualizationタブでは、カーブを表示(可視化)する方法を定義できます。

Note: このタブは、FileタイプとMathタイプの2Dデカルトカーブの場合にのみ使用できます。
  1. Visualizationタブをクリックします。
  2. Extrapolateオプションをアクティブにして、カーブを外挿する比率(パーセンテージ)を入力します。
  3. Interpolateオプションをアクティブにします。
  4. ドロップダウンメニューで、カーブの内挿方法を選択します。
Tip:
  • Show CurveをクリックしてPreviewダイアログを表示します。
  • データポイントを示すシンボルをカーブ上に配置するにはSymbolsをアクティブにします。

カーブのユーザー定義プロパティ

必要に応じて、User-Definedタブを使用してカーブを定義します。これにより、ユーザーサブルーチンを使用してカーブのプロパティを指定できます。

  1. PropertiesタブでUser-defined propertiesチェックボックスをクリックします。
  2. 新たに追加されたUser-Definedタブをクリックします。
  3. ユーザーサブルーチンを定義します。
    1. ユーザーサブルーチンに渡されるパラメータを含むUSERソルバー関数を用いた式を与えます。
    2. または、Use local file and function nameチェックボックスをアクティブにして、ソルバーからアクセスできるサブルーチンコードを収めたローカルファイルを指定します。
      このオプションを指定していない場合、MotionSolveでは、そのユーザーサブルーチン読み込みルールに従ってサブルーチンが検索されます。
    3. ドロップダウンメニューから関数タイプを選択します。
    4. サブルーチンについてのローカルファイルを選択します。
      指定するファイルのタイプは、選択した関数タイプによって異なります。例えば、DLL/SOを選択した場合は、.dll拡張子(Windowsの場合)または.so拡張子(Linuxの場合)を持つファイルを指定できます。
    5. エンティティを定義するサブルーチンで関数名を指定するか、MotionViewで指定されたデフォルト名をそのまま使用します。

カーブのエクスポート

プロットデータは、他のアプリケーションソフトで読み込み可能な数種の異なるフォーマットでエクスポートすることができます。

  1. PropertiesタブでExport Curveボタンをクリックして、Export Curveダイアログを表示します。
  2. Typeドロップダウンメニューから、エクスポート先データの形式を選択します。
    次のASCIIファイルのエクスポートタイプがあります:
    タイプ ファイルパス 説明
    Excel .csv CSV(コンマ区切り値)形式。CSVは、ほとんどのスプレッドシートアプリケーションと互換可能。データはコンマ区切り。
    Columns .col Xデータとして1列、Yデータとしてもう1列。空白ラインは、プロット内の各カーブを分離。データはタブ区切り。
    XY Data .dat Xデータとして1列、Yデータとしてもう1列。プロット内の各カーブ用のデータセットは、XYDATAで始まりENDATAで終わる。XYの単位および軸ラベルは、各データセットの上部に含まれる。データはタブ区切り。HyperMeshではこの形式が使用されます。
    X Graph .xrg Xデータとして1列、Yデータとしてもう1列。XYの単位および軸ラベルは、各データセットの上部のコメントとして含まれる。データはタブ区切り。
    まとめ .sum サマリーファイルには、プロットタイトルと共に、プロット内のカーブ、XとYのデータラベル、および各カーブの最小値と最大値をリストアップするテーブルが含まれる。
    ADAMS Spline .adm 各カーブのX値がコンマ区切りの列に、続いて、Y値がコンマ区切りの列にリストされる。ファイル内の最初のデータセットは、SPLINE/0とラベル付けされる。連続する各データセットのラベルは1ずつ増加。
    Altair Binary .abf ウィンドウ内のすべてのカーブがAltair Binaryフォーマットファイルへ書き出される。
    DAC .dac DACファイルにカーブデータをエクスポート。カーブ1つにつき、1ファイル。複数のカーブをリクエストすると、一意のリクエスト名をファイル名に追加して、出力ファイルの名前が修正されます。
    RPC .rsp RPCファイルにカーブデータをエクスポート。すべてのカーブが1つのファイルにエクスポートされる。
    Excel Europe .csv CSV拡張子付きのファイルを書き出しますが、列の区切りにコンマではなくセミコロンを使用します。
    User-specified formats .

    ユーザー指定のインポートテンプレートおよび外部リーダーを作成します。

    詳細については、HyperGraphのオンラインヘルプをご参照ください。

    Note: preference.mvwファイルにある*AddExportFormat()ステートメントを使用して、Export Curveダイアログにエクスポートテンプレートを追加できます。

    エクスポートフォーマットの追加の詳細については、MotionScriptリファレンスをご参照ください。

    エクスポートフォーマットのテンプレートは、Templexプログラミング言語を使用して記述されます。

  3. エクスポートされるファイルの名前をFile欄に入力します。
    このファイルは、ファイルブラウザを使用して選択したディレクトリ、またはプログラムの起動ディレクトリに保存されます。デフォルトのファイル名はexport.extです。extは、エクスポートテンプレートで指定したファイルタイプを示します。