Author Topic: Morph Curve  (Read 4778 times)

0 Members and 1 Guest are viewing this topic.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Morph Curve
« on: January 27, 2019, 10:23:28 pm »
That Paul Dunn does some cool stuff!
Code: QB64: [Select]
  1. _TITLE "Morph Curve" 'for QB64 B+ 2019-01-27
  2. ' Morph Curve.bas  SmallBASIC 0.12.8 [B+=MGA] 2017-04-11
  3. 'from SpecBAS version Paul Dunn Dec 2, 2015
  4. '[youtube]https://www.youtube.com/watch?v=j2rmBRLEVms[/youtube]
  5.  
  6. 'prep
  7. CONST xmax = 700
  8. CONST ymax = 700
  9. SCREEN _NEWIMAGE(xmax, ymax, 32)
  10. _SCREENMOVE 100, 20
  11. pts = 12000: interps = 20
  12. REDIM p(pts + 1, 1), q(pts + 1, 1), s(pts + 1, 1), i(interps)
  13. l = 0: cx = xmax / 2: cy = ymax / 2: sc = cy * .5: st = 2 * _PI / pts
  14. FOR n = 1 TO interps
  15.     i(n) = SIN(n / interps * (_PI / 2))
  16.  
  17. 'main
  18. n = 0: m = 0: rmode = 0
  19.     c = 0
  20.     IF INKEY$ = " " THEN rmode = 1
  21.     IF rmode = 0 THEN
  22.         n = n + 1
  23.         IF n > 12 THEN n = 0: m = m + 1
  24.         IF m > 12 THEN rmode = 1
  25.     END IF
  26.     IF rmode THEN n = rand(1, 75): m = rand(-250, 250)
  27.     FOR t = 0 TO 2 * _PI STEP st
  28.  
  29.         q(c, 0) = cx + sc * (COS(t) + COS(n * t) / 2 + SIN(m * t) / 3)
  30.         q(c, 1) = cy + sc * (SIN(t) + SIN(n * t) / 2 + COS(m * t) / 3)
  31.         c = c + 1
  32.     NEXT
  33.     q(c, 0) = q(0, 0): q(c, 1) = q(0, 1)
  34.     CLS
  35.     PRINT "m = "; m; "  n = "; n; "  spacebar skips to random mode."
  36.     IF l = 0 THEN
  37.         drawpoly q()
  38.         l = l + 1
  39.         _DISPLAY
  40.         _DELAY 10 / 1000
  41.     ELSE
  42.         FOR t = 1 TO interps
  43.             CLS
  44.             PRINT "m = "; m; "  n = "; n;
  45.             IF rmode <> 1 THEN PRINT "  spacebar skips to random mode." ELSE PRINT
  46.             FOR nn = 0 TO pts
  47.                 s(nn, 0) = q(nn, 0) * i(t) + p(nn, 0) * (1 - i(t))
  48.                 s(nn, 1) = q(nn, 1) * i(t) + p(nn, 1) * (1 - i(t))
  49.             NEXT
  50.             s(nn, 0) = s(0, 0)
  51.             s(nn, 1) = s(0, 1)
  52.             drawpoly s()
  53.             _DISPLAY
  54.             _DELAY 10 / 1000
  55.         NEXT
  56.     END IF
  57.     _DISPLAY
  58.     _DELAY 100 / 1000
  59.     'p() = q()
  60.     REDIM p(LBOUND(q) TO UBOUND(q), 1)
  61.     FOR i = LBOUND(q) TO UBOUND(q)
  62.         p(i, 0) = q(i, 0): p(i, 1) = q(i, 1)
  63.     NEXT
  64.  
  65. FUNCTION rand (lo, hi)
  66.     rand = (RND * (hi - lo + 1)) \ 1 + lo
  67.  
  68. SUB drawpoly (a())
  69.     FOR i = LBOUND(a) TO UBOUND(a) - 1
  70.         LINE (a(i, 0), a(i, 1))-(a(i + 1, 0), a(i + 1, 1))
  71.     NEXT
  72.     LINE (a(UBOUND(a), 0), a(UBOUND(a), 1))-(a(LBOUND(a), 0), a(LBOUND(a), 1))
  73.  

Offline Petr

  • Forum Resident
  • Posts: 1720
  • The best code is the DNA of the hops.
    • View Profile
Re: Morph Curve
« Reply #1 on: January 28, 2019, 01:31:22 am »
Hell, that's really good!

Offline johnno56

  • Forum Resident
  • Posts: 1270
  • Live long and prosper.
    • View Profile
Re: Morph Curve
« Reply #2 on: January 28, 2019, 05:29:55 pm »
Cool... Reminds me of a bowl of spaghetti... Mmm... Pasta.
Logic is the beginning of wisdom.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Morph Curve
« Reply #3 on: January 28, 2019, 05:33:07 pm »
Thicker pasta and colorized pasta sauce (Hi Johnno!):
Code: QB64: [Select]
  1. _TITLE "Morph Curve Colorized" 'for QB64 B+ 2019-01-28
  2. ' Morph Curve.bas  SmallBASIC 0.12.8 [B+=MGA] 2017-04-11
  3. 'from SpecBAS version Paul Dunn Dec 2, 2015
  4. '[youtube]https://www.youtube.com/watch?v=j2rmBRLEVms[/youtube]
  5.  
  6. 'prep
  7. CONST xmax = 700
  8. CONST ymax = 700
  9. SCREEN _NEWIMAGE(xmax, ymax, 32)
  10. _SCREENMOVE 100, 20
  11. DIM SHARED plasmaN, plasmaR, plasmaG, plasmaB
  12. pts = 12000: interps = 20
  13. REDIM p(pts + 1, 1), q(pts + 1, 1), s(pts + 1, 1), i(interps)
  14. l = 0: cx = xmax / 2: cy = ymax / 2: sc = cy * .5: st = 2 * _PI / pts
  15. FOR n = 1 TO interps
  16.     i(n) = SIN(n / interps * (_PI / 2))
  17.  
  18. 'main
  19. n = 0: m = 0: rmode = 0
  20.     resetPlasma
  21.     c = 0
  22.     IF INKEY$ = " " THEN rmode = 1
  23.     IF rmode = 0 THEN
  24.         n = n + 1
  25.         IF n > 12 THEN n = 0: m = m + 1
  26.         IF m > 12 THEN rmode = 1
  27.     END IF
  28.     IF rmode THEN n = rand(1, 75): m = rand(-250, 250)
  29.     FOR t = 0 TO 2 * _PI STEP st
  30.         q(c, 0) = cx + sc * (COS(t) + COS(n * t) / 2 + SIN(m * t) / 3)
  31.         q(c, 1) = cy + sc * (SIN(t) + SIN(n * t) / 2 + COS(m * t) / 3)
  32.         c = c + 1
  33.     NEXT
  34.     q(c, 0) = q(0, 0): q(c, 1) = q(0, 1)
  35.     CLS
  36.     PRINT "m = "; m; "  n = "; n; "  spacebar skips to random mode."
  37.     IF l = 0 THEN
  38.         drawpoly q()
  39.         l = l + 1
  40.         _DISPLAY
  41.         _DELAY 10 / 1000
  42.     ELSE
  43.         FOR t = 1 TO interps
  44.             CLS
  45.             PRINT "m = "; m; "  n = "; n;
  46.             IF rmode <> 1 THEN PRINT "  spacebar skips to random mode." ELSE PRINT
  47.             FOR nn = 0 TO pts
  48.                 s(nn, 0) = q(nn, 0) * i(t) + p(nn, 0) * (1 - i(t))
  49.                 s(nn, 1) = q(nn, 1) * i(t) + p(nn, 1) * (1 - i(t))
  50.             NEXT
  51.             s(nn, 0) = s(0, 0)
  52.             s(nn, 1) = s(0, 1)
  53.             drawpoly s()
  54.             _DISPLAY
  55.             _DELAY 10 / 1000
  56.         NEXT
  57.     END IF
  58.     _DISPLAY
  59.     _DELAY 100 / 1000
  60.     'p() = q()
  61.     REDIM p(LBOUND(q) TO UBOUND(q), 1)
  62.     FOR i = LBOUND(q) TO UBOUND(q)
  63.         p(i, 0) = q(i, 0): p(i, 1) = q(i, 1)
  64.     NEXT
  65.  
  66. FUNCTION rand (lo, hi)
  67.     rand = (RND * (hi - lo + 1)) \ 1 + lo
  68.  
  69. SUB drawpoly (a())
  70.     FOR i = LBOUND(a) TO UBOUND(a) - 1
  71.         kl~& = setPlasma~&
  72.         thic a(i, 0), a(i, 1), a(i + 1, 0), a(i + 1, 1), 4, kl~&
  73.     NEXT
  74.     kl~& = setPlasma~&
  75.     thic a(UBOUND(a), 0), a(UBOUND(a), 1), a(LBOUND(a), 0), a(LBOUND(a), 1), 4, kl~&
  76.  
  77. SUB thic (x1, y1, x2, y2, thick, K AS _UNSIGNED LONG)
  78.     'add filled circles at each end
  79.     t2 = thick / 2
  80.     IF t2 < 1 THEN t2 = 1
  81.     fcirc x1, y1, t2, K
  82.     fcirc x2, y2, t2, K
  83.     a = _ATAN2(y2 - y1, x2 - x1)
  84.     x3 = x1 + t2 * COS(a + _PI(.5))
  85.     y3 = y1 + t2 * SIN(a + _PI(.5))
  86.     x4 = x1 + t2 * COS(a - _PI(.5))
  87.     y4 = y1 + t2 * SIN(a - _PI(.5))
  88.     x5 = x2 + t2 * COS(a + _PI(.5))
  89.     y5 = y2 + t2 * SIN(a + _PI(.5))
  90.     x6 = x2 + t2 * COS(a - _PI(.5))
  91.     y6 = y2 + t2 * SIN(a - _PI(.5))
  92.     filltri x6, y6, x4, y4, x3, y3, K
  93.     filltri x3, y3, x5, y5, x6, y6, K
  94.  
  95. ' found at [abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]:    http://www.[abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]/forum/index.php?topic=14425.0
  96. SUB filltri (x1, y1, x2, y2, x3, y3, K AS _UNSIGNED LONG)
  97.     a& = _NEWIMAGE(1, 1, 32)
  98.     _DEST a&
  99.     PSET (0, 0), K
  100.     _DEST 0
  101.     _MAPTRIANGLE _SEAMLESS(0, 0)-(0, 0)-(0, 0), a& TO(x1, y1)-(x2, y2)-(x3, y3)
  102.     _FREEIMAGE a& '<<< this is important!
  103.  
  104. SUB resetPlasma () 'all globals
  105.     plasmaR = RND ^ 2: plasmaG = RND ^ 2: plasmaB = RND ^ 2: plasmaN = 0
  106.  
  107. FUNCTION setPlasma~& () 'all globals
  108.     plasmaN = plasmaN + .01
  109.     setPlasma~& = _RGB32(120 + 84 * SIN(plasmaR * plasmaN), 120 + 84 * SIN(plasmaG * plasmaN), 120 + 84 * SIN(plasmaB * plasmaN))
  110.  
  111. 'Steve McNeil's  copied from his forum   note: Radius is too common a name
  112. SUB fcirc (CX AS LONG, CY AS LONG, R AS LONG, K AS _UNSIGNED LONG)
  113.     DIM subRadius AS LONG, RadiusError AS LONG
  114.     DIM X AS LONG, Y AS LONG
  115.  
  116.     subRadius = ABS(R)
  117.     RadiusError = -subRadius
  118.     X = subRadius
  119.     Y = 0
  120.  
  121.     IF subRadius = 0 THEN PSET (CX, CY), K: EXIT SUB
  122.  
  123.     ' Draw the middle span here so we don't draw it twice in the main loop,
  124.     ' which would be a problem with blending turned on.
  125.     LINE (CX - X, CY)-(CX + X, CY), K, BF
  126.  
  127.     WHILE X > Y
  128.         RadiusError = RadiusError + Y * 2 + 1
  129.         IF RadiusError >= 0 THEN
  130.             IF X <> Y + 1 THEN
  131.                 LINE (CX - Y, CY - X)-(CX + Y, CY - X), K, BF
  132.                 LINE (CX - Y, CY + X)-(CX + Y, CY + X), K, BF
  133.             END IF
  134.             X = X - 1
  135.             RadiusError = RadiusError - X * 2
  136.         END IF
  137.         Y = Y + 1
  138.         LINE (CX - X, CY - Y)-(CX + X, CY - Y), K, BF
  139.         LINE (CX - X, CY + Y)-(CX + X, CY + Y), K, BF
  140.     WEND
  141.  
  142.  

EDIT: adjust thic call to 4 (from 3), as some lines were beady, need even thickness.
« Last Edit: January 28, 2019, 05:41:15 pm by bplus »

Offline johnno56

  • Forum Resident
  • Posts: 1270
  • Live long and prosper.
    • View Profile
Re: Morph Curve
« Reply #4 on: January 29, 2019, 03:54:23 am »
Much better! Linguini !!
Logic is the beginning of wisdom.

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Morph Curve
« Reply #5 on: January 29, 2019, 10:32:28 am »
Now Mark just needs to add balls... Meat balls!

Pete :D
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Morph Curve
« Reply #6 on: January 29, 2019, 11:29:16 am »
Now Mark just needs to add balls... Meat balls!

Pete :D

Dang! why didn't I think of that? hmm...

Thanks Pete :D

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Morph Curve
« Reply #7 on: January 29, 2019, 12:42:28 pm »
Don't worry about the pasta. I'll keep "stirring the pot" while you bang out your meatballs.

Pete :D
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Morph Curve
« Reply #8 on: January 29, 2019, 12:44:42 pm »
OK I have added meatballs to the plate. They are red unless you look at them. ;-))
Code: QB64: [Select]
  1. _TITLE "Morph Curve Colorized and Balled" 'for QB64 B+ 2019-01-29
  2. ' Morph Curve.bas  SmallBASIC 0.12.8 [B+=MGA] 2017-04-11
  3. 'from SpecBAS version Paul Dunn Dec 2, 2015
  4. '[youtube]https://www.youtube.com/watch?v=j2rmBRLEVms[/youtube]
  5.  
  6. '2019-01-29 add magic red meat balls to the plate
  7.  
  8. 'prep
  9. CONST xmax = 700
  10. CONST ymax = 700
  11. SCREEN _NEWIMAGE(xmax, ymax, 32)
  12. _SCREENMOVE 300, 20
  13. DIM SHARED plasmaN, plasmaR, plasmaG, plasmaB
  14. pts = 12000: interps = 20
  15. REDIM p(pts + 1, 1), q(pts + 1, 1), s(pts + 1, 1), i(interps)
  16. l = 0: cx = xmax / 2: cy = ymax / 2: sc = cy * .5: st = 2 * _PI / pts
  17. FOR n = 1 TO interps
  18.     i(n) = SIN(n / interps * (_PI / 2))
  19.  
  20. 'main
  21. n = 0: m = 0: rmode = 0
  22.     resetPlasma
  23.     c = 0
  24.     IF INKEY$ = " " THEN rmode = 1
  25.     IF rmode = 0 THEN
  26.         n = n + 1
  27.         IF n > 12 THEN n = 0: m = m + 1
  28.         IF m > 12 THEN rmode = 1
  29.     END IF
  30.     IF rmode THEN n = rand(1, 75): m = rand(-250, 250)
  31.     FOR t = 0 TO 2 * _PI STEP st
  32.         q(c, 0) = cx + sc * (COS(t) + COS(n * t) / 2 + SIN(m * t) / 3)
  33.         q(c, 1) = cy + sc * (SIN(t) + SIN(n * t) / 2 + COS(m * t) / 3)
  34.         c = c + 1
  35.     NEXT
  36.     q(c, 0) = q(0, 0): q(c, 1) = q(0, 1)
  37.     magicRedBalls
  38.     IF rmode <> 1 THEN
  39.         _TITLE "Morph Curve: m =" + STR$(m) + ",  n =" + STR$(n) + ",  spacebar skips to random mode."
  40.     ELSE
  41.         _TITLE "Morph Curve: m =" + STR$(m) + ",  n =" + STR$(n)
  42.     END IF
  43.     IF l = 0 THEN
  44.         drawpoly q()
  45.         l = l + 1
  46.         _DISPLAY
  47.         _DELAY 10 / 1000
  48.     ELSE
  49.         FOR t = 1 TO interps
  50.             magicRedBalls
  51.             FOR nn = 0 TO pts
  52.                 s(nn, 0) = q(nn, 0) * i(t) + p(nn, 0) * (1 - i(t))
  53.                 s(nn, 1) = q(nn, 1) * i(t) + p(nn, 1) * (1 - i(t))
  54.             NEXT
  55.             s(nn, 0) = s(0, 0)
  56.             s(nn, 1) = s(0, 1)
  57.             drawpoly s()
  58.             _DISPLAY
  59.             _DELAY 10 / 1000
  60.         NEXT
  61.     END IF
  62.     _DISPLAY
  63.     _DELAY 200 / 1000
  64.     'p() = q()
  65.     REDIM p(LBOUND(q) TO UBOUND(q), 1)
  66.     FOR i = LBOUND(q) TO UBOUND(q)
  67.         p(i, 0) = q(i, 0): p(i, 1) = q(i, 1)
  68.     NEXT
  69.  
  70. FUNCTION rand (lo, hi)
  71.     rand = (RND * (hi - lo + 1)) \ 1 + lo
  72.  
  73. SUB drawpoly (a())
  74.     FOR i = LBOUND(a) TO UBOUND(a) - 1
  75.         kl~& = setPlasma~&
  76.         thic a(i, 0), a(i, 1), a(i + 1, 0), a(i + 1, 1), 4, kl~&
  77.     NEXT
  78.     kl~& = setPlasma~&
  79.     thic a(UBOUND(a), 0), a(UBOUND(a), 1), a(LBOUND(a), 0), a(LBOUND(a), 1), 4, kl~&
  80.  
  81. SUB thic (x1, y1, x2, y2, thick, K AS _UNSIGNED LONG)
  82.     'add filled circles at each end
  83.     t2 = thick / 2
  84.     IF t2 < 1 THEN t2 = 1
  85.     fcirc x1, y1, t2, K
  86.     fcirc x2, y2, t2, K
  87.     a = _ATAN2(y2 - y1, x2 - x1)
  88.     x3 = x1 + t2 * COS(a + _PI(.5))
  89.     y3 = y1 + t2 * SIN(a + _PI(.5))
  90.     x4 = x1 + t2 * COS(a - _PI(.5))
  91.     y4 = y1 + t2 * SIN(a - _PI(.5))
  92.     x5 = x2 + t2 * COS(a + _PI(.5))
  93.     y5 = y2 + t2 * SIN(a + _PI(.5))
  94.     x6 = x2 + t2 * COS(a - _PI(.5))
  95.     y6 = y2 + t2 * SIN(a - _PI(.5))
  96.     filltri x6, y6, x4, y4, x3, y3, K
  97.     filltri x3, y3, x5, y5, x6, y6, K
  98.  
  99. ' found at [abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]:    http://www.[abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]/forum/index.php?topic=14425.0
  100. SUB filltri (x1, y1, x2, y2, x3, y3, K AS _UNSIGNED LONG)
  101.     a& = _NEWIMAGE(1, 1, 32)
  102.     _DEST a&
  103.     PSET (0, 0), K
  104.     _DEST 0
  105.     _MAPTRIANGLE _SEAMLESS(0, 0)-(0, 0)-(0, 0), a& TO(x1, y1)-(x2, y2)-(x3, y3)
  106.     _FREEIMAGE a& '<<< this is important!
  107.  
  108. SUB resetPlasma () 'all globals
  109.     plasmaR = RND ^ 2: plasmaG = RND ^ 2: plasmaB = RND ^ 2: plasmaN = 0
  110.  
  111. FUNCTION setPlasma~& () 'all globals
  112.     plasmaN = plasmaN + .01
  113.     setPlasma~& = _RGB32(120 + 84 * SIN(plasmaR * plasmaN), 120 + 84 * SIN(plasmaG * plasmaN), 120 + 84 * SIN(plasmaB * plasmaN))
  114.  
  115. 'Steve McNeil's  copied from his forum   note: Radius is too common a name
  116. SUB fcirc (CX AS LONG, CY AS LONG, R AS LONG, K AS _UNSIGNED LONG)
  117.     DIM subRadius AS LONG, RadiusError AS LONG
  118.     DIM X AS LONG, Y AS LONG
  119.  
  120.     subRadius = ABS(R)
  121.     RadiusError = -subRadius
  122.     X = subRadius
  123.     Y = 0
  124.  
  125.     IF subRadius = 0 THEN PSET (CX, CY), K: EXIT SUB
  126.  
  127.     ' Draw the middle span here so we don't draw it twice in the main loop,
  128.     ' which would be a problem with blending turned on.
  129.     LINE (CX - X, CY)-(CX + X, CY), K, BF
  130.  
  131.     WHILE X > Y
  132.         RadiusError = RadiusError + Y * 2 + 1
  133.         IF RadiusError >= 0 THEN
  134.             IF X <> Y + 1 THEN
  135.                 LINE (CX - Y, CY - X)-(CX + Y, CY - X), K, BF
  136.                 LINE (CX - Y, CY + X)-(CX + Y, CY + X), K, BF
  137.             END IF
  138.             X = X - 1
  139.             RadiusError = RadiusError - X * 2
  140.         END IF
  141.         Y = Y + 1
  142.         LINE (CX - X, CY - Y)-(CX + X, CY - Y), K, BF
  143.         LINE (CX - X, CY + Y)-(CX + X, CY + Y), K, BF
  144.     WEND
  145.  
  146. SUB magicRedBalls
  147.     COLOR _RGBA32(128, 128, 128, 100), _RGB32(120, 0, 0)
  148.     CLS
  149.     FOR i = 25 TO xmax STEP 50
  150.         LINE (i, 0)-(i + 10, ymax), , BF
  151.         LINE (0, i)-(xmax, i + 10), , BF
  152.     NEXT
  153.     COLOR
  154.     FOR y = 30 TO ymax STEP 50
  155.         FOR x = 30 TO xmax STEP 50
  156.             fcirc x, y, 10, _RGB32(128, 128, 128)
  157.         NEXT
  158.     NEXT
  159.     CIRCLE (xmax / 2, ymax / 2), 330, _RGB32(199, 199, 199)
  160.     CIRCLE (xmax / 2, ymax / 2), 410, _RGB32(199, 199, 199)
  161.     PAINT (xmax / 2, 5), _RGB32(180, 200, 180), _RGB32(199, 199, 199)
  162.     PAINT (10, 10), _RGB32(0, 68, 0), _RGB32(199, 199, 199)
  163.     PAINT (xmax - 10, 10), _RGB32(0, 68, 0), _RGB32(199, 199, 199)
  164.     PAINT (10, ymax - 10), _RGB32(0, 68, 0), _RGB32(199, 199, 199)
  165.     PAINT (xmax - 10, ymax - 10), _RGB32(0, 68, 0), _RGB32(199, 199, 199)
  166.     FOR r = 0 TO 20
  167.         CIRCLE (xmax / 2, ymax / 2), 330 + r, _RGB32(100 + 5 * r, 100 + 5 * r, 100 + 5 * r)
  168.     NEXT
  169.     CIRCLE (xmax / 2, ymax / 2), 408, _RGB32(204, 205, 205)
  170.  

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Morph Curve
« Reply #9 on: January 29, 2019, 12:53:58 pm »
No offense, but that looks more like a cherry pie, and the lattice crust is starting to mold. Oh well, meatballs, pie, what's the difference? I suppose one way you'd be thought of as a master cooker and the other way, well...

Definitely a short-order cook / baker, regardless!

Pete :D 
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Morph Curve
« Reply #10 on: January 29, 2019, 04:27:13 pm »
OK, not meatballs just a plate decoration. Here is the table set:
Morph Curve Table Set.PNG
* Morph Curve Table Set.PNG (Filesize: 204.58 KB, Dimensions: 1200x768, Views: 220)
* Morph Curve Table Ready.zip (Filesize: 34.13 KB, Downloads: 177)

Offline johnno56

  • Forum Resident
  • Posts: 1270
  • Live long and prosper.
    • View Profile
Re: Morph Curve
« Reply #11 on: January 29, 2019, 10:32:50 pm »
What?!? No cheese!?

Can you do a roast chicken? oh, or even better, Lasagne... Mmmm...
Logic is the beginning of wisdom.

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Morph Curve
« Reply #12 on: January 30, 2019, 12:44:16 am »
Yeah Mark. Get in the kitchen and code me a sweater!

Pete :D
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/