問題タブ [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.

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

algorithm - 線から特定の垂直距離にある点をどのように見つけますか?

ウィンドウに描画する線があり、ユーザーにドラッグさせます。したがって、私の線は(x1、y1)と(x2、y2)の2つの点で定義されます。しかし、ここで、線の端に「キャップ」を描画します。つまり、各端点に短い垂線を描画します。キャップの長さはNピクセルである必要があります。

したがって、終点(x1、y1)に「キャップ」ラインを描画するには、垂直線を形成し、各ポイントがポイント(x1、y1)からN/2ピクセル離れている2つのポイントを見つける必要があります。

では、既知の線、つまり(x1、y1)とで定義される線の終点(x1、y1)から垂直距離N / 2にある必要がある場合、点(x3、y3)をどのように計算しますか? (x2、y2)?

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

algorithm - 多項式を別の座標系に変換するにはどうすればよいですか?

さまざまな行列演算を使用して、次数 'n' の多項式の係数を求める連立方程式を解きました。

次に、指定された x 範囲で多項式を評価します。基本的に、多項式曲線をレンダリングしています。これがキャッチです。この作業は、「データ空間」と呼ぶ 1 つの座標系で行いました。ここで、同じ曲線を別の座標空間に表示する必要があります。座標空間との間で入力/出力を変換するのは簡単ですが、エンド ユーザーは係数 [A,B,....,Z] だけに関心があります。これは、多項式を独自に再構築できるためです。異なる座標系で同じ形状の曲線を表す係数 [A',B',....,Z'] の 2 番目のセットをどのように提示できますか。

それが役立つ場合、私は 2D 空間で作業しています。昔ながらの x と y です。また、これには係数に変換行列を掛けることが含まれる可能性があると思いますか? 座標系間のスケール/変換係数を組み込むことはできますか? この行列の逆になりますか? いい方向に向かってる気がする…

更新: 座標系は線形に関連しています。有益な情報だったでしょう?

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

c# - GDI+ で 2 つの線の交点を特定するにはどうすればよいですか?

私は .NET を使用して、Visio に似た描画面を持つアプリケーションを作成しています。UI は、画面上の 2 つのオブジェクトを Graphics.DrawLine で接続します。この単純な実装は問題なく機能しますが、表面がより複雑になるにつれて、オブジェクトを表現するためのより堅牢な方法が必要になります。これらの堅牢な要件の 1 つは、2 つの線の交点を決定することです。これにより、何らかのグラフィックで分離を示すことができます。

だから私の質問は、誰かがこれを行う方法を提案できますか? おそらく、別の手法 (GraphViz など) またはアルゴリズムを使用しているのでしょうか?

0 投票する
6 に答える
20042 参照

javascript - Javascriptで配列する円座標

JavaScriptで円の座標を配列に追加する最良の方法は何ですか? これまでのところ、半円しかできませんでしたが、円全体を 2 つの異なる配列 と に返す式が必要xValuesですyValues。(パスに沿ってオブジェクトをアニメーション化できるように、座標を取得しようとしています。)

これが私がこれまでに持っているものです:

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

algorithm - 近接検出の近接点

3D の 3 次多項式の大規模なセットがあります。

マトリックス形式で

Pn = [1,t,t 2 ,t 4 ]*[An]

[Pn][An]1xN4xN行列です

各関数には重み Wn があります。私は、いくつかのために、そのような最初の場所n, m, Tを見つけたいですt0tt>t0

(Wn*Wm) * |Pn-Pm| -2 > T

O(n 2 ) の「すべてを試す」アプローチは別として、どこから始めればよいかさえわかりません。さらに言えば、既知の n & m であっても、これに答える方法がわかりません。

何か案は

編集:

  • セットサイズは10~1000程度
  • 重みは〜対数的に分布しています(非常に少数の大きなもの、多くの小さなもの)
  • このテストは n-ボディ シミュレータの内部ループにあるため、何度も実行されます。
  • 1 つのパスが変更された後に新しい答えを見つけるのにうまく (償却されて) いるバージョンは、良いことです。
0 投票する
4 に答える
558 参照

c++ - 指定された軸上でポイントを回転させるための C++ ライブラリ?

ある座標系から別の座標系への点の単純な変換のためのグラフ作成ライブラリを知っている人はいますか? 同じものを視覚的にプロットして検証するためのグラフ作成ツールはありますか?

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

algorithm - ペアごとの距離のセットからポイントを決定する

ポイント間の距離の行列が与えられた場合、これらの距離を持つn次元のポイントのセットを決定するアルゴリズムはありますか? (または少なくともエラーを最小限に抑えます)

ターンパイク問題の n 次元バージョンのようなものです。

私が思いつく最善の方法は、多次元スケーリングを使用することです。

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

math - 2点と半径サイズで楕円の中心を計算する方法

独自の VML 形式に基づく Internet Explorer の SVG 実装に取り​​組んでいるときに、SVG 楕円弧を VML 楕円弧に変換するという問題に直面しました。

VML では、弧は次のように与えられます: 楕円上の 2 点の 2 つの角度と半径の長さ SVG では、弧は次のように与えられます: 楕円上の 2 点の 2 組の座標と楕円境界ボックスのサイズ

問題は、楕円上の 2 点の角度を 2 組の座標にどのように表現するかです。中間の質問は次のようなものです: 楕円の曲線上の点のペアの座標によって楕円の中心を見つける方法。

更新:楕円が通常配置されている(その半径は線形座標系の軸に平行である)という前提条件があるため、回転は適用されません。

更新: この質問は svg:ellipse 要素とは関係がなく、svg:path 要素の「a」楕円弧コマンド ( SVG パス: 楕円弧曲線コマンド)とは関係ありません。

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

graphics - ポリゴン メッシュからエッジを一意に見つけるためのアルゴリズム

一連のポリゴン データから一意のエッジを取得できる優れたアルゴリズムを探しています。この場合、ポリゴンは 2 つの配列によって定義されます。1 つの配列はポリゴンごとのポイント数で、もう 1 つの配列は頂点インデックスのリストです。

動作しているバージョンがありますが、500,000 ポリゴンを超えるとパフォーマンスが低下します。私のバージョンでは、各面を歩き回り、各エッジの並べ替えられた頂点を stl::set に追加します。私のデータ セットは主に三角形と四角形のポリゴンで、ほとんどのエッジは共有されます。

これのためのよりスマートなアルゴリズムはありますか?

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

3d - 平面交差から 3D ジオメトリから 2D スライスを抽出するにはどうすればよいですか?

最近、私たちのチームは、平面と 3D ジオメトリのセット (三角形のセット) の間に 2D スライスを構築するというタスクに直面していました。Google は私たちが望んでいたほど役に立たなかったので、ここで注意を払い、誰かがこの問題に遭遇し、可能な解決策があるかどうかを確認します. リンクも募集中です。

交点を見つけること自体は難しい作業ではありませんが、正しいコーナー構成で三角形が正しく生成されるようにすることは、私たちにとって難しいゲームです。任意のモデルからの三角形の構築がどのように行われるかについての数学/理解が欠けているだけです。

私たちがやろうとしていることを理解するのに問題がある場合は、次のシナリオを想像してください。

うさぎのモデルがプログラムに読み込まれます。次に、「レーザー」が宇宙を横切って移動し、バニーを半分に切ります. レーザーカットしたその薄いスライスが、生成したいスライスです。これは 2D 三角形セットである必要があります。レーザーで切断できない場合 (しゃれた意図はありません)、ナイフ、飛行機など、平面で何かをスライスするものを考えてみてください。

前もって感謝します。