[求助]平面上点坐标顺时针排序问题
平面上有n+1(n为自然数)个点的坐标定义二维数组如下
Dim vntPts(0 to n,0 to 2)
第一维为点的序号
第二维为点的x,y,z坐标,且z坐标始终为0
请问:如何对这个数组进行排序,使其对应的坐标序列在平面上按照顺时针分布? Values是点到中点的角度数组Points 是点数组
Private Sub SortPoint(ByRef Values As Variant, ByRef Points As Variant, ByVal Count As Integer)
Dim pTemp As Double, pnt As Variant
For i = Count To 1 Step -1
For j = 0 To i - 1
If Values(j) > Values(j + 1) Then
pTemp = Values(j + 1)
Values(j + 1) = Values(j)
Values(j) = pTemp
pnt = Points(j + 1)
Points(j + 1) = Points(j)
Points(j) = pnt
End If
Next j
Next i
End Sub 多谢赐复,感觉上面的方法有一个很重要的条件是要知道"中心"的位置.
还请问这个位置能否通过那些点的坐标算出呢?要不然角度数组也就无从谈起了. 应该可以通过各点的XY轴坐标的算术平均值求得吧 多谢,偶去试试! 这个是不是对所有的形状的坐标有效呀?
页:
[1]