問題タブ [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.
algorithm - 最大の線形寸法2dポイントのセット
繰り返しのない完全なパスを形成する2Dピクセル位置の順序付けられたセット(隣接または隣接対角)が与えられた場合、周囲がそのピクセルのセットであるポリゴンの最大線形寸法を決定するにはどうすればよいですか?(GLDは、セット内のポイントの任意のペアの最大線形距離です)
私の目的では、明らかなO(n ^ 2)ソリューションは、おそらく数千ポイントの数値に対して十分な速度ではありません。時間計算量をO(n)またはO(log(n))に近づける優れたヒューリスティックまたはルックアップ方法はありますか?
graphics - Microsoft.DirectX.Vector3.Normalize() の不一致
Vector3 オブジェクトを正規化する 2 つの方法。Vector3.Normalize() を呼び出し、もう一方はゼロから正規化します。
上記のコードはこれを生成します:
なんで?
(ボーナスポイント: Why Me?)
python - 線分上の他の2つのポイントの間にあるポイントをどのように判断できますか?
各点のx整数とay整数で表される2つの点(aとbと呼ばれる)を持つ2次元平面があるとします。
別の点cがaとbで定義された線分上にあるかどうかをどのように判断できますか?
私はPythonを最もよく使用しますが、どの言語の例も役に立ちます。
javascript - ドットやチェッカーなどのプログラミング座標ベースのゲーム
デカルト幾何学または座標ベースのゲームプログラミングの基礎を学びたいと思っています。プラットフォームは関係ありませんが、私は JavaScript、C、Objective-C に最も精通しています。最終的にドットやチェッカーなどを作成できるのが理想です。アイデアは、スプライトがどのように機能し、パスがプログラムでどのように機能するかを学ぶことです。皆さんへの私の質問は、基礎を学ぶのに最適な場所はどこですか? 率直に言うと、この時点で私にとって微積分よりも高度なものは灰色の線であり、記憶をリフレッシュする必要があるため、数学はそれほど重くありません。
特定の書籍、サイト、またはオープン ソース プロジェクトがあれば、それがおそらく最も役に立ちます。
アイデアをありがとう。
graphics - glslで2つの法線間の角度をどのように計算しますか?
glslで2つの法線間の角度をどのように計算しますか? オブジェクトの外縁にフレネル効果を追加しようとしています (その効果をフォン シェーディングと組み合わせます)。欠けているのは角度だけだと思います。
フラグメント シェーダー:
頂点シェーダー:
さまざまな vec3
layout - 長方形を積み重ねて、可能な限り最も正方形のような配置にします
私の状況
- 私はN個の長方形を持っています
- 長方形はすべて同じ形状です(たとえば、幅2インチx高さ1インチ)-幅と高さについては、このサイズをSwおよびShと呼びましょう。
- これらの長方形をグリッドに配置して、スプレッドシートに表示されるように、長方形が完全に上下に隣接するようにします。
- 私が必要としているのはこれです:N、Sw、Shが与えられた場合、これらの長方形を可能な限り最も正方形のような配置に積み重ねる行(R)と列(C)の数はいくつですか。
- R&Cは、必要以上のセルを提供する可能性があることを理解しています(たとえば、N = 15、Sw = 1、Sh = 1の場合、R = 4、C = 4の場合、15個の長方形に対して16個の「スロット」が生成されます。これで問題ありません。
- Sw = Shの場合、私の謙虚な数学のスキルで十分です-長方形の幅と高さが異なる場合-率直に言って、それは私を超えています。
いくつかの注意事項
- はい、私はこの質問を読みました:長方形を積み重ねてスペースをできるだけ少なくし、いいえ、それは役に立ちませんでした。また、それは同じ質問ではありません。その質問は、サイズが異なる可能性のある長方形に関するものです。この質問では、長方形のサイズは同じです。
- はい、wolfram.comなどで検索しましたが、運がありません。
- 私は数学のバックグラウンドがないので、この問題の言い回し自体が答えを見つけるのを妨げている可能性があります-タイリング、解剖、分解に関連する検索を試しましたが、そこでも成功しませんでした
いくつかの例
AaronofTomorrowの回答の実装
ウィルの答えに触発された別の実装(2008年12月8日に更新)-これは私が最終的に使用したものです
python - CGAL の Python バインディングはどうなりましたか?
凹面多角形を最小数の凸面要素に分解するアルゴリズムを探していたところ、 Computational Geometry Algorithms Libraryを見つけました。サイトからのリンクと多数の Google の結果は、Python バインディングがあることを示しています。これは非常に便利ですが、すべてのリンクが無効になっています。それがどうなったのか?今どこで入手できますか?
function - 底辺と高度の座標を指定して、二等辺三角形の最後の座標を見つけます
昔の学校で三角法を学んだにもかかわらず、三角法についての手がかりはありません。これはかなり簡単なはずですが、Web上の大量の三角法をトロールすると、頭が痛くなります:)だから、誰かが私を助けてくれるかもしれません...
タイトルは私がやりたいことを正確に説明しています。x1、y1とx2、y2の行があり、高度を指定して二等辺三角形を完成させるためにx3、y3を見つける関数が必要です。
明確にするために、線x1、y2-> x2、y2がベースになり、どの軸にも位置合わせされません(ランダムな角度になります)。
誰かがこれのための簡単な機能を持っていますか?
math - 複数の点の重心を決定する
私はPythonで書いているマッピングアプリケーションを書いています.Nポイントの緯度/経度重心を取得する必要があります。2 つの場所があるとします。
ユークリッドの公式を使えば、2 点の中心を簡単に求めることができます。2点以上でできるようにしたいです。
基本的に、http://a.place between.us/のようなものを探しています。ここでは、複数のアドレスを入力して、すべての人にとって等距離の場所を見つけることができます。
math - 3点相関を介して点群を整列させますか?
3つの点群があるとします。最初の点群は{x1、y1、z1}、{x2、y2、z2}、{x3、y3、z3}で、2番目の点群は{xx1、yy1と同じ点です。 zz1}、{xx2、yy2、zz2}、{xx3、yy3、zz3}...2番目の点群を最初に位置合わせすると仮定します。2番目の点にT[3x3matrix]を掛ける必要があります。
1)では、この変換行列(T)をどのように見つけるのですか?手作業で方程式を解こうとしましたが、解けませんでした。どこかに解決策はありますか?問題に遭遇したのは私が最初ではないと確信しているからです。
2)マトリックスにはスキューとせん断が含まれている可能性があると思います。自由度が7(3translation、3rotation、1scale)しかない行列を見つける方法はありますか?