формула Бэтмена

 


Недавно листал группу пейсбука, которая посвящена программированию на BASIC и увидел программу, которая рисует известную картинку.Вместе с с постом в комментариях приведены различные версии, даже на Apple ][:


Я попробовал переделать код, изменив с учетом разницы разрешения экрана - 256 точек на Spectrum против 280 точек на Apple ][

  10 PAPER NOT PI: INK 4: BORDER NOT PI: CLS
  20 DEF FN w(x)=60*SQR (1-(x/7)^2)
  30 DEF FN l(x)=0.5*x-0.09*x*x-3+SQR (2*ABS (x-2)-(x-2)*(x-2))
  40 DEF FN h(x)=4.31-0.5*x-1.355*SQR (4-(x-1)*(x-1))
  50 DEF FN e(x)=9+1.5*(ABS (x-0.5)+x+0.5)-5.5*(ABS (x-0.75)+x+0.75)
  55 LET b=0: LET v=80: LET w=80
  60 FOR a=0 TO 128: LET h=128+b: PLOT h,175-v: DRAW 0,v-w: LET h=128-b: PLOT h,175-v: DRAW 0,v-w: LET x=a/20: LET b=a
  70 IF x<1 THEN LET v=80-20*FN e(x): LET w=80-20*FN l(x): NEXT a
  80 IF x<3 THEN LET v=80-20*FN h(x): LET w=80-20*FN l(x): NEXT a
  90 IF x<4 THEN LET v=80-FN w(x): LET w=80-20*FN l(x): NEXT a
 100 LET y=FN w(x): LET v=80-y: LET w=80+y: NEXT a
 110 PAUSE NOT PI

Жаль, что края не вместились. В архиве есть исправленная версия

.tap+исходник для BasinC 

Вчера вечером озадачил Google поиском исходного текста и нашел две нерабочие версии. Только зря потратил время.

Комментарии