問題タブ [trackball]

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 投票する
3 に答える
5672 参照

rotation - カメラを制御するトラックボールを使用せずにthree.js(r66)でオブジェクトを回転させる方法

オブジェクトを回転させる場合、2 つの方法があると思います [カメラを使用せずに、オブジェクトの回転に焦点を当てる]:

1.(canvas_geometry_cube.html) のように、render() で直接オブジェクトを回転させます。

ただし、ここで問題が発生します。ある角度で回転すると機能しません。コードで:

2.別の方法を試して、マウスの動きに関する回転マトリックスを保存します( https://github.com/mrdoob/three.js/issues/1230のリンクを参照してください)。
var newRotationMatrix = 新しい THREE.Matrix4();

そして render() で私が使用するとき: cube.rotation.setRotationFromMatrix(rotationMatrix); しかし、うまくいきません。助けてくれませんか、ありがとう!

コード全体で:

回転解決

私の下手な英語でごめんなさい。オブジェクトはクォータニオンから回転を設定できます。まず、マウスの動きからクォータニオンを取得します (コントロール トラックボールからトラックボールを変更)。次に、オブジェクトに適用します。

0 投票する
0 に答える
124 参照

java - コードからAndroidでトラックボールLEDをオンにする方法は?

これを行う方法はありますか?ここで何かを見つけましたが、うまくいきません:/

これは私が試したコードです:

0 投票する
0 に答える
206 参照

javascript - ウィンドウのサイズ変更時に画面イベントのマウス位置を更新する方法は?

私が必要とするのは、マウス位置イベントを別の画面サイズに検出するようにトラックボール コントロールを更新することです。画面上のクリックされた位置を黄色のマークで示すオンクリックイベントがあります。更新してこのイベントを試してみると、すべて正常に動作します。event.x と event.y の座標は、window.innerWidth - window.innerHeight を参照して正しいです。ウィンドウのサイズを変更すると、マークにはサイズ変更の歪みと同様のオフセットがあります。幅のサイズを変更すると、マークのみが軸(x)にオフセットされます。すべてがトラックボール コントロールを使用して機能します。handleResize() 関数を認識していますが、問題は解決しません。

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

c++ - Visual Studio 2010 で opencv を使用したボール トラッキングで未処理の例外が発生する

オンライン リソースを使用して、Visual Studio 2010 で opencv を使用してオブジェクト トラッキングに取り組んでいました。いくつかのプログラムを実行できましたが、これで問題に直面しています。

私が得ているエラー

プログラムは正常にビルドされ、Web カメラのスイッチをオンにして実行を開始しますが、次のようなポップアップが表示されます

ここに画像の説明を入力

そして、これはコンソールが言うことです ここに画像の説明を入力

コードは次のとおりです

(クレジット:カイル・ハウンズロー)

構成

これは x64 システムで行われますが、私は New->Project->VisualC++->Win32->Win32 Console Application を実行しています。

お世話になった設定

  1. C:\opencv300\build\x64\vc10\bin を指すように Path 変数を変更しました
  2. プロジェクト プロパティ -> 構成プロパティ -> VC ++ ディレクトリ -> インクルード ディレクトリの下で、インクルード C:\opencv300\build\include へのパスを指定します
  3. ライブラリ ディレクトリの下で、C:\opencv300\build\x64\vc10\bin および C:\opencv300\build\x64\vc10\lib として bin および lib へのパスを指定します。
  4. プロジェクトのプロパティ -> 構成プロパティ -> リンカー -> 入力 -> 追加の依存関係の下に、以下を追加しました ここに画像の説明を入力

  5. プロジェクトのプロパティ -> 構成プロパティ -> リンカー -> 一般 -> ライブラリ依存関係入力の使用で、はい (デフォルトではいいえ) を指定しました。

  6. エラーが発生しました。マシン タイプ 'x64' がターゲット マシン タイプ 'X86' と競合しています。 Visual Studio のメイン メニューから次のようにアクティブ ソリューション プラットフォームを x64 に、プラットフォームを x64 に変更しました。 ここに画像の説明を入力

  7. このエラーが発生していたので、[プロジェクト プロパティ] -> [構成プロパティ] -> [リンカー (全般)] -> [インクリメンタル リンクを有効にする] -> [いいえ (/INCREMENTAL:NO)] を実行しました。

私が間違っていることと、クラッシュせずにプログラムを実行する方法を教えてください

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

3d - Three,js トラックボールは 1 つのオブジェクトのみを回転させます

three.js とコンピュータ グラフィックスは初めてです。だから私は非常に単純な問題に直面しています。立方体のみを回転させ、軸を静的に設定したい。立方体と軸が回転しているので、それを達成する方法は? たぶん、別のタイプのローテーションを使用する必要がありますか?

私のコード: