逆運動学(Proバージョンのみ)。 骨格アニメーション、直接および逆運動学

「逆運動学」とは何ですか?

逆運動学の作業は、このような手動構成のセットを検索することであり、これは指定された点に最も柔らかく迅速かつ正確な動きを保証します。 しかしながら、多くの既存の方法は、高い計算的複雑さおよび得られるPOの不自然性として、そのような不都合に罹患している。 この記事では新しいものについて説明します( おそらく記事を書くとき - 2010)「指令と逆の方法」と呼ばれる発見的方法( 逆運動学に到達した前方と後方、それからただのFabrik)、
Fabrikは直線上の点を直接受け取ることを支持して回転と行列の使用を回避します。 このうち、それはいくつかの反復のみを犠牲にし、結果として計算コストが低く、視覚的に自然なポーズがあります。 Fabrikはまた、複数のチェーンおよび/またはエンドポイントを使用するだけでなく、制限の課題にも対処します。 この投稿がこの方法についてのものです。

オリジナルは非常に大きいため、この絞りに理解してください。これは、トピックからの水、関連性があり、不適切な繰り返しや切り離し、そして他のアルゴリズムとの比較を持っています。 私はこれを無視することにしましたので、それはテキストのわずかな部分しか含まれていません。しかし、それは本質を反映しています - 約。 翻訳する

人工体モデル

一組の固体体からのシステムは、rybraによって互いに接続されたノードと呼ばれる一組の固体本体からなる。 すべてのリブは、動きを持つコンポーネントに関するものです。隣接するRöbembersに比べて特定の角度内の動きを制限します。 仮想ボディモデリングは人間のポーズを計算するために重要です。 適切に派遣された制限を持つモデルはあなたがより現実的な動きを得る機会を与えるでしょう、一組の正しい投稿を得ることができます。 ほとんどのモデルはボディ部分の硬さを含みますが、それは現実への近似的なアプローチです。
スケルトンは通常、接続されたリブの固体セグメントの階層としてモデル化されており、その各々は長く、形状、両方とも重量と同じような特性によって与えられます。 ロボボハンズまたはアニメーションキャラクターの方法で、マニピュレータは、リブで互いに共役している、互いに共役したチェーンとしてモデル化されています。 インデックスを有する骨の各移動および/または回転は、チェーンの後続のすべての要素に影響を与える。 チェーンは次のように形式化することができます。補助要素なしの任意のノードを終点からする必要があります。 各エンドポイントについて、チェーンの根本数(チェーンの先頭)が満たされるまで、骨格を介して骨格を介して動きに戻すことによって形成することができます。 定義によって、IKタスクでは、ルートノードの静的が想定されます。 しかしながら、方法は通常根の動きに対処する。

Fabrikアルゴリズムのフルサイクルのアルゴリズム(疑似コード、索引1の下のアレイの最初の要素)

ソースデータ:ノードP [i]の位置i \u003d 1 ... N、目標位置T、および共役ノード間の距離の値の位置の配列。 d [i] \u003d | P -T | i \u003d 1、...、N - 1出力の場合:新しい位置p [i]、i \u003d 1 ... n //根の間の距離とdist \u003d | P - T | // Dist\u003e D + D + ... + D(//目標はI \u003d 1、...、N-1 DO)の場合、オブジェクトの到達可能性を確認できます。(//距離Rはあります。 TとノードP [i] \u003d | T - P [i] \u003d d [i] / R [i] / R [i] / Rの新しい位置を見つけるp [i] p \u003d(1 - LAMBDA [i])* P [i] + Lambda [i] * t))))(// DELは再ハングされました。そのため、BはノードPBの新しい位置になります\u003d P //最終ノードP [N]と/ /目標位置T公差値(許容範囲)の距離(許容範囲)difa \u003d | Pifa\u003e Tol Do(//ステージ1:直接後続//設定するターゲットとしての最終ノードP [N](おそらくターゲットの位置に入れることのために - 約。トランス。)P [N] \u003d T(/)、...、1 DO(/ / p [i]ノードと新しいPr位置との間の距離R [i]を取得します[i] \u003d | P - P [i] | Lambda [i] \u003d D [i] / R [i] //計算ノードP [i] p [i] \u003d(1 - λ)* P + Lambda [i] * //ステージ2:ルート要素pを設定する初期位置p [i] \u003d b I \u003d 1、...、N - 1(//ノードPと位置Pとの間の距離R [i]を取得します[i] \u003d | \u003d | P - P [i] | LAMDA [i] \u003d D [i] / R [i] //新しい位置P [i] P \u003d(1 - λ[i])* P [i] + Lambda [i] * P)DIFA \u003d | .. p [n] - t | ))))

2.Fabrik - IK問題の新しいヒューリスティックソリューション

この部分はFabrikメソッドの本質を提供します。 直接モードと参照モードで既に計算されている位置を使用します。 Fabrikは各ノードの角度の1つによって誤差を最小にする。 それら。 最後のノードから始めて、各接続ノードの角度を調整しながら、チェーンバイパスが反対方向に発生します。 この方法は、回転の変換とは対照的に、線上の点を検索する点でノード位置を検索するタスクを指す。 その結果、時間を節約して計算数を減らすことができます。 その多くを想定してください p、...、p [n] マニピュレータノードのさまざまな位置です。 それはそれとします p ルートノードとは p [n] エンドノードです 簡単にするために、一方のエンドノードを残します。 目標は位置によって表されます t そして初期基本位置 b。 Fabrikメソッドは上記のリストに表示され、左側のピクチャ内のフルサイクルのグラフィカルな解釈、1つのターゲットポイントとチェーン内の4つのノードがあります。 図のアルゴリズムのフルサイクルを検討してください。

  • a. - マニピュレータと目標の初期位置。
  • b - エンドノードを移動します p 目標に。
  • c. - 位置を検出します p "" p "" そして p、距離 d ポイントから p "".
  • d - すべてのノードに対して繰り返します。
  • e. - アルゴリズムの2段目:めったに要素を観点から移動する p "" 彼の初期位置に。
  • f - すべてのノードに対して繰り返しますが、今回はベースから始まり、エンドノードに移動します。 最終要素の位置が十分な距離で目標に近づくまで、アルゴリズムが繰り返される。

詳細に:
まず、ノード間の位置(配列 dその後、目標点が達成されたかどうかを確認する。 それはルートノードと目的の間の距離と見なされます( dIST。)、この距離がノード間の総距離量より少ない場合、目標は達成可能であり、そうでなければいいえ。 目標が達すると、フルサイクルは2段階に制限されています。 最初の段階で、アルゴリズムは最終的な要素から始めて各ノードの初期位置を評価します p [n] マニピュレータの基部に移動します p。 したがって、目標位置をエンドノードの位置にすることができます。 p "N] = t。 まっすぐになります ll l p そして p "N]。 インデックスを持つ新しいポジションノード n-1, p ""距離でこの行にあります d から p "N]。 同様に、インデックスを持つノードの新しい位置 n-2。, p ""ダイレクトを使用して計算できます ll l p そして p "" 距離に d から p ""。 最後のノードを含むすべてのノードについてすべての新しい位置がカウントされるまで、アルゴリズムが繰り返されます。 ルート要素が必要な位置に移動する場合、Fabrikは説明されているように機能し、唯一の違いは新しい位置です。 p "" ルートノードは目的の位置になり、初期化されません。
完全な反復の後、すべての場合(観察によって)エンドノードはターゲットに近づきます。 最終ノードが目標位置まで落ちるか、または許容距離に近づくまで、必要な回数について手順を繰り返す。 リミッターの導入なしのFabrikメソッドの実装は、目標が達する場合は任意のターゲットポイント/チェーンで行われます。 しかしながら、ターゲットが回路を伸張させることができるのに十分な場合、遮断状態が必要であり、これはエンドノードの最後位置と現在位置を比較し、エンドノードがある場合にはアルゴリズムの実行を停止するであろう。ある値(epsilone)より少ないシフトした。 同じ場合、特別な場合には、アルゴリズムは一定数の反復後に中断されます(ただし、このような状況は満たされていません)。
いくつかの反復におけるより速い結果および解決策については、コンフォーマル幾何学代数(コンフォーマル幾何学代数、次いでCGA)の使用と共に最適化することが可能である。 CGAは、代数オブジェクトによって表示される球、ストレート、プレーン、サークルなどの基本的な数字に有利です。 したがって、2つの既知のノード間に配置されたノードの位置の検索は、2つの球の交差によって、これらのノードに対応する位置の中心と、所望のアセンブリの位置との間の距離に等しい半径との交差によって表すことができる。ご利用いただけます; ノードの新しい位置は、2つの球体の交点によって形成された円の最も近い点にあります。 その他の 簡単な最適化 最後のターゲットの方向への直線の直線の直接構成です。

3.複数のエンドノードを使用してモデル化します


1つのエンドノードの場合と同様に、アルゴリズムは2つの段階に分けられます。

  • 最初の段階はまったく同じであり、今回は各エンドノードから始まります。このノードからこのノードへの移動は、サブベース(おそらくサブベースはそれに隣接するいくつかのリブを持つノードです。トランス。 )。 したがって、サブベースのための非常に異なる位置、それに私たちが持っているエンドノードのいくつかのエンドノードが接続されています。 最終的な位置は、これらの位置から重心(トビ、単に算術平均 - 約します)とみなすことができます。 その後、アルゴリズムの実行は続きます ノーマルモードサブベースからルートに移動します。 サブデータベースが独自のサブベースを持つ場合、それらに関連して同様のアクションが生成されます。可能な位置のリストが行われ、その後、このサブベースは位置リスト全体から重心に設定されます。
  • 第2段階では、通常のアルゴリズムは各ノードに適用され、ルートノードからさらに移動します。 同時に、各チェーンはエンドノードになるまで個別に処理されなければなりません。また、それらのそれぞれに対する繰り返しは、より多くのサブデータベースです。 エンドノードが目標に達するまで、または割り込み状態が機能するまでプロセスが繰り返されます。

4.リミッサー

そして最後に、この記事の最も美味しい部分はリミッターを使用して計算されます。 彼らは、それがすでに推測する価値があるので、本物の生物とのより大きな類似点を推測することが必要です。 ノード自体は、通常、3つの自由度を特徴としています。 ノードの回転は、その終了位置を反映し、それ自身の軸周りの回転(1自由度)を反映させる「単純な回転」(2自由度)として特徴付けることができる。 したがって、ノードの動きを2つのフェーズに分割し、それらにリミッタを適用すると、ノードの位置を制御できます。 限界自体も同様に課すことができます。 アルゴリズムは反復的であり、アルゴリズムの各反復で回転の制限を適用することができます。 リミッタは同時に、アルゴリズムの収束に影響を与えません。 リミッタを適用するという主なアイデアは、制限内のノードを再配置して配置することです。

  • a. - マニピュレータと目標の初期設定。
  • b - エンドノードを移動します p 目標にそれを焦点を当てる。
  • c. - 位置を検出します p ""ポジション間の線に横たわっている p "" そして p、距離 d ポイントから p "".
  • d - ポジションへのノードをリードします p "" 彼はエッジコネクティングに沿って見たように見た p "" そして p "".
  • e. - 制限楕円の計算:許容位置は網掛け領域にあります。 この段階では頂点のどれもどこでも移動しません。
  • f - ノット p 位置に移動します p ^。新たな位置が確実にして、影付きの楕円の最も近い位置です p ^。 許容される限界にあります。
  • g - ノードを移動します p ^。 その時点で p ""リブの長さを節約する。
  • h - リーライン p ""制限の向きを満たすために。

この手順はすべてのノードに対して直接繰り返されます。 逆順序同様に、本実施形態のように、変位を行った。 同時に、「楕円」の制限はおそらくリブの特徴であり、ノードではなく、 2段階では、ナビゲーションは楕円に移動する必要があります p - 約 翻訳する


骨格アニメーションは、全般的な理論が非常に単純であるが、特に結果が非常に困難であるので、実際の結果を達成するために非常に訴訟である。

ただし、「Webライブ - 世紀習得」という言葉の正義のために、何年もの間アニメーションを求めるとは考えていません。

一般的に、骨格アニメーションは、比較的少数の制御要素、および外部的および作業の原理によって、スケルトンまたは人形の構造によって、3Dフィギュアのアニメーションです。

彼が製造されているので、私たちは「縁」の記事で見ました。 合理的かつ正しくリギングが行われたのかから、最初に何かをアニメートしようとした結果。 骨階層がそれがそうでなければならない場合、チェーンの挙動、ならびにそれに結び付けられたピークは「生命のような」になるでしょう。 エラーは完全にばかげた結果につながる可能性があります。たとえば、足を「去る」ことができます。

熟練した用途では、骨格アニメーションは力を大幅に節約することを可能にします - 自然に、頂点と多角形のグループを配置するために場所から行われるのではなく、いくつかの「骨」を動かしやすいです。

スケルトン計画には2つの主要な種類があります - これは直接運動学(順調運動学 - FK)と逆、または逆運動学(逆運動学 - IK)です。 それらはリギングの段階で選択されます、しかし、骨格アニメーションからのこのプロセスは一般的に不可分です。

そのため、肉を追加することなく、「骨」の別のチェーンを作成します。 すべての操作はBlender3Dパッケージ、したがって、そこからのスクリーンショットで実行されます。



最初の骨が「親」で、その後のすべての骨が前の階層にあります。

直接運動学を使用している場合は、親が親のレベルより下のLEVERの下にリンク(骨)を移動しようとしている場合は、下流のみが移動するという事実につながります。



骨を回す 2 、彼女と一緒になった(しかし1つの直線上に残った)骨 3 そして 4 .

これは直接の運動学です。骨の階層内の長老の動きは、若い動きが動くことにつながります。

逆運動学を使用するとき、アルゴリズムは正確に反対のことを判明します。




逆運動学の自動選択のモードを設定することによって(ブレンダーが最適なオプションを拾い上げ、時には非常に成功している)、階層内の最も若い骨を反っている 4 ; 鎖全体が湾曲している。

チェーンリンク、その位置の変化は他のリンクの位置の変化をもたらす、エフェクターと呼ばれます(「影響力のある」の不思議な翻訳がありますが、この単語はどのように翻訳するのでしょうか..)



焦点を当てた骨 3 。 リンク 1-2 ASの位置を変更しました 4 - リンクで1つの直線上に残る 3 。 骨 3 今はエフェクター「オーム」です。そして彼の階層の下にあるすべては、直進的なキネマティックスアルゴリズムの対象となります。

逆運動学は、主に最終リンクの正確な位置が必要な場所に適用されます。 目的の点 (たとえば、キャラクターの脚を歩くとき、地球の硬さを表すポリゴンでは表面上に「滑りませんでした」。

最も重要なのは、リギングステージでの要素を移動させるためのリミッタ(制約)の有能な配置です。 たとえば、文字モデルの四肢は「合理的な擬人化限界で」行動する必要があります。

次に、動きを自動化するプロセスが始まります - すべてが通常のアニメーションと同じ方法で行われます。 主要担当者は個々の管理要素に設定されており、他のすべてのものをドラッグします。 この場合、アニメーションパッケージは、すべてのリンクに対して、一度または個々のグループのために個々の骨のみに鍵位置を登録することができる。 同時に、アニメーションに参加している要素ごとに動き/回転/スケールが生成されます。 モダンなパッケージは、もちろん、過剰なツールを強制的に節約するためのツールを提供しています - たとえば、直接複数の要素の管理を「グローバル化」し、それらを多かれ少なかれ都合の良い方法でグループ化します。 以下のスクリーンショットでは提示されています 作業窓 アクティブなアクションエディタとタイムラインエディタでブレンダー。

それにもかかわらず、高品質のアニメーションを作ります - 一人の要素の影響のための膨大な数の要因を必要とします。 Rigingに関する記事で既に述べたように、人類学やZoomOrphicのキャラクターのアニメーションでは、現実世界での会話前と要素の対応する関係の解剖学的特徴を念頭に置いて行われるべきです。

さて、ついに、目標が「現実的な」アニメーションではなく、スタイリゼーションがアニメーションに描かれていることを目的としたら、それからレイドされた悪名高い12の原則を念頭に置いてください。

私たちはジョイントツールで働き、それがどのように機能するかを考え出した。 それでは、あなたがどのように関節をコントロールすることができるかを見てみましょう。 簡単な方法。 この章では、私はこれらの手段のいくつかについて話します、そしてそれから私たちは彼らを私たちのキャラクターのリギングのためにさらに使うことができるでしょう。 そして私があなたを紹介する最初のツールはあなたが知っておくべき最も重要なツールの1つです。 逆運動学(逆運動学)、それがどのように機能するか、そしてそれを構成する方法の基本とは何ですか。

逆運動学 - スケルトンジョイントを制御するための2つの方法のうちの1つ。 最初の方法は順方向運動学(直接運動学)と呼ばれ、本質的には回転です。 それを使って、あなたは接合部を順番に回して戻し、これは私たちの関節が互いに異なる方向を変えるだけでなく、最も自然な方法で最も自然な方法です。 つまり、私たちの体のあらゆる動きはいくつかの関節の回転です。

逆運動学は、目標、つまり関節が回転する場所の概念に基づいています。 これにより、回転時にジョイントの最終位置を指定できます。 これを覚える最も簡単な方法は、まっすぐな運動学が関節の回転に基づいていることを理解することであり、逆運動学はそれを回転させたときに空間内にあるべき丘の位置に基づいています。

例をすばやく見せてみましょう。 ジョイントの2つの同一のチェーンがあります。 関節の最初のチェーンは逆運動学を持っていないので、それの管理は順方向運動学から、そして私たちの正しいチェーンで起こり、私たちはikハンドルを持っていて、逆運動学を使って関節を制御することができます。 プロジェクションウィンドウ側面ビューに行きます。 そして、私は投影窓のモデルを近似して良く見えます。

もう一度、フォワードキネマティックスはターンです。 この関節のチェーンの端を選び、このジョイントを座標の中心に移動したいです。 私は1つの点を中心にこれらすべての関節を回転させます。 すぐにやり始めましょう。 Eキーを押して回転ツールをオンにします。 だから私はこのジョイントをこのように回転させます、そしてこれは再び少し戻ってくるでしょう、そしてあなたは再びこれを回す必要があるかもしれません。 私は今眼の上のすべてをやります、そして、これらの関節があるときに絶えずきちんにされないようにしていません。

逆運動学はこのプロセスをはるかに簡単にします。 このチェーンに逆の運動学を使ってどこかに移動したい場合は、次のようにクリックする必要があるのをクリックして、IKハンドル1と呼ばれます。 今度はWを押して移動ツールに移動し、単にターゲットに移動します。

それはとてもシンプルです。 Mauaは自動的にすべての関節を均等に達成して目標を達成します。 しかし、私がたとえば、この目標の外に関節を持ってきても問題があります。 したがって、私たちが望むように私たちはどんなポイントを達成することはできませんが、あなたが近づいたポイントを選ぶならば、すべてが判明します。 気づくように、これら2つの方法はさまざまな状況で使用されています。

通常、前方運動学はターンに基づくように、私たちにとってより自然な動きを与えます。これは文字のアニメーションに非常に自然に見えます。 しかし両方の方法にはある場所があります。 私はそれがどのように機能するかを示しました、今すぐそれらを素早く設定する方法をあなたに示しましょう。 新しいシーンファイル/新しいシーンを作成して、空のスペースを取得しましょう。 そして投影ウィンドウ側面図に進みます。 スケルトン/ジョイントツールを選びます。

2つの骨からなる一連の関節の連鎖を作りましょう。 ここで左ボタンをクリックして関節を作成します。 私は中心軸について少し遅くし、ここで別の関節を作ります。 ここで小さな角度を得ました。これは、逆運動学を示しています。 前の章では、前にそれをやりました、そして今、私たちがする理由をあなたに示すつもりです。 今、私たちは関節の連鎖を持っているので、このチェーンに逆運動学を取り付けましょう。

スケルトン、IKハンドルツールに行くことも、このアイコンを使用することもできますが、両方とも同様に機能します。 今、私たちはIKチェーンをやる最初の関節を選ぶ必要があります、それを上にしましょう。 そして今最後の関節、それは底になります。 中間の関節がありますが、すぐに後者を正確に選択することが重要です。

そして私達にikhandle1があります1。 あなたが見ることができるように、私たちはそれを選ぶことができます、そしてあなたが見ることができるように、私のジョイントはこの方向に曲がっています。 私がまっすぐなチェーンをした場合、私はジョイントを曲げる方向に理解できないので、ikhandleはうまくいきませんので、ここで小さな曲げをしました。 アウターレイヤを見てみましょう。 見て、ここに私たちの関節があります。

そしてIkHandleは別のオブジェクトで、ジョイントのチェーン上にはありません。 したがって、私たちはそれを別々に動かして関節の位置を変えることができます。 MauaのIKハンドルと逆運動学と協力する方法の基礎です。

したがって、私たちに関節、直接運動学と逆運動学を制御するための2つの方法があることを覚えておく必要があります。

逆運動学 (逆キネマティックアニメーション, 英語 逆運動学、IK) - 関連する柔軟なオブジェクトのパラメータを決定するプロセス(例えば、 キネマティックパラ または キネマティックチェーンこの目的の必要な位置、向き、位置を達成するために。 逆運動学はモーションプランニングの一種です (ENG。)。 逆運動学は積極的に使用されています ロボット工学 、三次元 コンピュータアニメーション そしてB. コンピュータゲームの開発 。 主に、他の環境対象と比較して1つの物体の可撓性関節の正確な位置決めが必要な状況で使用されています。 逆運動学的アルゴリズムは反対のアルゴリズムです ダイレクトキネマチカ.

百科事典YouTube。

    1 / 3

    3DS MAXの直接と逆運動学

    Anime Studio Pro 10,11(MOHO PRO) - 骨の文字に逆運動学を接続する方法

    アニメスタジオプロ(MOHO PRO)/フルインバースキネマティクスのフルボーンインバースキネマ

    字幕

description

逆運動学 まっすぐ 、使用して作成された文字またはオブジェクトのモデルに適用される 骨格アニメーション 。 骨格アニメーションの本質は、オブジェクトが関節によって接続された一連の固体セグメント(コンポーネント)からなることです。 英語 ジョイント)。 この場合、セグメントはインテであります キネマティックカップル どの順番に団結しています キネマティックチェーン 。 これらのセグメントは、「アッパー」レベルと「低い」レベルを持つ階層チェーンを形成します。 上位レベルのセグメント(コンポーネント)は、コンポーネント - 先祖(または親セグメント)、および下位コンポーネント(または子会社)のコンポーネントと呼ばれます。 たとえば、男の手を考慮すると、肩関節が上層になり、指先は最低、つまり、肩関節への子孫コンポーネントです。 Sustaをロックします チェーンの中にあり、親(肩)と子会社(手首、指)のセグメントの両方があります。

逆運動学からの直接運動学間の主な違いは、直接的で、階層チェーンに沿って上から下への階層チェーンに沿って伝送されることです。 例えば、股関節運動が動くと、すべての子孫が動く、すなわち膝関節および他のすべてのもの。 逆運動学は直径方向に直接反対である原理を使用しています - 成分 - 子孫の動きは、祖先の構成要素の位置の変化をもたらし、すなわちアルゴリズムは成分 - 祖先の位置と方向を計算する。子孫コンポーネントの位置と方向に基づいています。

逆運動学では、子供セグメント(コンポーネント - 子孫)が他のオブジェクトの位置と方向に変化し、別々の階層的なセグメントの途中に位置し、エフェクタと呼ばれます( 英語 エフェクター)。 エフェクタがこの階層チェーンの有限オブジェクトである場合、それは最終エフェクタと呼ばれます( 英語 エンドエフェクタ)。 階層チェーン全体が操作されていることがエフェクタを通過することです。 最終的な効果の位置および/または方向を変えることは、逆運動学の法則に従って、階層チェーンの全セグメントの位置および/または向きの変化をもたらす。 単純な(最終的な)効果的なものの位置や向きを変えることは、直接の運動学の法則の下で変化するオブジェクトの位置、および階層の法則に従ってオブジェクトを含むという事実につながります。運動学

逆運動学の成功した実装への鍵は、制限内のアニメーションです( 英語 制約):文字モデルの手足は、合理的な擬人化限界で動作しなければなりません。 彼らが働く環境のような物理的な制限を持つロボットデバイスと全く同じ状況と、関節の動きと限られた物理的努力とそれが働くことができる速度を制限します。

使用と例

逆運動学は、アーティストがよく使う道具です 三次元グラフィック 。 アーティストのために、関節角を直接操作することよりも、所望の空間効果を表現することがより容易である。 例えば、逆運動学は、アーティストが三次元ヒューマノイド文字の手モデルを所望の位置および向きに移動させることを可能にする。 同時に、アーティスト自体ではなく、手首、肘、および肩関節の右隅を選択します。

例えば、人が彼の手でドアハンドルをつかみたいのなら、 人間の手や体の正しい位置決めのために必要な計算をしなければなりません。 主な目標は手を動かすことですが、望ましいオブジェクトに手を差し伸べるためにいくつかの関節を持つ多くの複雑な接合部を使用する必要があります。 同様に、技術的応用におけるプロセスが発生する - 所望の目標を達成するために、四肢の位置に対して逆運動学の数学的計算を実行しなければならない。 例は、逆運動学の計算がしばしば必要な場合であり、ロボット工学です。 たとえば、オペレーター ロボット オブジェクトを置きたい マニピュレータ しかしながら、当然のことながら、彼はマニピュレータのそれぞれの調音を別々に管理したくない。

逆運動学が使用される他のアプリケーションはアプリケーションです。 コンピューターグラフィックス そして アニメーション 。 たとえば、アニメーターはヒューマノイドの文字のモデルを管理したいです。そのアニメーションはコンピュータによって生成されますが、個々の関節をアニメートすることは非常に困難です。 解決策は、「人形人形」の仮想作成をシミュレートし、アニメーターが手、脚および胴体人形で動くことを可能にし、そして逆運動学を使用しているコンピュータは自動的に肢の必要な位置を生成して結果を達成するために自動的に四肢の必要な位置を生成することを可能にすることである。

逆運動学はよく使用されます コンピューターゲーム ヒューマノイドのキャラクターのアニメーションを作成する。 基本的に、逆運動学は人間のような存在または人のモデルの足のアニメーションを作り出すために使用されます。 たとえば、平らな平面に沿って移動すると、人や地面の動物の動き(歩く、走り)のアニメーションを作成するのは非常に簡単です。 しかし、風景が不均一である(バギー、でこぼこ、交差、山岳地形)、正確なウォーキングアニメーションの作成は実際には不可能な仕事です。 脚のアニメーションは表面の軽減に対応しないであろう。 「それに)。 高品質のためです 効果的な解決策 これらの問題は逆運動学を使用しています。

逆運動学を使用する他のアプリケーションには、対話型操作、アニメーション管理、および 衝突を避ける.

ノート

外部リンク

英語を話すソース

  • Hugo Elias。 2011年8月13日にアーカイブされた逆運動学。
  • Hugo Elias。 逆運動学 - メソッドの改善(英語)。 freespace.virgin.net。 2009年6月5日、2011年8月13日にアーカイブされました。
  • ロボット逆運動学(英語)。 www.learnaboutrobots.com。 2009年6月5日、2011年8月13日にアーカイブされました。
  • ビデオゲームの歌詞はどのようにして流体的に移動しますか? (eng。) 2009年6月5日、2011年8月13日にアーカイブされました。
  • Martin John Baker。 3D理論 - 運動学 - 関節逆運動学(英語)。 www.euclideanspace.com。 2009年6月5日、2011年8月13日にアーカイブされました。
  • Lydia E. kavraki。 タンパク質逆運動学とループ閉鎖問題(英語) cnx.org。 2009年6月5日、2011年8月13日にアーカイブされました。
  • ディエゴパーク。 コンピュータグラフィックス(英語)。 diegopark.googlepages.com。 2009年6月5日、2011年8月13日にアーカイブされました。
  • 請求書バクスター。
トピックを続ける:
os

HTTPSが必要な場合は「サービスへのリンクを追加する」を登録したWebサービスがあります。 以下はインスタンスを作成するための私のコードです...