gpt4 book ai didi

vb6 - 等高线算法

转载 作者:行者123 更新时间:2023-12-04 20:19:54 24 4
gpt4 key购买 nike

这很可能是重复的,但我似乎找不到与我的问题有关的某些东西。

我在图片框中有一个xy网格。每个网格单元都有特定的质量。我想基于质量在此xy网格上创建轮廓线。

是否有人对执行此任务的好的算法有任何想法?我正在尝试在VB6中完成此操作,但是任何算法都可以。

编辑

Contour Grid

我有一个网格。我想显示基于质量的轮廓线(即,其中包含一个以上点的单元将更重)

最佳答案

这个问题有些陈旧,但是我的经验也是如此:大约30年前,我做了类似的事情。

这将在位图上生成简单的轮廓:


计算网格中每个点的场强(我假设您正在尝试根据点的质量绘制类似重力场轮廓的图形)。
用两种替代颜色为等高线之间的替代空间(尚未使用)着色。例如如果轮廓线应该相隔100个单位(场强),则根据ToInt(pixel_field_strength / 100) % 2选择每个像素的颜色。
跟踪颜色边界的边缘以产生轮廓。例如,如果您的两种颜色是白色和黑色,则仅保留与黑色像素相邻的白色像素。


如果您只对结果感兴趣,请使用注释中建议的库。

纯粹出于怀旧之情,我找到了原始的BBC BASIC代码。它仍然在modelb(BBC Micro仿真器)上运行。

   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

关于vb6 - 等高线算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com