問題タブ [kinematics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
2744 参照

web-applications - Web ベースのアプリケーションの 3D グラフィックス

私は、特に次のタスクを含む Web ベースのアプリケーションを作成する必要があります。

  • データベースから 3D モデルを読み込みます。
  • 3D モデルを表示します。
  • 逆運動学計算を実行して、モデルが初期位置から最終位置に移動する一連のステップを生成します。
  • アニメーションをリアルタイムで表示します。

このアプリケーションは、もともと Qt/OpenGL 上の PC ベースのアプリケーションを意図していましたが、Web ベースのアプリケーションとして実装できるかどうかを調査しています。

Web ベースの開発に関する私の知識はまだ限られています。

これに対する解決策を考え出すために推奨されるアプローチ/テクノロジーは何ですか?

ありがとう!!

更新: プラットフォームに依存しないソリューションが推奨されます。アプリケーションは、Mac および Windows マシンで実行する必要があります。

0 投票する
1 に答える
109 参照

animation - アニメーション エンティティの再生速度の変更

私の世界で高速で実行されるアニメーションを再生するエンティティがありますs = 1。私の世界で特定の時間間隔から開始すると、アニメーションが遅くなる可能性があります。つまり、次の速度sで再生されます0 < s < 1

この時間間隔はta、 starttime と endtimeによって定義されtbます。

したがって、私の世界の時間が に達するtaと、アニメーションの速度が低下し、(スローモーション効果のように) ゆっくりと再生されますが、他のすべては通常の速度のままです。

この間隔 ta と のどこかでtb、アニメーションはゆっくりと再生を停止し、より速く再生さs > 1れるため、時間が に達するtbと、残りの世界に追いつきます。

私の質問は、アニメーションが正確に追いつくために、減速後の速度がどれくらい速くなるのかということです。とすれば :

  1. 時間間隔tatb
  2. に達すると、アニメーションがどれだけ遅くなるかによる速度係数ta
  3. スロー効果が停止し、ファスト効果が開始されるべきである と の ta間の時間。tb

質問が理解できることを願っています。理解できない場合はお知らせください。例として、ボールを弧を描いて投げ、一定の速度で床に沿って移動し、ボールをキャッチする機械を想像してください。私の場合は、最初は遅い速度で移動しますが、一定の時間が経過すると、ボールをキャッチできるように速度を上げる必要があります。そのスピードは?

0 投票する
7 に答える
7210 参照

python - Python での分子動力学のシミュレーション

非平衡状態で分子動力学をシミュレートするために使用できる python パッケージを探しています。私は、主に動力学理論の方法でかなり多数の分子を処理でき、固体表面の存在を処理できるセットアップが必要です。表面に関しては、任意の形状を作成し、分子作用から生じる圧力やその他の変数を監視できる必要があります。または、それを処理できる分子があれば、表面パーツを自分で追加することもできます。

適切なパッケージを知っている人はいますか?

0 投票する
1 に答える
425 参照

3d - 3 次元でのロボットの肘の角度の表現

3-D viz の 2 点の座標が与えられます。ショルダーポイントとオブジェクトポイント(到達するはずのポイント)。また、肩から肘までの長さと前腕の長さも与えられます。未知の位置(関節肘の位置)を解こうとしています。コサイン ルールを使用して肘の角度を調べています。ここに私のコードがあります -

ただし、このソリューションは 2 次元でのみ意味があります。時計回りと反時計回りは、軸と回転方向がなければ意味がないからです。角度のみを返すことは技術的には正しいですが、この関数のクライアントが結果を意味のある方法で使用するには多くの作業が必要になります。回転の軸と方向を取得するにはどうすればよいですか? また、この問題に対して考えられる解決策がいくつあるか知りたいです。

あなたの考えを教えてください !どんな助けでも大歓迎です...

0 投票する
1 に答える
593 参照

math - レート マッチングによるクォータニオン補間

私は、方向と体軸のそれぞれについての回転速度を備えたオブジェクトを持っています。この状態から別のレート セットを持つ 2 番目の状態へのスムーズな遷移を見つける必要があります。さらに、各軸を中心に回転/加速できる速度に制限があります。

私は Quaternion slerp を調査しました。それらを使用して状態間をスムーズに補間することはできますが、レート マッチングを取得する簡単な方法はわかりません。

これは微分方程式と経路計画の演習のように感じますが、そこにあるアルゴリズムが機能するように問題を定式化する方法が正確にはわかりません.

これを解決するのに役立つアルゴリズムの提案や、これらのアルゴリズムで問題を解決するためのヒントをいただければ幸いです。

[編集 - これは私が取り組んでいる問題のタイプの例です]

ヘリコプターが飛行しているときにターゲットを追跡する必要があるヘリコプターの砲手について考えてみてください。議論のために、彼は目標が地平線上に昇る時からそれが見えなくなる時まで目標にいる必要があります。このターゲットの相対レートは一定ではありませんが、いくつかの「レート マッチング」操作を集約することで、この追跡をかなりうまく近似できると思います。いつでも必要な銃の向きと追跡速度を計算できます。それは、私を困惑させているいくつかの個別の向きと速度からプロファイルを生成するだけです。

ありがとう!

0 投票する
1 に答える
258 参照

c++ - インバース キネマティック ACos エラー QNAN、INAN

ちょっと、次の関数から「Not a Number」の戻り値を取得しています:

ACos には -1 と 1 の間の引数値が必要であることは理解していますが、エンド エフェクタ ポイントが (15,15) にあり、両方の長さが 2 に等しい場合、これを行う方法がわかりません...

すべてを正規化する必要がありますか? ジョイント間の距離と、(0,0)->(15,15) の方向ベクトルを含む

どんな助けでも大歓迎です!

0 投票する
1 に答える
76 参照

math - この楕円の方程式のどこに静的値と変数値を配置しますか?

ウィキペディアから、楕円の方程式は次のようになります。

楕円の方程式

すべての楕円の幅を240ピクセルにします。

また、すべての楕円の高さを、ランダムに生成される10〜60ピクセルの値にする必要があります。

このようなもの:

省略記号

私の質問は、240をどこに接続し、ランダムに生成された高さの値をどこに接続するかです。

0 投票する
1 に答える
775 参照

javascript - 時間をかけて楕円形のパスに沿って移動し、無限にループし続けるにはどうすればよいですか?

楕円パスの方程式は次のように定義できます。

x^2 / (240/2)^2 + y^2 / (h/2)^2 = 1

h = 10 から 60 の間でランダムに生成された高さ

t = 秒単位の経過時間

t = 0のときに特定のポイントから開始し、 tが増加するにつれてパスに沿って進み、無期限にループするにはどうすればよいですか?

0 投票する
3 に答える
779 参照

javascript - 楕円形のアニメーション パスを特定の角度だけ回転するにはどうすればよいですか?

以下を使用して、エンティティが時間の経過とともに楕円形のパスに沿って移動するときに、エンティティの x および y 位置を取得しています。

全体を特定の角度、たとえば 45 度または 132 度回転させる簡単な方法はありますか?

0 投票する
1 に答える
1259 参照

javascript - この単純な楕円の回転が回転しすぎて寸法が歪むのはなぜですか?

これが楕円を回転させる正しい方法であると 3 人の異なる人から言われました。

楕円パス上の位置が時間とともに循環するように、タイマーを使用しています。

this.angle = 0 の場合、パスに変更はありません。

しかし、 this.angle が 0 より大きい場合、楕円はその比率を維持しません。つぶれて引っ張られます。そして、1度の増分の違いはかなり深刻です。

編集1:

また、 this.angle == 0 のときのパスは、180、360、540、720 などのときと同じになると思います。

しかし、それらはすべて異なります。

編集2:

その後修正されたタイプミスにもかかわらず、同じ動作。

編集3:

度からラジアンに変換し、代わりにそれらを使用することで解決された動作。

そのようです: