問題タブ [geometry]
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.
geometry - 小さな正方形で構成された領域を大きな長方形に分割する方法は?
入力として 0 または 1 の値の 2 次元グリッドを取り、その中の重複しないすべての可能な長方形を識別するアルゴリズムを探すには、どこに行けばよいでしょうか?
より実用的な説明: 多数の正方形で表されるグリッドを描画しています。サイクリングに費やす時間を削減するために、できるだけ多くの隣接する正方形を長方形に結合する方法を見つけたいと考えています。各正方形とそれを描画します。
最大の効率は必要ありません。速度がより重要です。
補遺: どうやら私が探しているのはテッセレーションと呼ばれる技術のようです。今、私はこの特定のケースの適切な説明を見つける必要があるだけです.
補遺 2: 「1」の正方形の分布は完全にランダムであるため、「1」の正方形の境界は不規則になり、場合によっては接続すらされません。これらの不規則な形状を識別して、通常の長方形に分割する必要があります。
正解:速度と効率の最適なバランスを得るには、グリッド データを使用して、各ノードのステータス値が空/部分的に満たされている/満たされているクワッド ツリーを埋めるのが最適です。
java - マウス座標(JavaFX)に基づいて固定中心の周りの円軌道に沿ってノードを配置する方法は?
基本的な JavaFX ゲーム開発に取り掛かろうとしているのですが、いくつかの円の計算で混乱しています。
(x:250, y:250) に半径 50 の円があります。
私の目的は、マウスの位置に基づいて、上記の円の円周上に配置される小さな円を作成することです。
私が混乱しているのは、座標空間とその背後にあるTrigです。
私の問題は、画面上の X/Y スペースが 0,0 を中心としていないことに起因しています。ただし、画面の左上は 0,0 で、右下は 500,500 です。
私の計算は次のとおりです。
マウスを動かしたときに計算した角度 (angle_deg) をアプリに出力させたところ、出力は以下のようになりました。
マウスが (反時計回りに移動する角度で) ある場合:
- 円の真上で、中心に対して水平方向に並んでいる場合、角度は -0 です。
- 左側で垂直方向の中央、角度は -90 です。
- 円の真下で、中心に対して水平に並んでいる場合、角度は 0 です。
- 右に、垂直に中央に、角度は 90 です
では、0、90、180、270 にするにはどうすればよいでしょうか??
小さいものに違いないのは分かっているのですが、それが何か思いつきません...
助けてくれてありがとう(いいえ、これは課題ではありません)
3d - 3D モデルへの変換の適用 - 法線 pb
STL ファイル内の 3D オブジェクトに変換を適用しようとしています (構造化メッシュ オブジェクトを作成せずに)。手順は次のとおりです。STL ファイルで法線と面の情報を 1 つずつ読み取り、変換を各頂点と面の法線に適用し、新しく計算された値を別の STL ファイルに書き戻します。生成されたファイルの頂点は問題ありませんが、法線が間違っています。頂点に対して行うように、変換を法線に適用することはできないようです。そんなことがあるものか??
sql-server - MS SQL Server 2008 で Geometry データを Geography データに変換するにはどうすればよいですか?
MS SQL Server 2008 で Geometry データを Geography データに変換するにはどうすればよいですか?
graphics - Direct3Dジオメトリ:2つのベクトルからの回転行列
2つの3DベクトルAとBが与えられた場合、AからBに回転する回転行列を導出する必要があります。
これは私が思いついたものです:
acosからコサインを導出する(A。B)asinから正弦波を導出する(| A x B | /(| A | * | B |))- 回転軸としてAxBを使用します
- このページの下部にあるマトリックスを使用してください(軸角度)
これは、0°(無視します)と180°(特別な場合として扱います)の回転を除いて、正常に機能します。Direct3Dライブラリを使用してこれを行うためのより優雅な方法はありますか?Direct3D固有の回答を探しています。
編集:acosとasinを削除しました(Hugh Allenの投稿を参照)
c++ - リンクされた複数の長方形の周囲の境界を計算する
長方形のグループの周りに境界を作成する必要があるプロジェクトに取り組んでいます。
私が達成したいことの例として、この写真を使用しましょう。
編集: 画像タグを適切に機能させることができなかったので、ここに完全なリンクがあります: http://www.flickr.com/photos/21093416@N04/3029621742/
特別なリンク長方形 B によってリンクされた長方形 A と C があります。これは、グラフ内の 2 つのノード (A、C) とそれらの間のエッジ (B) と考えることができます。つまり、長方形は次の方法で相互にポインターを持っています: A->B、A<-B->C、C->B
各長方形には、インデックス 0 が左下、インデックス 3 が右下である配列に格納された 4 つの頂点があります。
このリンクされた構造を「トラバース」して、その周囲の境界 (赤い線) を構成する頂点を計算します。私はすでにこれを達成する方法についていくつかの小さなアイデアを持っていますが、数学に傾倒している人の中には、巧妙なトリックが用意されているかどうかを知りたい.
これをここに投稿する理由は、誰かが以前に同様の問題を解決し、私が使用できるいくつかのアイデアを持っている可能性があるためです. 誰もが座って、これを長く懸命に考えるとは思いません。回答を待っている間、並行して解決策に取り組みます。
どんな入力でも大歓迎です。
algorithm - サブインターバルのあるインターバルの最小カバレッジを見つける
区間(a、b)と、和集合がすべて(a、b )であるいくつかの部分区間{(a i、b i)} iがあるとします。(a、b)をカバーするこれらのサブインターバルの最小カーディナリティサブセットを選択する効率的な方法はありますか?
algorithm - 特定の点に最も近い円上の点を見つけるための最良の方法
点(pX、pY)と、既知の中心(cX、cY)および半径(r)を持つ円が与えられた場合、(pX、 pY)?
ある種のコードが機能していますが、円を(x --cX)^ 2 +(y --cY)^ 2 = r ^ 2(rは半径)の形式の方程式に変換し、方程式を使用する必要があります。解くべき二次方程式を作成するために、点(pX、pY)から(cX、cY)までの線を計算します。
バグを修正すれば解決しますが、それは非常に洗練されていない解決策のようです。
c++ - 2つの長方形が互いに重なり合っているかどうかを確認しますか?
私は、ユーザーから次の入力を受け取って長方形(2〜5)を作成するC ++プログラムを作成しようとしています:高さ、幅、x-pos、y-pos。これらの長方形はすべて、x軸とy軸に平行に存在します。つまり、すべてのエッジの傾きは0または無限大になります。
私はこの質問で言及されていることを実装しようとしましたが、あまり運がありません。
私の現在の実装は次のことを行います。
ただし、(a)リンクしたアルゴリズムを正しく実装したかどうか、またはこれを正確に解釈する方法を実行したかどうかはよくわかりません。
助言がありますか?
math - 3D 空間内のポイント間を補間して滑らかな表面を形成する簡単な方法
与えられたいくつかの「サンプル」ポイントと交差する滑らかな表面を作成するためのシンプルで効率的な方法を考え出そうとしています。
サーフェス上の任意の X、Y ポイントについて、4 つの方向のそれぞれで最大 4 つのサンプル ポイントを識別します (X 軸上の次に高いポイントと低いポイント、次に Y 軸)。この点を考慮して、4 つのサンプル ポイント間を補間する Z 値を計算する方法が必要です。
もちろん、アルゴリズムは、4 つのサンプル ポイントのいずれかの X、Y 位置を指定すると、そのポイントの Z 値を出力する必要があります。また、サンプル ポイントが 4 つ未満になる場合があることにも注意してください。
4 つのサンプル ポイントの Z 値の関数は、サンプル ポイントまでの距離によって何らかの形で逆バイアスになっていると思いますが、これを行う方法がわかりません。
誰でもこれを行う簡単な方法についてアイデアを持っていますか?