3
这可能是一个重复,但我似乎无法找到特定于我的问题的东西。等高线算法
我在图片框中有一个xy网格。每个网格单元具有特定的质量。我想根据质量在这个xy网格上创建轮廓线。
有没有人有任何想法到一个很好的算法来执行此任务?我试图在VB6中完成这个任务,但是任何算法都可以。
编辑
我有一个网格。我想显示基于质量的等高线(IE,其中多于一个点的单元质量会更重)
这可能是一个重复,但我似乎无法找到特定于我的问题的东西。等高线算法
我在图片框中有一个xy网格。每个网格单元具有特定的质量。我想根据质量在这个xy网格上创建轮廓线。
有没有人有任何想法到一个很好的算法来执行此任务?我试图在VB6中完成这个任务,但是任何算法都可以。
编辑
我有一个网格。我想显示基于质量的等高线(IE,其中多于一个点的单元质量会更重)
这个问题有点陈旧,但我的经验也是如此:我做了近30年前。
这将产生一个位图简洁的轮廓:
ToInt(pixel_field_strength/100) % 2
选择每个像素的颜色。如果您只是对结果感兴趣,请使用评论中建议的库。
纯粹为了怀旧的缘故,我找到了我最初的BBC BASIC代码。它仍然运行在modelb(BBC微型仿真器)上。
10 REM THIS COMES WITH NO WARRANTY!
20
30 REM Gravity field
40
50 MODE 1
60 PROCsetup
70 FOR Y%=300 TO 900 STEP 4
80 FOR X%=200 TO 800 STEP 4
90 R=LOG(FNforce(X%,Y%))
100 GCOL0,((R*10) MOD 2)+1
110 PLOT69,X%,Y%
120 NEXT
130 NEXT
140 PROCcontour
150 VDU19,1,0,0,0,0
160 VDU19,2,0,0,0,0
170 END
180 DEFPROCsetup
190 N%=5
200 DIM X%(N%),Y%(N%),M%(N%)
210 FOR P%=1 TO N%
220 READ X%(P%),Y%(P%),M%(P%)
230 NEXT
240 ENDPROC
250 DATA 625,625,1000000
260 DATA 425,725,1000000
270 DATA 475,425,1000000
280 DATA 375,575,1000000
290 DATA 725,525,1000000
300 DEFFNforce(X,Y)
310 P=0
320 FOR P%=1 TO N%
330 DX=X%(P%)-X:DY=Y%(P%)-Y
340 R=SQR(DX*DX+DY*DY)
350 P=P+M%(P%)/R
360 NEXT
370 =P
380 DEFPROCcontour
390 GCOL0,3
400 FOR Y%=300 TO 900 STEP 4
410 FOR X%=200 TO 800 STEP 4
420 IF POINT(X%,Y%)=1 AND (POINT(X%+4,Y%)=2 OR POINT(X%-4,Y%)=2 OR POINT(X%,Y%+4)=2 OR POINT(X%,Y%-4)=2) THEN PLOT69,X%,Y%
430 NEXT
440 NEXT
450 ENDPROC
也许如果你能提供一个你希望看到的结果的例子,你会得到更好的回应。 – Brad
http://dynamicdatadisplay.codeplex.com/:有人在另一个问题中提到过这个问题:http://www.stackoverflow.com/questions/3180401/net-open-source-contour-plotting –