SCREEN 12 PRINT "afvlakking van een N-polygoon" PRINT "demping door formule xk=.5*(xk-1 + xk+1)" PRINT "geef range op voor N (min, max)" PRINT "" PRINT "smoothing an N-polyline" PRINT "thru formula Xk = .5 * (Xk-1 + Xk+1)" PRINT "give range min-max for N" PRINT PRINT "Druk toets = NEXT N/Press a key = NEXT N" PRINT "****************************************" PRINT : PRINT : PRINT : COLOR 10 PRINT " Credits: guido wuyts 1997" PRINT : PRINT : PRINT : COLOR 3 PRINT " -> Toets/Key...": COLOR 15 PLAY "o4l24d" SLEEP: a$ = INKEY$: a$ = "": COLOR 11 CLS RANDOMIZE TIMER x0% = 320: xmax% = 480: xmin% = 2 * x0% - xmax% dxmax% = 10 INPUT "Range min. n1 (0 = END):", n1% IF n1% = 0 THEN END INPUT "Range max. n2 (0 = END):", n2% IF n2% = 0 THEN END FOR n% = n1% TO n2% ' verfijn met stijgende n n% = n% + INT(n% / 10) CLS PRINT n%; " points -> key...(SPACE=END)" REDIM x%(n%), y%(n%), dx%(n%) FOR k% = 0 TO n% x%(k%) = xmin% + RND * (xmax% - xmin%) y%(k%) = 10 + (k% / n%) * 470 NEXT k% FOR k% = 1 TO n% - 1 LINE (x%(k% - 1), y%(k% - 1))-(x%(k%), y%(k%)) LINE (x%(k%), y%(k%))-(x%(k% + 1), y%(k% + 1)) NEXT k% t = TIMER: WHILE TIMER - t < .1: WEND Ciqlus: FOR k% = 1 TO n% - 1 LINE (x%(k% - 1), y%(k% - 1))-(x%(k%), y%(k%)), 0 LINE (x%(k%), y%(k%))-(x%(k% + 1), y%(k% + 1)), 0 x%(k%) = .5 * x%(k% - 1) + .5 * x%(k% + 1) LINE (x%(k% - 1), y%(k% - 1))-(x%(k%), y%(k%)) LINE (x%(k%), y%(k%))-(x%(k% + 1), y%(k% + 1)) NEXT k% a$ = INKEY$ IF a$ = " " THEN END IF a$ <> "" GOTO volg GOTO Ciqlus volg: NEXT n% END