算法如下:
Step1.对于屏幕上任意像素点p,分别计算出p到n个生成元p1,p2,p3,p4....pn的Power距离。
Step2.从这n个Power距离中,取出最小值和次最小值。如果这两个Power距离之差的绝对值小于事先指定的某阈值,便将该点p画出,否则跳过该像素点,处理下一个像素点。当p从上到下,从左到右遍历屏幕上所有像素点,便得到Power图
其中,生成元p1,p2,p3,p4....pn的坐标已知。
power距离d = (m ^ 2 - xi ^ 2 + n ^ 2 - yi ^ 2 - wi),其中,(m,n)是任意点p的坐标,(xi,yi)为已知点pi的坐标,wi为该已知点权重,是已知量。
Step1.对于屏幕上任意像素点p,分别计算出p到n个生成元p1,p2,p3,p4....pn的Power距离。
Step2.从这n个Power距离中,取出最小值和次最小值。如果这两个Power距离之差的绝对值小于事先指定的某阈值,便将该点p画出,否则跳过该像素点,处理下一个像素点。当p从上到下,从左到右遍历屏幕上所有像素点,便得到Power图
其中,生成元p1,p2,p3,p4....pn的坐标已知。
power距离d = (m ^ 2 - xi ^ 2 + n ^ 2 - yi ^ 2 - wi),其中,(m,n)是任意点p的坐标,(xi,yi)为已知点pi的坐标,wi为该已知点权重,是已知量。
For n = 0 To ScaleHeight
For i = 0 To 11
d(i) = (m ^ 2 - x(i) ^ 2 + n ^ 2 - y(i) ^ 2 - w(i))
Next i
For j = 0 To 11
For k = 0 To 11 - j
If d(k) > d(k + 1) Then
t = d(k)
d(k) = d(k + 1)
d(k + 1) = t
End If
Next k
Next j
If d(1) - d(0) < 5 Then
PSet (m, n), vbBlack
End If
Next n
Next m
这是我自己写的,运行不出来,哪位大大帮我看看有什么问题啊。
For n = 0 To ScaleHeight
For i = 0 To 11
d(i) = (m ^ 2 - x(i) ^ 2 + n ^ 2 - y(i) ^ 2 - w(i))
Next i
For j = 0 To 11
For k = 11 To j Step -1
If d(k) > d(j) Then
t = d(k)
d(k) = d(j)
d(j) = t
End If
Next k
Next j
If d(1) - d(0) < 5 Then
PSet (m, n), vbBlack
End If
Next n
Next m