[英]C# Vector.Add with PointF
我正在编写一个解释和绘制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()
我需要一个Vector
和一个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
用于矢量。
在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.Drawing;
并using System.Windows;
在文件中处于同一级别,然后在代码内部给出全名(例如System.Winodws.Point
而不是Point
),只要存在歧义(即只要编译器需要),就给出全名。 要么: using
别名指令创建一个或多个(请参阅链接) 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.