1

我正在编写一个用于解释和绘制 G 代码的小程序(用于 CNC - 机器)

为了用半径连接两条线,我写了一个小程序,并且必须使用函数 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 的命名空间System.Windows中,还有另一个

public struct Point { ... }

其坐标为double( System.Double)。

如果两者都需要,可以

  • 将指令using System.Drawing;using System.Windows;文件放在同一级别,然后在代码中给出全名(例如System.Winodws.Point,而不是 just Point),只要有歧义(即编译器需要时)。或者:
  • 只有一个 using 指令(您使用最多的指令),然后在您使用其他命名空间中的类型(如结构)的情况下给出全名。或者:
  • 创建一个或多个using 别名指令(见链接)
于 2012-12-12T11:44:58.660 回答