問題タブ [line-segment]

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

java - PathIteratorを使用して、エリアを制約するすべての線分を返しますか?

PathIteratorJavaでは、?を制約する線分を反復処理するためにどのように使用しAreaますか?はArea線でのみバインドされます(ただし、曲線のサポートは問題ありません)。

このメソッドは、すべての線分のコレクションを返す必要があります。

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

matlab - すべての共線の線分を識別します (matlab で)

私はここに関連するが同じではない質問を投稿しまし

背景: 次のような画像がたくさんあります。 ここに画像の説明を入力

同一線上にあるすべての線分を特定し、これらの線分の長さを測定したいと思います。上の画像では、負の傾きを持つ仮想線上に 3 組のセグメントがあります。最も長い線分にはペアがないため、考慮されません。つまり、同一直線上にある線分が少なくとも 2 つ必要です。

私は以下を取得します: ここに画像の説明を入力

妥当なパフォーマンスを得るために、パラメーターをいじる必要がありました (ただし、一番下にあるセグメントの開始ビットをキャプチャーするパラメーターを見つけることはできません)。ただし、重複している複数のセグメントを見つけることは避けられません。

誰か助けてください。2. 同一線上にあるすべての線を特定する

どうもありがとう!

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

wpf - Silverlight で、この単純な LineSegment がキャンバスの中央下部から左上にジャンプするのはなぜですか?

WPF(Silverlight 4でも)で1024x768の青いキャンバスに短い垂直の黒い線を「正しく」描画する非常に単純なコードがあります。

ここにコードビハインドがあります

ここで、線分の終点を変更すると、始点から Y を変更するだけでなく、X も変更されますが、1 ピクセルだけではありますが、線全体がキャンバスの左上にレンダリングされます。 . 改訂されたコード ビハインドを次に示します。

両方がキャンバスの中央下部にレンダリングされた場合、または両方がキャンバスの左上にレンダリングされた場合、理解できました。しかし、最初のコード ブロックによって行が中央下部にレンダリングされ、2 番目のコード ブロックによって行が左上にレンダリングされる理由がわかりません。

Canvas.Top または Canvas.Left を使用していないことに注意してください。

どんな洞察もありがたく受け取った!

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

computational-geometry - セグメント/セグメント交差点のセットの高速化

R^2 に一連のセグメントがあるとします (これを S と呼びます)。すべてのセグメントは、次元 WxH のボックスに含まれています (つまり、セット S には、ボックスの各辺に 1 つずつ、合計 4 つの追加セグメントがあります) と、S に追加されるセグメント s があります。セグメント s は、点 A から始まります (計算したいのは、B'がSのセグメントの1つに属し、AB'がSの他のセグメントと交差しないような点B'です。ブルートフォースアルゴリズムを使用せずにB'を計算するワット(つまり、ABをSの他のすべてのセグメントと交差させる)?

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

algorithm - 3D ポリゴン上の原点である線分で切り取られたスライスを見つけます

次のような三角形の頂点(ポリゴンの面)の配列があります

2 つの 3D 頂点で表される線分があります[[j, k, l], [m, n, o]]

そして、私にはポイントがあり[p, q, r]ます。

私がやりたいことは、線分を通してポリゴン上のポイントを投影し、それがポリゴンを完全にスライスするかどうかを確認することです(4つの接触点で十分だと思いますか?私は間違っている可能性があります)。もしそうなら、エッジと頂点にあるすべての交点が必要です。

私はここで完全に迷っています。任意のポインタをいただければ幸いです。

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

wolfram-mathematica - 点と線分の交点。どちらも動く

固定速度で移動するポイントと、終点が移動しているライン セグメントとの交点の時間とポイントをどのように判断すればよいでしょうか? 端点は独立して移動しますが、正の y 方向にのみ固定速度で移動します。

状況の写真:

交差点.png

したがって、時間 t にわたって、L1 は L2 に移動し、R1 は R2 に移動し、P1 は P2 に移動します。ある時点で、時刻 t での P の位置は、時刻 t で L と R によって形成される線分上のどこかにあるはずです。

私はmathematica で思いつくことができるすべての関係に固執し、それをtについて解いて答えを得ましたが、それを実装しようとするとうまくいかないようです(衝突は検出されませんでした。私はかなり新しいです) Mathematica を使っていて、自分が何をしているのかよくわからないので、経験豊富な人が、連立方程式を解こうとしている方法が根本的に間違っていることに気付いてくれることを願っています。読んでくれてありがとう!

ここで、U は時間 t における線分です。

  • Ly = L1y + (L2y - L1y) * t
  • Ry = R1y + (R2y - R1y) * t
  • Py = P1y + (P2y - P1y) * t
  • Px = P1x + (P2x - P1x) * t
  • Ux = L1x + (R1x - L1x) * m
  • Uy = Ly + (Ry - Ly) * m
  • m = (Px - L1x) / (R1x - L1x)

t について解くと、次のようになります。

  • Ux = Px
  • Uy = パイ

解決:

  • A = (P2x - P1x) * (L2y - L1y) - (P2x - P1x) * (R2y - R1y)
  • B = (P2x - P1x) * L1y + (P2x - P1x) * R1y - P1x * (L2y - L1y) + L1x * (L2y - L1y) + P1x * (R2y - R1y) - L1x * (R2y - R1y) + (P2y - P1y) * (R1x - L1x) - (R1x - L1x) * (L2y - L1y)
  • C = P1x * L1y - P1x * R1y - L1y * L1x + R1y * L1x + P1y * (R1x - L1x) - L1y * (R1x - L1x)

t = (-B + -sqrt(B^2 - 4AC)) / 2A

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

algorithm - バイナリ イメージの線分の x、y の中点を見つけるにはどうすればよいですか?

バイナリ イメージに破損した線分がいくつかあり、それらを修正する必要があります (線分をまっすぐにし、元の太さにします)。そのためには、セグメントの中間点を見つける必要があるため、近傍をチェックして線の太さを見つけると、ピクセルが 1 でなくなって 0 になる場所を見つけることができます。

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

collision-detection - 円弧と線分の衝突検出

線分と円弧の間の距離を確認するにはどうすればよいですか?

弧は塗りつぶされていないので、それが含まれる円の外縁だけがカウントされます。

衝突検出を行いたい。基本的に、2 つの円形オブジェクトがあります。1 つは直線上を移動し、もう 1 つは円弧上を移動します。オブジェクトには衝突半径があります。

これは正確な衝突検出ではないことに注意してください。これは、一定の速度で移動する時間分析 (反復的な解決策があります) を行うための閉じた形式の解決策はないと考えているためです。

疑似コードが必要なだけです。円弧を太さのない 2 つの円弧と両端の 2 つの円に変換し、従来のアルゴリズムを使用することでこれを行うことができますが、これは時間に敏感です。それをプリミティブに分解して個別にチェックすると、いくつかのことを再チェック/再計算することになり、不要な計算は避けたいと思います。

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

algorithm - ラインパスの交点を見つける

終点を共有する 2 つのベジエ曲線があります。これらの各カーブには、道路の端と同様に、左右両側に「延長」があります。拡張は、ベジエ曲線に近似する線分で構成されます。

これらのパスの最も近い交点をベジエ曲線の共有終点に見つけたいと思います。

ここに私が描いた問題の図があります

各ライン パスには 100 を超える頂点があるため、リアルタイムで実行する必要がある場合、各ラインを交差させて最も近い交点を維持することは非常に遅くなる可能性があります。

交点をチェックして速度を少し上げる前に、境界球の交差テストをラインで実行しましたが、それでもまだ十分な速さではありません。私の次のアプローチは、ある種の四分木構造を使用することです。

Bentley-Ottmann アルゴリズムを調べましたが、1 組の線分内のすべての交差点を見つけることを扱っているようですが、これは必要なものではありません。ベジエ曲線の交差アルゴリズムも調べましたが、すでに持っている線分への細分化が必要なようです。

この問題に役立つアルゴリズムはありますか、または最適化する方法についてのアイデアはありますか?

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

graphics - 中心で接続された長方形の間のギャップ

特定の幅の一連の線分として表されるオブジェクトを使用して、ベクトルベースのグラフィックスタイルを試しています(おそらくこれらを長方形と考える方が簡単でしょう)。問題は、これらのセグメントが中央で接続され、ギャップが生じることです (下図)。このギャップをカバーする最も効率的な方法は、単純に三角形でカバーすることであると判断しました.OpenGLで作業しているので、必要なのは他の長方形と重ならない2つのポイントのポイントだけです. 、3 番目の点は、2 つの線分 (長方形) が接続される中心点です。両方の長方形からすべての点がある場合、三角形に使用する必要がある点をどのように判断できますか?

例

編集:そのギャップをカバーする限り、代替ソリューションも受け入れます。

編集2:気にしないで、解決しました。インターネット接続が改善されたら、コードを投稿します。