C# · 12月 31, 2021

c# – 如何获得两个Point对象之间的所有点?

让我说我有我的第一个Point结构: Point start = new Point(1,9);

而我的第二个:

Point end = new Point(4,9);

我想得到开始和结束之间的所有要点.所以例如我想要一个数组中的2,9和3,9. .NET有内置的东西吗?

解决方法 由于点之间没有点,因此没有为此构建函数. Mathematicaly在两点之间有一条线.在计算机图形学方面,线路可以是抗锯齿的,因此不能四舍五入到完整的整数.

如果您正在寻找一种在中间创建所有整数的快速方法,我猜Bresenhams-Line-Algorithm将是您的选择.但这不是构建到.NET中,您必须自己编写代码(或者采用Matthew Watson的实现):

http://en.wikipedia.org/wiki/Bresenham’s_line_algorithm

甚至还有更快的算法,但我会选择Bresenham.