3

私の問題の簡単な説明

3D 印刷用に、G1 命令から G2 および G3 ( http://www.cnccookbook.com/CCCNCGCodeArcsG02G03.htm ) へのGCODE 自動リファクタリングを実装する必要があります。

G1 は、印刷に伴う直線の移動です (パスはベクトルで記述されます)。

指定されたベクトルパスに基づいて、円/円弧(特に中点)を近似するアルゴリズムを探しています。G2 と G3 は、円の一部ではない曲線を印刷できないことに注意してください。そのため、すべてのベクトル パスがこの方法で近似できるわけではありません。

私の問題の長い説明

ベクトルパス(正多角形、その一部、または非正多角形部分)の一部(またはすべて)を円(円弧)で近似する方法を探しています。しかし、最初は、正多角形に焦点を当てましょう。

写真では、この問題のさまざまなケースを描きました。 注:すべてのポリゴンはベクトルによって構築されます (ポイント 5 のように)。 ここに画像の説明を入力

  1. 完全な x-gon での近似。
  2. 片側が異なる部分x-gonの近似
  3. 2 つの辺が異なるが互いに等しい x-gon の近似値
  4. 2 つの辺が異なる (互いに等しくない) 等しくない x-gon の近似値
  5. すべての辺が等しい部分 x-gom の近似

それは話の始まりではありません...いくつかの基準があります:

  • 円の始点/終点は、ベクトル パスの始点/終点にある必要があります。
  • 円の中点を知る必要があります。

私が見つけた解決策(良い点と悪い点):

1) と 5) - 私の簡単な解決策

これは最も簡単なケースです。1 つの意見を共有する各側の間の半径を数えることができます。それらが同じ長さを持ち、それぞれの間の角度が等しい場合、私は円の中点を計算することができます(垂直な中線に属する点として、辺ごとに1つの中線)、必要なものはすべてあります:始点、終点、中点点。

ただし、このソリューションはケース 1 と 5 でのみ機能します。

ケース2、3、4または不規則なポリゴンの部分がある場合、どうすればよいか本当にわかりません

4

2 に答える 2

1

円弧が特定の端点で開始および終了する必要がある場合、中心点はメディアトリックスのどこかにあり、1 つの自由度が残ります。

したがって、最小二乗法を使用して最適なフィットを見つけることができます。中心を与える半径がわかっていると仮定し、残りの頂点から円周までの距離の二乗和を計算します (中心までの距離から半径を引いた値)。最適な適合は、その合計を最小化するものです。分析的な解決策があることを期待しましょう。

于 2014-12-02T16:33:34.987 に答える