1

Gコードを解釈して描画するための小さなプログラムをプログラミングしています(CNC-マシンに使用)

半径のある 2 つの線をリンクするには、小さなプログラムを作成し、関数 Vector.Add を使用する必要があります。

No code, had probelems with formatting :)
p1,p2,p3 are the three points 
p1->p2 = vector ab 
p2->p3 = vector bc 
eab = Unit vector ab 
ebc = Unit vector bc 
eres = resulting vector 

私の問題は次のとおりです。操作Vector.Add()には aVectorと a Point(PointFは許可されていません) が必要ですPointFが、精度のために使用する必要があります。何をすればよいでしょうか?

eab = ab / ab.Length;
ebc = bc / bc.Length;
eres = Vector.Add(eab, ebc);
PointF test= new PointF();
test= Vector.Add(5 * eres, test ); 

System.Windows.Drawing描画とSystem.Windows.Baseベクトルに使用します。

4

1 に答える 1

0

System.Drawing.dll の名前空間System.Drawingには、次のものがあります。

public struct Point { ... }
public struct PointF { ... }

その座標はそれぞれint( System.Int32) とfloat( System.Single) です。

WindowsBase.dll の namespaceSystem.Windowsには、別の:

public struct Point { ... }

その座標はdouble( System.Double) です。

両方が必要な場合は、

  • 両方のディレクティブusing System.Drawing;using System.Windows;ファイル内の同じレベルに配置し、コード内で完全な名前を指定します (たとえばSystem.Winodws.Point、単に の代わりにPoint) (つまり、コンパイラが必要とするときはいつでも)。または:
  • using ディレクティブ (最もよく使用するディレクティブ) を 1 つだけ使用し、他の名前空間の型 (構造体など) を使用する場合は完全な名前を付けます。または:
  • 1 つ以上のusing エイリアスディレクティブを作成します (リンクを参照)
于 2012-12-12T11:44:58.660 に答える