查找存储在List(Of Point)数据类型中的坐标之间的斜率

时间:2013-02-20 21:40:15

标签: vb.net list point

我在VB 2008中工作。我使用了List(Of Point)数据类型来存储位图中某些像素值的坐标:

'This code is in a loop
Dim bpCoordinates As New List(Of Point)
If pixelClr > 72 Then
bpCoordinates.Add(New Point(FrameNumber, y))
End If

我想使用(y2 - y1)/(x2 - x1)计算列表中存储点之间的斜率。 我遇到的问题是访问列表中的点。我不知道怎么做。

我在线查看,无法找到从列表中提取各个坐标点的任何方法。有什么建议。感谢。

1 个答案:

答案 0 :(得分:0)

如果它们列在List中,您可以像在数组中一样直接访问元素 - 尽管这样效率很低。

'Returns the nth list element
Dim p As Point = bpCoordinates(n)

将它存储在一个数组中会好得多,特别是如果你的列表很长。

Dim pointArray As Point() = bpCoordinates.ToArray

之后通常会遍历您的列表或数组。

Dim slope As Double

For index As Integer = 0 To pointArray.Length - 1
     slope = (pointArray(index + 1).Y - pointArray(index).Y) / (pointArray(index + 1).X - pointArray(index).X)
     'Do fun stuff with slope
Next