繁体   English   中英

C#Vector.Add与PointF

[英]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和一个PointPointF是不允许的),但我必须使用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 { ... }

其坐标分别为intSystem.Int32 )和floatSystem.Single )。

在WindowsBase.dll的命名空间System.Windows ,还有另一个

public struct Point { ... }

其坐标为doubleSystem.Double )。

如果两者都需要,您可以

  • using System.Drawing;都具有这两个指令using System.Drawing; using System.Windows; 在文件中处于同一级别,然后在代码内部给出全名(例如System.Winodws.Point而不是Point ),只要存在歧义(即只要编译器需要),就给出全名。 要么:
  • 仅具有一个using指令(您使用最多的一个),然后在使用另一个命名空间中的类型(如struct)的情况下给出全名。 要么:
  • using 别名指令创建一个或多个(请参阅链接)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM