Sample21

to sample21 :amplitude [:seed 3.14] 1
    (local "loop "step)
         
    name 2520 "loop   ; 7 * 360 = 2520
    name 1.875 "step  ; 180 / 96 = 1.875
         
    (local "po.x "po.y "radius)
         
    (for "theter 0 :loop [
       make "radius (* :amplitude sin (* :seed :theter))
       make "po.x (* :radius cos :theter)
       make "po.y (* :radius sin :theter)
       setxy sentence :po.x :po.y
    ] :step)
end

1)sample21 100
2)(sample21 100 100)
3)(sample21 100 cos 45)

 バラ曲線を描いてみました。
forループ内で、半径 radius が次々と変化するので、美しい図形になります。ちょうど、花びらが重なった様な感じになります。
引数 seed に無理数(πや√2など分数の形では表せないもの)を入れると、その花びらが閉じない図形になります。
1番の図形は閉じている様に見えますが、実際は閉じていません。

Cassini

to Cassini [:testflag 0] 0
    (local
    "po.x "po.y
    "po.x1 "po.x2
    "po.x2 "po.y2
    "amplitude
    "cstep "ystep
    )
         
    name 100 "amplitude
    name 0.25 "cstep
    name 15 "ystep
         
    (for "y.axis -100 100 [
       (for "i 0 45 [
           make "po.x (* * :amplitude (sqrt * 2 cos * 2 :i) cos :i)
           make "po.y (* * :amplitude (sqrt * 2 cos * 2 :i) sin :i)
         
           make "po.x1 :po.x
           make "po.x2 msgn :po.x1
           make "po.y1 (- :y.axis :po.y)
           make "po.y2 (+ :y.axis :po.y)
         
           if :testflag = 0 [
              dot sentence :po.x1 :po.y1
              dot sentence :po.x1 :po.y2
              dot sentence :po.x2 :po.y2
              dot sentence :po.x2 :po.y1
           ] [
              dot sentence :po.x1 :po.y2
           ]
   
       ] :cstep)
    ] :ystep)
end

Sample22

 

to sample22 :amplitude [:i.step 0.25] 1
    (local
    "po.x  "po.y
    "po.xx "po.yy
    "po.x1 "po.x2
    "po.y1 "po.y2
    "center
    )
         
    make "center getxy
         
    (for "theter 0 180 [
       (for "i 0 44.7 [
          make "po.x (* * :amplitude (sqrt * 2 cos * 2 :i) cos :i)
          make "po.y (* * :amplitude (sqrt * 2 cos * 2 :i) sin :i)
         
          make "po.xx (- * :po.x cos :theter (* :po.y sin :theter))
          make "po.yy (+ * :po.x sin :theter (* :po.y cos :theter))
         
          make "po.x1 (+ item 1 :center :po.xx)
          make "po.x2 (- item 1 :center :po.xx)
          make "po.y1 (- item 2 :center :po.yy)
          make "po.y2 (+ item 2 :center :po.yy)
         
          dot sentence :po.x1 :po.y1
          dot sentence :po.x1 :po.y2
          dot sentence :po.x2 :po.y2
          dot sentence :po.x2 :po.y1
       ] :i.step)
    ] 15)
end


sample22 80

 CassiniSample22は、共にカッシーニ曲線を使った図形です。
曲線を、垂直に移動したか円周上を移動させたかの違いだけです。
どちらも、画面に点を打つ DOT 命令で描かせてみました。

座標原点近くで、急激な変化が起こるので点の間隔が荒くなっています。
なんとなく和風な図形に見えません?