問題タブ [2d-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 投票する
3 に答える
1266 参照

c# - 8 つの離散方向 (水平、垂直、対角線) で 2D ベクトルの方向を決定する

ベクトルであるゲームパッドのサムスティックの入力があります。ベクトルの値の範囲は、-1、-1 から +1、+1 にまたがる長方形内の円を定義します。

ベクトルが 8 つの可能な方向のどれに近いかを知りたいです。ベクトルが (0, 0) の場合は別に扱いますので気にしないでください。これどうやってするの?

注: これはゲーム用であるため、この関数は非常に頻繁に実行されます。たとえば、内積と三角関数を使用してベクトルと各方向ベクトルの間の角度を計算できることはわかっていますが、正確な角度。

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

c++ - 「ヘビ」実行エラー

私はC ++で簡単なヘビゲームを作っています。コンパイルされますが、実行されません。私は mac で netbeans を使用していますが、これまでこのような問題が発生したことはありません。コードに問題があると思います。

2次元ベクトルに問題があると思います。

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

java - クラスを参照するベクトル

次のことを考慮してください。

基本的に、クラス('a')のベクトルを作成し、それを別のクラスから呼び出そうとしています。いくつかの質問-

1)クラスbでは、「新しい変数」の配置は正しいですか?ベクトル変数を定義するときにコンストラクターの外部で宣言する必要がありますか、それともコンストラクターの内部で宣言する必要がありますか?これらの各ケースはどういう意味ですか。

2)主に、クラスbのベクトルも宣言したいと思います。どうすればいいですか?

します

つまり、100はサイズであり、5は、最大容量に達したときに増やす必要がある量です。

サイズを指定せず、addElement()を介して追加し続けることはできますか?-ベクトルタイプは自動的にサイズを増やしますか?

3)したがって、bのi番目の要素とbのメンバー変数'var'のj番目の要素にアクセスするには、どのように指定しますか?これは正しいでしょうか-?

私はこれらすべてから始めたばかりなので、我慢してください。私は本当の初心者です。

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

c++ - 2D ベクトルを複数の列で並べ替える

次のブースト アルゴリズムを使用して、2D ベクトルを並べ替えています。

ここでは、引数として指定した 1 つの列のみでベクトルを並べ替えることができます。しかし、このベクトルを 2 列で並べ替えたいと思います。私の最初の列はソートされているはずです。最初の列の並べ替えに従って、2 番目の列でベクトルを再度並べ替えたいと思います。これどうやってするの ?

最初の列で最初に並べ替えてから、最初の列が等しいものを並べ替えて、2 番目の列で並べ替えたいですか?

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

c++ - 2Dベクトルの所定の位置でいくつかの値を変更する最も簡単な方法は何ですか?

さて、私はグリッドと呼ぶ文字の2次元ベクトルを持っています。70 x 30としましょう。グリッドが作成されると、各位置が自動的に「x」で埋められます。

グリッドを表示する機能があります。したがって、この関数を呼び出すと、xの70x30グリッドがコンソールに表示されます。

グリッドの特定のx、y座標にある文字を別の文字に本質的に置き換えるために呼び出す別の関数があります。ポイントは正確にランダム/分散しているわけではありません。私は基本的にグリッドの端の点から始めて、ジグザグの線を別の端に描きます。すべてのポイントは事前に決定されています。プロットするポイントがたくさんあるので、手動で行うのは非効率的です。

これが私がそれをすることを考えていた方法です:

  • ダブルforループ、幅、高さを作成し、それらをiとjと呼びます
  • i =(a || b || c || d ...)&& j =(e || f || g ..)の場合

そして、基本的に、考えられるシナリオごとにその退屈なプロセスを実行します。確かに、はるかに簡単で単純な方法があります笑。任意の提案をいただければ幸いです。ありがとう!

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

c++ - 2D ベクター グリッドでパスの一部を削除するにはどうすればよいですか?

このプロジェクトには本当に苦労しました。だから私は「グリッド」別名2D charベクトルを持っています。幅 79 文字、高さ 20 文字。基本的にグリッドの 1 つのエッジから別のエッジへのパスを描画する関数をいくつか作成しました。これらの「パス」はややランダムです..ここでは、ランダムジェネレーターに0〜7のintを選択させ、関数を作成したパスの組み合わせを使用します。だから..グリッドを通過するいくつかのパス/ラインがあります。

次の部分は、グリッド上のこれらのパスに長方形/正方形を配置することでした。何時間もの欲求不満の後、これらの長方形をパス上に配置するプログラムを取得しました。

この次の部分で私は迷ってしまい、どうやって始めればよいのかわかりません。ここで、パスが何らかの方法ですべての四角形を一緒に接続しているかどうかを判断する必要がありますが、四角形に接続できるパスは 1 つまたは 2 つだけです。したがって、四角形の 1 つがパスに接触していない場合は、関数を呼び出して、パスと四角形で新しいグリッドを再生成する必要があります。

パスが 1 つまたは 2 つの場所で四角形に接触しているかどうかを確認できることに加えて、余分なパス文字を削除する必要があります。したがって、パスが別の四角形または必要なパスに接続されていない場合は、その文字を削除する必要があります。

「#」はパスと「.」です。私のプログラムが現在表示するものの例を次に示します。

余分な「#」マークと、それらのいくつかが役に立たないことに注意してください。技術的には、パスがフォークしてパスに再接続する場所を削除する必要はありません。技術的には、長方形に境界線を追加するため、それらを複数の場所で接触させることができます..「#」を「.」に直接接続するスポットは1つまたは2つだけです. (今は心配していません)1 '#' 以上の厚さと以前の要件を超えることはできません。これは、必要のないものを削除する方法をどうにかして理解した後、次のようになります。

私が得た最も近いものは、パスが特定の場所からどの方向に向かうかを検出することです..しかし、「#」を削除する方法や島の長方形をチェックする方法にそれを使用する方法がわかりません。

助けてください:(これを行う方法がわかりません!さらに情報が必要な場合はお知らせください。

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

c++ - ベクトルを 2D 配列としてシミュレートする

多次元ベクトルを持てないことはわかっています。しかし、ベクトルのセルをポインターとして定義し、この方法で 2 次元ベクトルをシミュレートすることを考えました。コードは次のとおりです。

しかし、次の行SeperateBitsBands[i]-> pushback(data.at(j));でエラーが発生します。

このコードでは、最初に画像を開きRasterIO、「GDAL ライブラリ」から関数ごとにデジタル番号を抽出しました。もちろん、RasterIO は画像を順番に読み取るため、ネストされた 2 つの for ループを使用して画像の一部を分離しようとしました。
たとえば、画像がビット深度 16 でサイズが 300x400 の RGB 画像 (3 つのバンドを持つ) であると仮定すると、seperatedBitsBands は、各セルがサイズ 120000 のベクターを指すサイズ 6 のベクターになります。
昨日、私は次のようなコードを持っていました:

しかし、行にそのようなエラーはありませんでしたBands.at(i) -> RasterIO(..............)
誰かが私にこのようなことができるか教えてもらえますか?(つまり、2D ベクトルをシミュレートすることを意味します)。もしそうなら、どのように???
そして、なぜエラーが発生しなかったのですBands.at(i) -> RasterIO(..............)か???
そして、最も重要なことは、多次元ベクトルを使用すると、パフォーマンスと速度に大きな影響を与えることですか?
どうもありがとう。
どんな助けでも大歓迎です。

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

visual-studio-2010 - ベクトルの要素を別のベクトルに格納する

16997*15931*6 要素のベクトルがあります。これは、GDAL ライブラリの RasterIO 関数によって読み取られたラスターのさまざまなバンドであることがわかります。要素を 6 つの要素 (行) を持つ 2d ベクトルに格納し、各行には 16997*15931 要素が含まれます。16997*15931*6 を反復するループを作成し、i%6 を評価できることはわかっています。

しかし、私は高解像度の .tiff 画像を扱っているので、パフォーマンスの高いコードが必要です。したがって、より高速なアルゴリズムは歓迎されます。
ありがとう

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

clojure - 2D ベクトル内の構造値を更新する方法は? クロージャ

これはCLojureにあります。最初は私のコードです:

つまり、私がやっていることは、構造の 2 次元ベクトルを使用して 2 次元の世界を作成しようとしていることです。ワールドを作成した後、最後の関数で試したように、xy 座標を実際の座標として開始したいと考えています。ただし、clojureは変数不変であるため、値を変更することはできません...また、新しいデータの2次元ベクトルを返しません...次に、マップを使用しようとしました...しかし、私は本当にclojureに慣れていません。 .. いくつか試してみてもうまくいきませんでした...

誰かがそれを行う方法を教えてもらえますか? どうもありがとう...

追加: ターゲット構造は次のようになります。

そのため、最初はネストループを使用しました...これをJavaで行う最も一般的な方法は...