2017-08-18 3 views
0

私たちは、特定の単純な形状の幅と長さをパラメータ化できる小さな単純な "CAD"ソリューションを開発しています。2D内の点間の距離をパラメータ化するための効率的な方法

たとえば、次の三角形を構成する頂点の集合を考えてみましょう。 任意の2つの点が線を形成します。したがって、ポイント間の距離を変更すると、ラインの幅が変わります。

Triangle

私たちは、この問題にアプローチする方法について厳密に議論してきました。我々が議論してきた

物事は以下のとおりです。

  1. は、すべての頂点の間のすべての関係の方程式のリストを維持します。ポイントABCがあるとします。 Wをいくつかのユーザー定義パラメーターとしましょう。この形状の制約式は、Bx = Ax + W,By = AyCx = Bxなどとなります。

複雑さは非常に大きいですが、機能します。

  1. 各頂点をグラフのノードとしてモデル化することはできますか?

このフィールドでは、どのような方法が適切に使用されていますか?

+0

「問題」は何ですか?私はちょうど私であるかもしれないが、私はあなたが何を求めているのか分からない。頂点の距離を変更すると線幅がどのように変化するのですか?代わりに多角形をスケーリングするか、アウトラインをオフセットすることを意味しましたか? – Spektre

+0

頂点(100,100)と(200,100)の距離がパラメータWによってパラメータ化されているとします.Wを増やしたい場合は、(100,100)または(200,100)を新しい場所に変換するアルゴリズムを適用します。増加する。例。 (200,100)から(300,100)に変換するとWが50%増加します。基本的に。それは私が何を意味したのですか? – 40Plot

+0

行方向に沿った行の終点の移動は簡単です。たとえば 'A、B'を得て、サイズを変更したい場合は、' B '= A + t *(BA) '' t' 1.0''と変更なし... 't = 2.0'ならば長さは2倍になります...' t = 0.5'ならば長さは半分になります... – Spektre

答えて

1

単純な幾何学的制約ソルバーを実装しようとしていると思います。基本的には、点の位置は、いくつかの境界条件(すなわち、いくつかの点の位置は既に分かっている)を有する非線形方程式の集合(すなわち制約)を解くことによって決定される。このような場合には、関係する唯一のジオメトリが2d点であり、唯一の制約は点間の距離であっても簡単ではありません。とにかく、この分野では、最小化による数値ソルバーの実装が一般的なアプローチです。より一般的な解決策には、数値ソルバと代数ソルバの組み合わせが必要です。

幾何拘束ソルバーを含む制約ソルバーに関する多くの情報が含まれています。linkです。うまくいけば、ここで役に立つものを見つけることができます。

+0

幾何学的制約ソルバー。私たちが探している言葉だと思います。 – 40Plot

関連する問題