問題タブ [vector]

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

math - カメラの画面を投写する

単純なレイ トレーサーを作成することで vectormath についてもう少し学ぼうとしており、それについていくつか読んでいますが、見つけることができなかったのは、一次光線の方向を決定する方法です。これは単純な問題のように聞こえますが、おそらくそうかもしれませんが、私の現在の知識では、それを理解することができませんでした.

私は、カメラ (ベクトルとしての位置と方向に過ぎない) が必要であると考え、カメラから、最終的な画像を表すカメラの前のスクリーンに一次光線を発射しました。私が理解できないのは、画面の隅の座標です。画面を知っていれば、一次光線の方向を見つけるのは簡単です。

回転行列を必要としない単純な数学だけを使用して、画面を把握できることを願っています。私の最善の推測はこれです:

カメラの方向をベクトルとして持っています。この方向は、投影スクリーンの平面の法線に等しくなります。したがって、画面の法線があり、そこから画面の中心を簡単に計算できます。

距離は、画面とカメラの間の距離です。しかし、それは私が迷子になる場所であり、カメラの任意の方向の平面のコーナー座標を把握する方法を見つけることができません.

ここで私を助けてくれる人はいますか?そして、私の方法がおそらく機能しない場合、何が機能しますか?

0 投票する
2 に答える
36281 参照

c++ - 文字列から文字列ストリーム、ベクトルへ

アプリケーションに実装したいステップのこのサンプル プログラムがあります。文字列の int 要素を個別にベクトルに push_back したい。どうやって?

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

c++ - C++ のポリモーフィック メソッドで std::for_each を使用する

std::for_each を使用する場合、

A から継承し、foo() を実装するクラスがあり、A へのポインターのベクトルを保持している場合、明示的に A::foo() を呼び出すのではなく、foo() でポリモーフィック呼び出しを呼び出す方法はありますか? 注:ブーストは使用できません。標準のSTLのみです。

ありがとう、ギャル

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

vector - システム Verilog でのパック ベクトルとアンパック ベクトル

System Verilog で管理しているコードを見ると、次のように定義されているシグナルがいくつか見られます。

および次のように定義されているその他のもの:

xはパックされていると定義されていますが、yはアンパックされていると定義されています。しかし、私はそれが何を意味するのか分かりません。

System Verilog のパック ベクトルとアンパック ベクトルの違いは何ですか?

編集: @Empi の回答に応えて、SV で記述しているハードウェア設計者が配列の内部表現を気にする必要があるのはなぜですか? パックされたシグナルを使用すべきではない、または使用できない場合はありますか?

0 投票する
4 に答える
10200 参照

c++ - C++ で効率的な 2D グリッドを作成するには?

本当に使いやすい 2D グリッドを作成したいと考えています。グリッド内の各セルは、大量のデータを格納できる必要があります。理想的には、一度に 1 つのセルをトラバースし、任意のグリッド セルの直近のセルを取得できるようにしたいと考えています。

最初に考えたのは、Cell の隣接セル (合計 4 つ) へのポインターのベクトルを格納し、leftNeighbour、rightNeighbour などの便利な関数を作成することでした。初期化後にグリッドを接続します。

std::vector は動的にサイズ変更可能な配列であると想定されているため、ポインターの位置 (0 == 左、1 == 右など) のみをハードコーディングする場合、これはかなり不必要だと思います。ただし、セルの隣接セルを反復処理するためのより適切な方法が可能になります。私が考慮しなければならないもう1つのことは、セルがグリッドの端との境界にあるかどうかです(これをテストするか、これが起こらないようにグリッドを1セルだけ暗黙的に拡張するか)。

誰かがより良い代替案を提案できますか、またはこれは合理的な設計のように聞こえますか?

ありがとう、ダン

0 投票する
5 に答える
3708 参照

math - ゲームプログラミングの学習 (パート 2) (数学)

この質問を書いてから数か月が経ちました。それ以来、「生の」C++ D3D、The Ogre および Irrlicht グラフィック エンジン、そして最近では Microsoft XNA をいじりました。私はいくつかの 2D ゲーム (主にテトリス、アストロイドなどの古いもののレプリカ) を作成し、上記のテクノロジで 3D の世界に (非常に) 小さな一歩を踏み出しました。

実際のゲーム ロジックを作成し、オブジェクトの相互作用を抽象化して、さまざまな形式のコントロール (コンピューター、プレーヤー、ネットワーク経由など) をプラグインできるようにし、スレッド化やその他の使用する操作を行うことに問題はほとんどありません。日々の仕事から - それは私にとって完全に自然に感じます. 私は HLSL とパーティクル エフェクト (非常に基本的なもの) をほとんどいじりませんでした。

しかし、行列とベクトルを含む 3D 数学 (および Ogre3D のクォータニオン(?) は本当に必要なのでしょうか?) ... 本当に理解できます。例に従うことができます (たとえば、オライリーから購入した Learning XNA 3.0 の本は、すばらしい本です)そして、例で何かが起こる理由方法を理解していますが、自分で何かをしようとすると、このタイプの数学の理解が不足していて、実際にそれを取得して機能させることができないと感じます自分。

そこで、3D 数学 (主に) を学ぶためのリソースと、シェーダー/パーティクル エフェクトの本を探しています。私は教育的であり、私の頭をはるかに超えるベクトル数学に関する医師の論文のようなものよりもゆっくりとしたリソースを好みます. 理想的なリソースは、D3D ですべてを実証するものです。

0 投票する
5 に答える
1744 参照

c++ - ベクトルとダンピング

私が知っていることから、ベクトルは連続的であることが保証されており、それにメモリのチャンクを書き込んで fwrite を送信できます。私がする必要があるのは、.resize() を呼び出して、必要な最小長になるように強制することだけです。その後、通常の char 配列として使用できますか? このコードは正しいでしょうか

私はv2を押し戻したりポップしたりしないことに注意してください。一度だけサイズを変更し、char配列として使用しました。これは安全でしょうか?また、安全なvもダンプした場合(プッシュバックしてクリアします。テストのためにダンプする場合があります)

0 投票する
5 に答える
7246 参照

c# - C#でベクトル型を取得するにはどうすればよいですか?

私が書いている C# アプリケーション、特に Vector3 で Vector を使用したいと考えています。

自分で作成せずに Vector 型を取得する最良の方法は何ですか?

0 投票する
5 に答える
6077 参照

c++ - 2 つの座標空間間でのオブジェクトの変換

だから私は「グラフィックスとゲーム開発のための 3D 数学入門」という本を読んでいて、ほとんど数学以外のバックグラウンドを持っていたので、ようやくベクトル/行列の数学を理解し始めました - これは安心です。

しかし、はい、常にありますが、ある座標空間から別の座標空間へのオブジェクトの変換を理解するのに苦労しています。この本の中で、著者は、 「ワールド空間」で 20 度 (簡単にするために 2D 空間にすぎません) 回転させた車 (画像) を銃で撃った例を取り上げています。つまり、ワールド空間、ガン オブジェクト空間、カー オブジェクト空間の 3 つの空間があります。その後、本書は次のように述べています。

「この図では、車に向かって弾丸を発射しているライフルを導入しました。左側の座標空間で示されているように、通常は銃とワールド空間での弾丸の軌道を知ることから始めます。さて、車、銃、弾丸の軌道を静止させたまま、座標空間を車のオブジェクト空間に合わせて変換することを想像してください. これで、車のオブジェクト空間における銃の位置と弾丸の軌道がわかります.交差テストを実行して、弾丸が車に当たるかどうか、どこに当たるかを確認できます。」

そして、私はこの説明に従います。ワールド空間で車が 20* 度回転していることを事前に知っている場合、これは問題ではありません。他の誰かにダウン?すべてがそこに移動する角度がわかりませんか?

そして、ここでどのオブジェクト空間が回転されますか? 世界か銃空間か?ええ、ご覧のとおり、私は少し混乱しています。

理想的な応答は、位置、角度などに任意の変数を使用した車と銃の例を使用することだと思います.

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

c++ - オブジェクトのローカル座標空間を追跡する

わかりました - これは私の以前の質問Transforming an object between two coordinate spaceに大きく関連していますが、より直接的であり、明白な答えがあるはずです。

オブジェクトのローカル座標空間、どうすれば「それを取得」できますか? オークをゲームにロードしたとします。頭、左腕、右腕、原点 (へそ?) がどこにあるかをプログラムでどのように知ることができますか? そして、それがどこにあるかがわかったら、手動で保存する必要がありますか、それとも DirectX API に魔法のように存在するものですか? 私の他の質問では、ある人が X、Y、Z 方向と原点の頂点を保存することについて何か言いましたか? これらの頂点を見つけるにはどうすればよいですか? ゲームにロードする前に、それらを任意に選択し、モデルに割り当てますか? 等

これは、座標空間間の変換に関するものではありません