Skip to content

Instantly share code, notes, and snippets.

@robertmryan
Created March 1, 2016 20:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robertmryan/427f7e9b562ae153c7c1 to your computer and use it in GitHub Desktop.
Save robertmryan/427f7e9b562ae153c7c1 to your computer and use it in GitHub Desktop.
Mao curve
override func viewDidLoad() {
super.viewDidLoad()
func sgn(x: Double) -> Double {
switch x {
case _ where x < 0:
return -1.0
case _ where x > 0:
return 1.0
default:
return 0.0
}
}
func θ(x: Double) -> Double {
switch x {
case _ where x < 0:
return 0.0
case _ where x > 0:
return 1.0
default:
return 0.5
}
}
let π = M_PI
let layer = CAShapeLayer()
layer.lineCap = kCALineCapRound
layer.lineJoin = kCALineCapRound
layer.fillColor = UIColor.clearColor().CGColor
layer.strokeColor = UIColor.blueColor().CGColor
view.layer.addSublayer(layer)
let points: [CGPoint] = 0.stride(to: π * 104.0, by: 0.01).map { t in
var x = 0.0
var temp = -10.0 / 47.0 * sin(30.0 / 41.0 - 17.0 * t)
temp += -11.0 / 4.0 * sin(83.0 / 58.0 - 15.0 * t)
temp += -47.0 / 17.0 * sin(79.0 / 53.0 - 13.0 * t)
temp += 21080.0 / 33.0 * sin(t + 63.0 / 40.0)
temp += 179.0 / 32.0 * sin(2.0 * t + 28.0 / 17.0)
temp += 263.0 / 25.0 * sin(3.0 * t + 85.0 / 54.0)
temp += 1552.0 / 47.0 * sin(4.0 * t + 146.0 / 31.0)
temp += 2015.0 / 77.0 * sin(5.0 * t + 30.0 / 19.0)
temp += 286.0 / 31.0 * sin(6.0 * t + 117.0 / 25.0)
temp += 1308.0 / 17.0 * sin(7.0 * t + 67.0 / 42.0)
temp += 158.0 / 37.0 * sin(8.0 * t + 77.0 / 17.0)
temp += 1017.0 / 26.0 * sin(9.0 * t + 61.0 / 38.0)
temp += 107.0 / 18.0 * sin(10.0 * t + 79.0 / 46.0)
temp += 863.0 / 39.0 * sin(11.0 * t + 29.0 / 18.0)
temp += 74.0 / 23.0 * sin(12.0 * t + 12.0 / 7.0)
temp += 110.0 / 63.0 * sin(14.0 * t + 163.0 / 35.0)
temp += 29.0 / 31.0 * sin(16.0 * t + 75.0 / 41.0)
temp += 2.0 / 7.0 * sin(18.0 * t + 64.0 / 25.0)
temp += 305.0 / 37.0 * sin(19.0 * t + 18.0 / 11.0)
temp += 9.0 / 34.0 * sin(20.0 * t + 91.0 / 32.0)
temp += 316.0 / 45.0 * sin(21.0 * t + 64.0 / 39.0)
temp += 16.0 / 15.0 * sin(22.0 * t + 119.0 / 27.0)
temp += 179.0 / 35.0 * sin(23.0 * t + 23.0 / 14.0)
temp += 38.0 / 51.0 * sin(24.0 * t + 131.0 / 65.0)
temp += 1969.0 / 19.0
x += temp * θ(103.0 * π - t) * θ(t - 99.0 * π)
temp = -44.0 / 31.0 * sin(81.0 / 52.0 - 6.0 * t)
temp += -47.0 / 19.0 * sin(14.0 / 9.0 - 5.0 * t)
temp += -206.0 / 75.0 * sin(39.0 / 25.0 - 4.0 * t)
temp += -77.0 / 16.0 * sin(69.0 / 44.0 - 3.0 * t)
temp += -416.0 / 25.0 * sin(25.0 / 16.0 - 2.0 * t)
temp += -1496.0 / 19.0 * sin(47.0 / 30.0 - t)
temp += -3315.0 / 19.0
x += temp * θ(99.0 * π - t) * θ(t - 95.0 * π)
temp = 732.0 / 7.0 * sin(t + 41.0 / 26.0)
temp += 111.0 / 17.0 * sin(2.0 * t + 18.0 / 11.0)
temp += 187.0 / 20.0 * sin(3.0 * t + 43.0 / 27.0)
temp += 37.0 / 24.0 * sin(4.0 * t + 44.0 / 27.0)
temp += 157.0 / 45.0 * sin(5.0 * t + 59.0 / 37.0)
temp += 5507.0 / 30.0
x += temp * θ(95.0 * π - t) * θ(t - 91.0 * π)
temp = -19.0 / 42.0 * sin(37.0 / 24.0 - 2.0 * t)
temp += 3067.0 / 18.0 * sin(t + 11.0 / 7.0)
temp += 281.0 / 16.0 * sin(3.0 * t + 96.0 / 61.0)
temp += 13.0 / 27.0 * sin(4.0 * t + 159.0 / 34.0)
temp += 215.0 / 38.0 * sin(5.0 * t + 30.0 / 19.0)
temp += 1121.0 / 34.0
x += temp * θ(91.0 * π - t) * θ(t - 87.0 * π)
temp = -1.0 / 20.0 * sin(17.0 / 14.0 - 16.0 * t)
temp += 3995.0 / 36.0 * sin(t + 11.0 / 7.0)
temp += 353.0 / 25.0 * sin(2.0 * t + 69.0 / 44.0)
temp += 209.0 / 18.0 * sin(3.0 * t + 11.0 / 7.0)
temp += 349.0 / 66.0 * sin(4.0 * t + 49.0 / 31.0)
temp += 67.0 / 17.0 * sin(5.0 * t + 43.0 / 27.0)
temp += 84.0 / 43.0 * sin(6.0 * t + 60.0 / 37.0)
temp += 79.0 / 30.0 * sin(7.0 * t + 149.0 / 93.0)
temp += 93.0 / 38.0 * sin(8.0 * t + 30.0 / 19.0)
temp += 37.0 / 22.0 * sin(9.0 * t + 74.0 / 47.0)
temp += 91.0 / 57.0 * sin(10.0 * t + 68.0 / 43.0)
temp += 43.0 / 29.0 * sin(11.0 * t + 43.0 / 27.0)
temp += 42.0 / 23.0 * sin(12.0 * t + 45.0 / 28.0)
temp += 28.0 / 31.0 * sin(13.0 * t + 77.0 / 47.0)
temp += 17.0 / 36.0 * sin(14.0 * t + 41.0 / 25.0)
temp += 17.0 / 86.0 * sin(15.0 * t + 8.0 / 5.0)
temp += 12.0 / 29.0 * sin(17.0 * t + 65.0 / 42.0)
temp += 11.0 / 31.0 * sin(18.0 * t + 49.0 / 31.0)
temp += 31.0 / 47.0 * sin(19.0 * t + 45.0 / 28.0)
temp += 13.0 / 31.0 * sin(20.0 * t + 33.0 / 20.0)
temp += 5.0 / 43.0 * sin(21.0 * t + 168.0 / 37.0)
temp += 9.0 / 46.0 * sin(22.0 * t + 109.0 / 68.0)
temp += 26.0 / 29.0 * sin(23.0 * t + 41.0 / 26.0)
temp += 31.0 / 47.0 * sin(24.0 * t + 43.0 / 27.0)
temp += 5.0 / 21.0 * sin(25.0 * t + 50.0 / 31.0)
temp += 2855.0 / 14.0
x += temp * θ(87.0 * π - t) * θ(t - 83.0 * π)
temp = -5.0 / 33.0 * sin(32.0 / 21.0 - 24.0 * t)
temp += -16.0 / 17.0 * sin(20.0 / 13.0 - 23.0 * t)
temp += -64.0 / 39.0 * sin(80.0 / 51.0 - 17.0 * t)
temp += -1.0 / 28.0 * sin(14.0 / 9.0 - 15.0 * t)
temp += 3240.0 / 31.0 * sin(t + 11.0 / 7.0)
temp += 341.0 / 25.0 * sin(2.0 * t + 52.0 / 33.0)
temp += 888.0 / 71.0 * sin(3.0 * t + 63.0 / 40.0)
temp += 286.0 / 191.0 * sin(4.0 * t + 31.0 / 19.0)
temp += 170.0 / 29.0 * sin(5.0 * t + 68.0 / 43.0)
temp += 18.0 / 29.0 * sin(6.0 * t + 80.0 / 17.0)
temp += 67.0 / 23.0 * sin(7.0 * t + 91.0 / 58.0)
temp += 2.0 / 33.0 * sin(8.0 * t + 36.0 / 31.0)
temp += 19.0 / 36.0 * sin(9.0 * t + 51.0 / 32.0)
temp += 23.0 / 28.0 * sin(10.0 * t + 21.0 / 13.0)
temp += 39.0 / 34.0 * sin(11.0 * t + 65.0 / 41.0)
temp += 3.0 / 26.0 * sin(12.0 * t + 39.0 / 20.0)
temp += 47.0 / 43.0 * sin(13.0 * t + 37.0 / 23.0)
temp += 1.0 / 117.0 * sin(14.0 * t + 825.0 / 206.0)
temp += 58.0 / 35.0 * sin(16.0 * t + 47.0 / 30.0)
temp += 34.0 / 19.0 * sin(18.0 * t + 62.0 / 39.0)
temp += 27.0 / 29.0 * sin(19.0 * t + 127.0 / 27.0)
temp += 3.0 / 28.0 * sin(20.0 * t + 245.0 / 52.0)
temp += 54.0 / 37.0 * sin(21.0 * t + 53.0 / 33.0)
temp += 23.0 / 31.0 * sin(22.0 * t + 21.0 / 13.0)
temp += -6998.0 / 27.0
x += temp * θ(83.0 * π - t) * θ(t - 79.0 * π)
temp = 2069.0 / 16.0 * sin(t + 11.0 / 7.0)
temp += 82.0 / 21.0 * sin(2.0 * t + 14.0 / 3.0)
temp += 443.0 / 29.0 * sin(3.0 * t + 19.0 / 12.0)
temp += 79.0 / 30.0 * sin(4.0 * t + 30.0 / 19.0)
temp += 148.0 / 29.0 * sin(5.0 * t + 19.0 / 12.0)
temp += 27.0 / 25.0 * sin(6.0 * t + 33.0 / 20.0)
temp += 73.0 / 31.0 * sin(7.0 * t + 27.0 / 17.0)
temp += 8893.0 / 37.0
x += temp * θ(79.0 * π - t) * θ(t - 75.0 * π)
temp = -11.0 / 32.0 * sin(31.0 / 22.0 - 2.0 * t)
temp += 4451.0 / 49.0 * sin(t + 11.0 / 7.0)
temp += 515.0 / 68.0 * sin(3.0 * t + 102.0 / 65.0)
temp += 1.0 / 20.0 * sin(4.0 * t + 9.0 / 13.0)
temp += 79.0 / 30.0 * sin(5.0 * t + 47.0 / 30.0)
temp += 17.0 / 37.0 * sin(6.0 * t + 11.0 / 7.0)
temp += 47.0 / 30.0 * sin(7.0 * t + 107.0 / 68.0)
temp += -10305.0 / 46.0
x += temp * θ(75.0 * π - t) * θ(t - 71.0 * π)
temp = -5.0 / 24.0 * sin(74.0 / 59.0 - 26.0 * t)
temp += -22.0 / 25.0 * sin(16.0 / 11.0 - 23.0 * t)
temp += -5.0 / 29.0 * sin(29.0 / 25.0 - 20.0 * t)
temp += -62.0 / 41.0 * sin(46.0 / 31.0 - 17.0 * t)
temp += -48.0 / 25.0 * sin(20.0 / 13.0 - 15.0 * t)
temp += -113.0 / 24.0 * sin(38.0 / 25.0 - 12.0 * t)
temp += -231.0 / 40.0 * sin(39.0 / 25.0 - 9.0 * t)
temp += -89.0 / 39.0 * sin(47.0 / 32.0 - 7.0 * t)
temp += -104.0 / 19.0 * sin(48.0 / 31.0 - 5.0 * t)
temp += -182.0 / 15.0 * sin(37.0 / 24.0 - 4.0 * t)
temp += -140.0 / 19.0 * sin(31.0 / 20.0 - 2.0 * t)
temp += 3287.0 / 23.0 * sin(t + 107.0 / 68.0)
temp += 564.0 / 23.0 * sin(3.0 * t + 113.0 / 24.0)
temp += 8.0 / 3.0 * sin(6.0 * t + 13.0 / 8.0)
temp += 241.0 / 30.0 * sin(8.0 * t + 37.0 / 23.0)
temp += 71.0 / 30.0 * sin(10.0 * t + 14.0 / 9.0)
temp += 17.0 / 12.0 * sin(11.0 * t + 44.0 / 27.0)
temp += 16.0 / 25.0 * sin(13.0 * t + 67.0 / 39.0)
temp += 10.0 / 11.0 * sin(14.0 * t + 81.0 / 52.0)
temp += 3.0 * sin(16.0 * t + 21.0 / 13.0)
temp += 17.0 / 14.0 * sin(18.0 * t + 127.0 / 27.0)
temp += 56.0 / 39.0 * sin(19.0 * t + 117.0 / 73.0)
temp += 41.0 / 44.0 * sin(21.0 * t + 159.0 / 34.0)
temp += 54.0 / 65.0 * sin(22.0 * t + 27.0 / 17.0)
temp += 17.0 / 35.0 * sin(24.0 * t + 159.0 / 34.0)
temp += 5.0 / 27.0 * sin(25.0 * t + 44.0 / 29.0)
temp += -17.0 / 10.0
x += temp * θ(71.0 * π - t) * θ(t - 67.0 * π)
temp = 1987.0 / 31.0 * sin(t + 11.0 / 7.0)
temp += 305.0 / 28.0 * sin(2.0 * t + 80.0 / 17.0)
temp += 751.0 / 28.0 * sin(3.0 * t + 11.0 / 7.0)
temp += 191.0 / 30.0 * sin(4.0 * t + 30.0 / 19.0)
temp += 313.0 / 33.0 * sin(5.0 * t + 63.0 / 40.0)
temp += 122.0 / 73.0 * sin(6.0 * t + 127.0 / 27.0)
temp += 113.0 / 34.0 * sin(7.0 * t + 41.0 / 26.0)
temp += 23.0 / 30.0 * sin(8.0 * t + 11.0 / 7.0)
temp += 73.0 / 27.0 * sin(9.0 * t + 68.0 / 43.0)
temp += 3943.0 / 17.0
x += temp * θ(67.0 * π - t) * θ(t - 63.0 * π)
temp = 1593.0 / 29.0 * sin(t + 179.0 / 38.0)
temp += 191.0 / 29.0 * sin(2.0 * t + 127.0 / 27.0)
temp += 678.0 / 97.0 * sin(3.0 * t + 113.0 / 24.0)
temp += 44.0 / 19.0 * sin(4.0 * t + 169.0 / 36.0)
temp += 63.0 / 34.0 * sin(5.0 * t + 108.0 / 23.0)
temp += 17.0 / 16.0 * sin(6.0 * t + 75.0 / 16.0)
temp += -6319.0 / 33.0
x += temp * θ(63.0 * π - t) * θ(t - 59.0 * π)
temp = -9.0 / 29.0 * sin(32.0 / 51.0 - 88.0 * t)
temp += -39.0 / 29.0 * sin(64.0 / 41.0 - 85.0 * t)
temp += -19.0 / 27.0 * sin(114.0 / 115.0 - 26.0 * t)
temp += -30.0 / 43.0 * sin(45.0 / 31.0 - 21.0 * t)
temp += -14.0 / 11.0 * sin(42.0 / 29.0 - 15.0 * t)
temp += -13.0 / 38.0 * sin(20.0 / 33.0 - 9.0 * t)
temp += 15919.0 / 28.0 * sin(t + 39.0 / 25.0)
temp += 5859.0 / 34.0 * sin(2.0 * t + 61.0 / 13.0)
temp += 1289.0 / 20.0 * sin(3.0 * t + 229.0 / 49.0)
temp += 899.0 / 26.0 * sin(4.0 * t + 26.0 / 17.0)
temp += 315.0 / 16.0 * sin(5.0 * t + 145.0 / 31.0)
temp += 707.0 / 104.0 * sin(6.0 * t + 26.0 / 17.0)
temp += 71.0 / 20.0 * sin(7.0 * t + 3.0 / 2.0)
temp += 142.0 / 17.0 * sin(8.0 * t + 188.0 / 41.0)
temp += 182.0 / 31.0 * sin(10.0 * t + 28.0 / 19.0)
temp += 69.0 / 43.0 * sin(11.0 * t + 356.0 / 79.0)
temp += 84.0 / 19.0 * sin(12.0 * t + 55.0 / 39.0)
temp += 376.0 / 51.0 * sin(13.0 * t + 87.0 / 62.0)
temp += 89.0 / 13.0 * sin(14.0 * t + 67.0 / 46.0)
temp += 152.0 / 27.0 * sin(16.0 * t + 69.0 / 47.0)
temp += 73.0 / 20.0 * sin(17.0 * t + 57.0 / 43.0)
temp += 13.0 / 9.0 * sin(18.0 * t + 3.0 / 2.0)
temp += 5.0 / 34.0 * sin(19.0 * t + 70.0 / 41.0)
temp += 19.0 / 9.0 * sin(20.0 * t + 47.0 / 36.0)
temp += 143.0 / 43.0 * sin(22.0 * t + 43.0 / 33.0)
temp += 191.0 / 30.0 * sin(23.0 * t + 31.0 / 24.0)
temp += 107.0 / 23.0 * sin(24.0 * t + 35.0 / 27.0)
temp += 78.0 / 25.0 * sin(25.0 * t + 32.0 / 25.0)
temp += 139.0 / 33.0 * sin(27.0 * t + 43.0 / 33.0)
temp += 155.0 / 37.0 * sin(28.0 * t + 43.0 / 33.0)
temp += 375.0 / 47.0 * sin(29.0 * t + 141.0 / 106.0)
temp += 16.0 / 25.0 * sin(30.0 * t + 145.0 / 38.0)
temp += 265.0 / 18.0 * sin(31.0 * t + 232.0 / 53.0)
temp += 849.0 / 29.0 * sin(32.0 * t + 61.0 / 14.0)
temp += 451.0 / 18.0 * sin(33.0 * t + 204.0 / 47.0)
temp += 18.0 / 13.0 * sin(34.0 * t + 327.0 / 77.0)
temp += 453.0 / 19.0 * sin(35.0 * t + 6.0 / 5.0)
temp += 821.0 / 39.0 * sin(36.0 * t + 43.0 / 37.0)
temp += 371.0 / 48.0 * sin(37.0 * t + 37.0 / 32.0)
temp += 139.0 / 29.0 * sin(38.0 * t + 107.0 / 25.0)
temp += 67.0 / 12.0 * sin(39.0 * t + 343.0 / 78.0)
temp += 1033.0 / 100.0 * sin(40.0 * t + 38.0 / 33.0)
temp += 435.0 / 59.0 * sin(41.0 * t + 46.0 / 45.0)
temp += 327.0 / 43.0 * sin(42.0 * t + 37.0 / 32.0)
temp += 264.0 / 53.0 * sin(43.0 * t + 55.0 / 13.0)
temp += 19.0 / 35.0 * sin(44.0 * t + 51.0 / 77.0)
temp += 771.0 / 71.0 * sin(45.0 * t + 35.0 / 32.0)
temp += 85.0 / 24.0 * sin(46.0 * t + 11.0 / 12.0)
temp += 30.0 / 23.0 * sin(47.0 * t + 67.0 / 40.0)
temp += 139.0 / 22.0 * sin(48.0 * t + 109.0 / 26.0)
temp += 170.0 / 41.0 * sin(49.0 * t + 46.0 / 41.0)
temp += 195.0 / 32.0 * sin(50.0 * t + 46.0 / 51.0)
temp += 154.0 / 71.0 * sin(51.0 * t + 41.0 / 34.0)
temp += 63.0 / 17.0 * sin(52.0 * t + 54.0 / 13.0)
temp += 42.0 / 25.0 * sin(53.0 * t + 91.0 / 24.0)
temp += 185.0 / 77.0 * sin(54.0 * t + 17.0 / 30.0)
temp += 773.0 / 103.0 * sin(55.0 * t + 16.0 / 15.0)
temp += 68.0 / 11.0 * sin(56.0 * t + 73.0 / 17.0)
temp += 113.0 / 24.0 * sin(57.0 * t + 48.0 / 35.0)
temp += 351.0 / 53.0 * sin(58.0 * t + 92.0 / 21.0)
temp += 643.0 / 60.0 * sin(59.0 * t + 65.0 / 59.0)
temp += 153.0 / 23.0 * sin(60.0 * t + 193.0 / 45.0)
temp += 62.0 / 25.0 * sin(61.0 * t + 66.0 / 47.0)
temp += 37.0 / 33.0 * sin(62.0 * t + 31.0 / 8.0)
temp += 79.0 / 20.0 * sin(63.0 * t + 153.0 / 35.0)
temp += 213.0 / 25.0 * sin(64.0 * t + 25.0 / 23.0)
temp += 721.0 / 68.0 * sin(65.0 * t + 59.0 / 14.0)
temp += 237.0 / 28.0 * sin(66.0 * t + 33.0 / 29.0)
temp += 20.0 / 7.0 * sin(67.0 * t + 131.0 / 28.0)
temp += 242.0 / 41.0 * sin(68.0 * t + 31.0 / 32.0)
temp += 57.0 / 86.0 * sin(69.0 * t + 1.0 / 21.0)
temp += 86.0 / 21.0 * sin(70.0 * t + 147.0 / 38.0)
temp += 203.0 / 102.0 * sin(71.0 * t + 12.0 / 17.0)
temp += 159.0 / 47.0 * sin(72.0 * t + 29.0 / 35.0)
temp += 23.0 / 16.0 * sin(73.0 * t + 400.0 / 87.0)
temp += 28.0 / 25.0 * sin(74.0 * t + 87.0 / 34.0)
temp += 377.0 / 113.0 * sin(75.0 * t + 177.0 / 43.0)
temp += 173.0 / 61.0 * sin(76.0 * t + 29.0 / 31.0)
temp += 25.0 / 21.0 * sin(77.0 * t + 7.0 / 17.0)
temp += 69.0 / 19.0 * sin(78.0 * t + 94.0 / 25.0)
temp += 34.0 / 33.0 * sin(79.0 * t + 19.0 / 5.0)
temp += 9.0 / 28.0 * sin(80.0 * t + 199.0 / 83.0)
temp += 140.0 / 93.0 * sin(81.0 * t + 178.0 / 39.0)
temp += 339.0 / 127.0 * sin(82.0 * t + 61.0 / 48.0)
temp += 107.0 / 20.0 * sin(83.0 * t + 125.0 / 31.0)
temp += 81.0 / 20.0 * sin(84.0 * t + 29.0 / 32.0)
temp += 27.0 / 26.0 * sin(86.0 * t + 47.0 / 14.0)
temp += 9.0 / 25.0 * sin(87.0 * t + 15.0 / 19.0)
temp += 149.0 / 75.0 * sin(89.0 * t + 45.0 / 89.0)
temp += 29.0 / 21.0 * sin(90.0 * t + 151.0 / 44.0)
temp += 75.0 / 26.0 * sin(91.0 * t + 251.0 / 66.0)
temp += 50.0 / 21.0 * sin(92.0 * t + 23.0 / 32.0)
temp += 62.0 / 55.0 * sin(93.0 * t + 8.0 / 63.0)
temp += 23.0 / 11.0 * sin(94.0 * t + 55.0 / 16.0)
temp += 51.0 / 26.0 * sin(95.0 * t + 257.0 / 72.0)
temp += 38.0 / 25.0 * sin(96.0 * t + 227.0 / 57.0)
temp += 314.0 / 209.0 * sin(97.0 * t + 15.0 / 37.0)
temp += 11.0 / 9.0 * sin(98.0 * t + 416.0 / 119.0)
temp += 11584.0 / 59.0
x += temp * θ(59.0 * π - t) * θ(t - 55.0 * π)
temp = -43.0 / 31.0 * sin(53.0 / 34.0 - 18.0 * t)
temp += -58.0 / 35.0 * sin(61.0 / 39.0 - 17.0 * t)
temp += -55.0 / 19.0 * sin(36.0 / 23.0 - 16.0 * t)
temp += -155.0 / 59.0 * sin(61.0 / 39.0 - 15.0 * t)
temp += -45.0 / 19.0 * sin(41.0 / 27.0 - 9.0 * t)
temp += -46.0 / 13.0 * sin(95.0 / 61.0 - 8.0 * t)
temp += -360.0 / 23.0 * sin(58.0 / 37.0 - 7.0 * t)
temp += -77.0 / 15.0 * sin(53.0 / 34.0 - 4.0 * t)
temp += 27845.0 / 41.0 * sin(t + 91.0 / 58.0)
temp += 259.0 / 26.0 * sin(2.0 * t + 212.0 / 45.0)
temp += 7843.0 / 86.0 * sin(3.0 * t + 146.0 / 31.0)
temp += 2557.0 / 50.0 * sin(5.0 * t + 146.0 / 31.0)
temp += 3931.0 / 786.0 * sin(6.0 * t + 271.0 / 58.0)
temp += 31.0 / 23.0 * sin(10.0 * t + 174.0 / 37.0)
temp += 79.0 / 24.0 * sin(11.0 * t + 75.0 / 16.0)
temp += 86.0 / 47.0 * sin(12.0 * t + 135.0 / 29.0)
temp += 97.0 / 24.0 * sin(13.0 * t + 174.0 / 37.0)
temp += 76.0 / 29.0 * sin(14.0 * t + 136.0 / 29.0)
temp += 30867.0 / 253.0
x += temp * θ(55.0 * π - t) * θ(t - 51.0 * π)
temp = -5.0 / 31.0 * sin(1.0 / 3.0 - 12.0 * t)
temp += -23.0 / 52.0 * sin(119.0 / 99.0 - 11.0 * t)
temp += -166.0 / 33.0 * sin(17.0 / 12.0 - 4.0 * t)
temp += -196.0 / 41.0 * sin(123.0 / 88.0 - 3.0 * t)
temp += 327.0 / 34.0 * sin(t + 155.0 / 58.0)
temp += 297.0 / 40.0 * sin(2.0 * t + 35.0 / 17.0)
temp += 35.0 / 44.0 * sin(5.0 * t + 142.0 / 61.0)
temp += 3.0 / 5.0 * sin(6.0 * t + 5.0 / 19.0)
temp += 11.0 / 19.0 * sin(7.0 * t + 19.0 / 25.0)
temp += 23.0 / 58.0 * sin(8.0 * t + 67.0 / 31.0)
temp += 12.0 / 31.0 * sin(9.0 * t + 62.0 / 45.0)
temp += 5.0 / 12.0 * sin(10.0 * t + 57.0 / 32.0)
temp += 27.0 / 13.0
x += temp * θ(51.0 * π - t) * θ(t - 47.0 * π)
temp = 2957.0 / 51.0 * sin(t + 7.0 / 22.0)
temp += 296.0 / 41.0
x += temp * θ(47.0 * π - t) * θ(t - 43.0 * π)
temp = -1.0 / 2.0 * sin(46.0 / 37.0 - 12.0 * t)
temp += -233.0 / 35.0 * sin(58.0 / 41.0 - 6.0 * t)
temp += -491.0 / 47.0 * sin(12.0 / 13.0 - 4.0 * t)
temp += -227.0 / 12.0 * sin(26.0 / 29.0 - 2.0 * t)
temp += 7589.0 / 21.0 * sin(t + 23.0 / 18.0)
temp += 825.0 / 43.0 * sin(3.0 * t + 19.0 / 24.0)
temp += 103.0 / 39.0 * sin(5.0 * t + 7.0 / 12.0)
temp += 29.0 / 37.0 * sin(7.0 * t + 43.0 / 14.0)
temp += 69.0 / 20.0 * sin(8.0 * t + 130.0 / 31.0)
temp += 17.0 / 14.0 * sin(9.0 * t + 137.0 / 56.0)
temp += 16.0 / 25.0 * sin(10.0 * t + 129.0 / 37.0)
temp += 28.0 / 41.0 * sin(11.0 * t + 71.0 / 29.0)
temp += 18979.0 / 130.0
x += temp * θ(43.0 * π - t) * θ(t - 39.0 * π)
temp = -13.0 / 48.0 * sin(31.0 / 24.0 - 7.0 * t)
temp += -7.0 / 24.0 * sin(29.0 / 25.0 - 6.0 * t)
temp += -35.0 / 18.0 * sin(59.0 / 69.0 - 2.0 * t)
temp += 127.0 / 34.0 * sin(t + 7.0 / 55.0)
temp += 107.0 / 42.0 * sin(3.0 * t + 94.0 / 21.0)
temp += 319.0 / 62.0 * sin(4.0 * t + 569.0 / 122.0)
temp += 59.0 / 28.0 * sin(5.0 * t + 22.0 / 13.0)
temp += 1.0 / 16.0 * sin(8.0 * t + 139.0 / 37.0)
temp += 6.0 / 23.0 * sin(9.0 * t + 4.0 / 27.0)
temp += 5.0 / 19.0 * sin(10.0 * t + 119.0 / 41.0)
temp += 3.0 / 25.0 * sin(11.0 * t + 44.0 / 19.0)
temp += 3.0 / 17.0 * sin(12.0 * t + 338.0 / 89.0)
temp += -1419.0 / 7.0
x += temp * θ(39.0 * π - t) * θ(t - 35.0 * π)
temp = -15.0 / 104.0 * sin(31.0 / 38.0 - 10.0 * t)
temp += -8.0 / 27.0 * sin(26.0 / 29.0 - 8.0 * t)
temp += -66.0 / 35.0 * sin(4.0 / 23.0 - 4.0 * t)
temp += -102.0 / 47.0 * sin(41.0 / 36.0 - t)
temp += 133.0 / 46.0 * sin(2.0 * t + 31.0 / 13.0)
temp += 219.0 / 28.0 * sin(3.0 * t + 93.0 / 35.0)
temp += 31.0 / 28.0 * sin(5.0 * t + 182.0 / 67.0)
temp += 20.0 / 23.0 * sin(6.0 * t + 5.0 / 38.0)
temp += 39.0 / 77.0 * sin(7.0 * t + 119.0 / 53.0)
temp += 6.0 / 17.0 * sin(9.0 * t + 95.0 / 28.0)
temp += 3.0 / 11.0 * sin(11.0 * t + 73.0 / 24.0)
temp += 1.0 / 15.0 * sin(12.0 * t + 26.0 / 29.0)
temp += 9908.0 / 49.0
x += temp * θ(35.0 * π - t) * θ(t - 31.0 * π)
temp = -17.0 / 36.0 * sin(29.0 / 32.0 - 3.0 * t)
temp += -73.0 / 122.0 * sin(53.0 / 38.0 - 2.0 * t)
temp += 537.0 / 20.0 * sin(t + 5.0 / 4.0)
temp += 7.0 / 32.0 * sin(4.0 * t + 184.0 / 41.0)
temp += 13.0 / 31.0 * sin(5.0 * t + 21.0 / 5.0)
temp += 3.0 / 43.0 * sin(6.0 * t + 9.0 / 22.0)
temp += 4507.0 / 22.0
x += temp * θ(31.0 * π - t) * θ(t - 27.0 * π)
temp = -15.0 / 32.0 * sin(40.0 / 31.0 - 6.0 * t)
temp += -2.0 / 9.0 * sin(2.0 / 7.0 - 5.0 * t)
temp += -14.0 / 17.0 * sin(73.0 / 55.0 - 4.0 * t)
temp += -43.0 / 28.0 * sin(50.0 / 37.0 - 2.0 * t)
temp += 727.0 / 27.0 * sin(t + 20.0 / 17.0)
temp += 17.0 / 15.0 * sin(3.0 * t + 4.0 / 35.0)
temp += -1416.0 / 7.0
x += temp * θ(27.0 * π - t) * θ(t - 23.0 * π)
temp = -17.0 / 39.0 * sin(35.0 / 33.0 - 16.0 * t)
temp += -15.0 / 13.0 * sin(5.0 / 8.0 - 14.0 * t)
temp += -115.0 / 67.0 * sin(52.0 / 35.0 - 10.0 * t)
temp += -115.0 / 37.0 * sin(11.0 / 45.0 - 7.0 * t)
temp += -136.0 / 43.0 * sin(26.0 / 25.0 - 6.0 * t)
temp += -703.0 / 43.0 * sin(41.0 / 28.0 - 4.0 * t)
temp += -506.0 / 35.0 * sin(1.0 / 114.0 - 3.0 * t)
temp += -1405.0 / 34.0 * sin(34.0 / 29.0 - 2.0 * t)
temp += 413.0 / 48.0 * sin(t + 149.0 / 39.0)
temp += 241.0 / 32.0 * sin(5.0 * t + 55.0 / 46.0)
temp += 195.0 / 44.0 * sin(8.0 * t + 298.0 / 85.0)
temp += 73.0 / 27.0 * sin(9.0 * t + 79.0 / 33.0)
temp += 59.0 / 28.0 * sin(11.0 * t + 132.0 / 35.0)
temp += 13.0 / 22.0 * sin(12.0 * t + 202.0 / 47.0)
temp += 11.0 / 20.0 * sin(13.0 * t + 55.0 / 21.0)
temp += 99.0 / 74.0 * sin(15.0 * t + 125.0 / 28.0)
temp += 5740.0 / 9.0
x += temp * θ(23.0 * π - t) * θ(t - 19.0 * π)
temp = -23.0 / 26.0 * sin(11.0 / 54.0 - 8.0 * t)
temp += -112.0 / 29.0 * sin(9.0 / 23.0 - 5.0 * t)
temp += 137.0 / 33.0 * sin(t + 68.0 / 45.0)
temp += 33.0 / 19.0 * sin(2.0 * t + 234.0 / 55.0)
temp += 604.0 / 57.0 * sin(3.0 * t + 325.0 / 324.0)
temp += 541.0 / 47.0 * sin(4.0 * t + 47.0 / 27.0)
temp += 36.0 / 19.0 * sin(6.0 * t + 143.0 / 35.0)
temp += 37.0 / 28.0 * sin(7.0 * t + 7.0 / 4.0)
temp += 26.0 / 33.0 * sin(9.0 * t + 57.0 / 20.0)
temp += 24.0 / 49.0 * sin(10.0 * t + 15.0 / 32.0)
temp += 1.0 / 8.0 * sin(11.0 * t + 69.0 / 16.0)
temp += 17.0 / 42.0 * sin(12.0 * t + 21.0 / 22.0)
temp += 901.0 / 40.0
x += temp * θ(19.0 * π - t) * θ(t - 15.0 * π)
temp = 4831.0 / 29.0 * sin(t + 46.0 / 29.0)
temp += 100.0 / 53.0 * sin(2.0 * t + 38.0 / 29.0)
temp += 471.0 / 28.0 * sin(3.0 * t + 49.0 / 29.0)
temp += 71.0 / 31.0 * sin(4.0 * t + 95.0 / 31.0)
temp += 212.0 / 33.0 * sin(5.0 * t + 38.0 / 25.0)
temp += 35.0 / 39.0 * sin(6.0 * t + 164.0 / 55.0)
temp += 1163.0 / 291.0 * sin(7.0 * t + 65.0 / 38.0)
temp += 14.0 / 23.0 * sin(8.0 * t + 73.0 / 18.0)
temp += 467.0 / 36.0
x += temp * θ(15.0 * π - t) * θ(t - 11.0 * π)
temp = -1.0 / 2.0 * sin(4.0 / 25.0 - 8.0 * t)
temp += -17.0 / 23.0 * sin(1.0 / 20.0 - 6.0 * t)
temp += -46.0 / 29.0 * sin(1.0 / 12.0 - 4.0 * t)
temp += -29.0 / 15.0 * sin(36.0 / 37.0 - 2.0 * t)
temp += 3308.0 / 37.0 * sin(t + 28.0 / 19.0)
temp += 576.0 / 67.0 * sin(3.0 * t + 46.0 / 37.0)
temp += 87.0 / 25.0 * sin(5.0 * t + 23.0 / 21.0)
temp += 78.0 / 47.0 * sin(7.0 * t + 22.0 / 21.0)
temp += 3643.0 / 17.0
x += temp * θ(11.0 * π - t) * θ(t - 7.0 * π)
temp = -41.0 / 20.0 * sin(12.0 / 11.0 - 5.0 * t)
temp += 9878.0 / 119.0 * sin(t + 76.0 / 33.0)
temp += 71.0 / 22.0 * sin(2.0 * t + 133.0 / 29.0)
temp += 267.0 / 31.0 * sin(3.0 * t + 76.0 / 21.0)
temp += 55.0 / 32.0 * sin(4.0 * t + 3.0 / 31.0)
temp += 89.0 / 88.0 * sin(6.0 * t + 23.0 / 24.0)
temp += 40.0 / 53.0 * sin(7.0 * t + 3.0 / 25.0)
temp += 44.0 / 87.0 * sin(8.0 * t + 34.0 / 11.0)
temp += 6.0 / 13.0 * sin(9.0 * t + 40.0 / 27.0)
temp += -7131.0 / 31.0
x += temp * θ(7.0 * π - t) * θ(t - 3.0 * π)
temp = -24.0 / 31.0 * sin(16.0 / 17.0 - 16.0 * t)
temp += -149.0 / 41.0 * sin(50.0 / 37.0 - 9.0 * t)
temp += -133.0 / 52.0 * sin(23.0 / 32.0 - 8.0 * t)
temp += -303.0 / 32.0 * sin(1.0 / 734.0 - 7.0 * t)
temp += 10523.0 / 20.0 * sin(t + 32.0 / 23.0)
temp += 431.0 / 20.0 * sin(2.0 * t + 31.0 / 10.0)
temp += 1144.0 / 27.0 * sin(3.0 * t + 139.0 / 36.0)
temp += 456.0 / 47.0 * sin(4.0 * t + 81.0 / 34.0)
temp += 390.0 / 47.0 * sin(5.0 * t + 146.0 / 81.0)
temp += 158.0 / 33.0 * sin(6.0 * t + 14.0 / 27.0)
temp += 41.0 / 35.0 * sin(10.0 * t + 43.0 / 20.0)
temp += 29.0 / 19.0 * sin(11.0 * t + 82.0 / 33.0)
temp += 64.0 / 41.0 * sin(12.0 * t + 42.0 / 31.0)
temp += 67.0 / 43.0 * sin(13.0 * t + 47.0 / 43.0)
temp += 16.0 / 35.0 * sin(14.0 * t + 41.0 / 20.0)
temp += 49.0 / 73.0 * sin(15.0 * t + 59.0 / 88.0)
temp += 2388.0 / 37.0
x += temp * θ(3.0 * π - t) * θ(t + π)
x *= θ(sin(t / 2.0))
var y = 0.0
temp = -407.0 / 57.0 * sin(35.0 / 24.0 - 24.0 * t)
temp += -42.0 / 31.0 * sin(41.0 / 28.0 - 23.0 * t)
temp += -49.0 / 16.0 * sin(67.0 / 46.0 - 22.0 * t)
temp += -26.0 / 37.0 * sin(38.0 / 31.0 - 21.0 * t)
temp += -76.0 / 35.0 * sin(59.0 / 39.0 - 20.0 * t)
temp += -310.0 / 73.0 * sin(43.0 / 28.0 - 18.0 * t)
temp += -11.0 * sin(44.0 / 29.0 - 13.0 * t)
temp += -580.0 / 41.0 * sin(32.0 / 21.0 - 10.0 * t)
temp += -3258.0 / 65.0 * sin(63.0 / 41.0 - 9.0 * t)
temp += -252.0 / 17.0 * sin(56.0 / 37.0 - 8.0 * t)
temp += -6254.0 / 51.0 * sin(17.0 / 11.0 - 6.0 * t)
temp += -1481.0 / 27.0 * sin(71.0 / 46.0 - 5.0 * t)
temp += -465.0 / 32.0 * sin(73.0 / 47.0 - 3.0 * t)
temp += 3651.0 / 50.0 * sin(t + 30.0 / 19.0)
temp += 8318.0 / 27.0 * sin(2.0 * t + 30.0 / 19.0)
temp += 134.0 / 21.0 * sin(4.0 * t + 127.0 / 27.0)
temp += 807.0 / 19.0 * sin(7.0 * t + 19.0 / 12.0)
temp += 252.0 / 11.0 * sin(11.0 * t + 155.0 / 97.0)
temp += 139.0 / 32.0 * sin(12.0 * t + 49.0 / 30.0)
temp += 417.0 / 38.0 * sin(14.0 * t + 51.0 / 31.0)
temp += 149.0 / 38.0 * sin(15.0 * t + 117.0 / 70.0)
temp += 173.0 / 24.0 * sin(16.0 * t + 13.0 / 8.0)
temp += 16.0 / 7.0 * sin(17.0 * t + 12.0 / 7.0)
temp += 62.0 / 43.0 * sin(19.0 * t + 87.0 / 56.0)
temp += -18494.0 / 25.0
y += temp * θ(103.0 * π - t) * θ(t - 99.0 * π)
temp = -80.0 / 29.0 * sin(47.0 / 30.0 - 5.0 * t)
temp += -177.0 / 25.0 * sin(113.0 / 72.0 - 3.0 * t)
temp += -1901.0 / 33.0 * sin(47.0 / 30.0 - t)
temp += 599.0 / 31.0 * sin(2.0 * t + 52.0 / 33.0)
temp += 77.0 / 41.0 * sin(4.0 * t + 14.0 / 9.0)
temp += 11.0 / 9.0 * sin(6.0 * t + 61.0 / 39.0)
temp += 2609.0 / 12.0
y += temp * θ(99.0 * π - t) * θ(t - 95.0 * π)
temp = -1566.0 / 241.0 * sin(58.0 / 37.0 - 3.0 * t)
temp += -1857.0 / 50.0 * sin(47.0 / 30.0 - t)
temp += 464.0 / 31.0 * sin(2.0 * t + 11.0 / 7.0)
temp += 59.0 / 24.0 * sin(4.0 * t + 11.0 / 7.0)
temp += 20.0 / 17.0 * sin(5.0 * t + 136.0 / 29.0)
temp += 7997.0 / 31.0
y += temp * θ(95.0 * π - t) * θ(t - 91.0 * π)
temp = -15.0 / 29.0 * sin(67.0 / 43.0 - 5.0 * t)
temp += -129.0 / 25.0 * sin(36.0 / 23.0 - 4.0 * t)
temp += -148.0 / 61.0 * sin(36.0 / 23.0 - 3.0 * t)
temp += -103.0 / 33.0 * sin(69.0 / 44.0 - 2.0 * t)
temp += -29.0 / 17.0 * sin(80.0 / 51.0 - t)
temp += -4753.0 / 32.0
y += temp * θ(91.0 * π - t) * θ(t - 87.0 * π)
temp = -24.0 / 19.0 * sin(32.0 / 21.0 - 25.0 * t)
temp += -229.0 / 98.0 * sin(48.0 / 31.0 - 22.0 * t)
temp += -83.0 / 31.0 * sin(54.0 / 35.0 - 19.0 * t)
temp += -37.0 / 9.0 * sin(31.0 / 20.0 - 17.0 * t)
temp += -46.0 / 19.0 * sin(36.0 / 23.0 - 14.0 * t)
temp += -71.0 / 23.0 * sin(25.0 / 16.0 - 12.0 * t)
temp += -29.0 / 19.0 * sin(57.0 / 37.0 - 10.0 * t)
temp += -49.0 / 15.0 * sin(25.0 / 16.0 - 7.0 * t)
temp += -396.0 / 113.0 * sin(14.0 / 9.0 - 5.0 * t)
temp += -181.0 / 36.0 * sin(36.0 / 23.0 - 4.0 * t)
temp += -176.0 / 25.0 * sin(47.0 / 30.0 - 3.0 * t)
temp += -1055.0 / 57.0 * sin(80.0 / 51.0 - 2.0 * t)
temp += -353.0 / 21.0 * sin(113.0 / 72.0 - t)
temp += 17.0 / 43.0 * sin(6.0 * t + 63.0 / 40.0)
temp += 1.0 / 36.0 * sin(8.0 * t + 1.0 / 22.0)
temp += 9.0 / 34.0 * sin(9.0 * t + 50.0 / 33.0)
temp += 113.0 / 38.0 * sin(11.0 * t + 47.0 / 30.0)
temp += 5.0 / 8.0 * sin(13.0 * t + 27.0 / 17.0)
temp += 45.0 / 38.0 * sin(15.0 * t + 174.0 / 37.0)
temp += 11.0 / 8.0 * sin(16.0 * t + 61.0 / 39.0)
temp += 188.0 / 31.0 * sin(18.0 * t + 19.0 / 12.0)
temp += 16.0 / 27.0 * sin(20.0 * t + 61.0 / 13.0)
temp += 5.0 / 17.0 * sin(21.0 * t + 23.0 / 13.0)
temp += 39.0 / 22.0 * sin(23.0 * t + 68.0 / 43.0)
temp += 12.0 / 13.0 * sin(24.0 * t + 25.0 / 16.0)
temp += 12966.0 / 29.0
y += temp * θ(87.0 * π - t) * θ(t - 83.0 * π)
temp = -101.0 / 25.0 * sin(23.0 / 15.0 - 23.0 * t)
temp += -223.0 / 46.0 * sin(25.0 / 16.0 - 19.0 * t)
temp += -603.0 / 116.0 * sin(80.0 / 51.0 - 17.0 * t)
temp += -45.0 / 58.0 * sin(14.0 / 9.0 - 15.0 * t)
temp += -77.0 / 41.0 * sin(65.0 / 42.0 - 11.0 * t)
temp += -1.0 / 36.0 * sin(59.0 / 98.0 - 10.0 * t)
temp += -108.0 / 25.0 * sin(47.0 / 30.0 - 9.0 * t)
temp += -110.0 / 41.0 * sin(39.0 / 25.0 - 7.0 * t)
temp += -2479.0 / 826.0 * sin(14.0 / 9.0 - 6.0 * t)
temp += -166.0 / 33.0 * sin(69.0 / 44.0 - 4.0 * t)
temp += -266.0 / 23.0 * sin(69.0 / 44.0 - t)
temp += 62.0 / 33.0 * sin(2.0 * t + 146.0 / 31.0)
temp += 1.0 / 7.0 * sin(3.0 * t + 38.0 / 27.0)
temp += 1.0 / 64.0 * sin(5.0 * t + 6.0 / 35.0)
temp += 27.0 / 23.0 * sin(8.0 * t + 37.0 / 24.0)
temp += 49.0 / 40.0 * sin(12.0 * t + 179.0 / 38.0)
temp += 39.0 / 11.0 * sin(13.0 * t + 65.0 / 41.0)
temp += 53.0 / 71.0 * sin(14.0 * t + 80.0 / 17.0)
temp += 255.0 / 98.0 * sin(16.0 * t + 36.0 / 23.0)
temp += 110.0 / 17.0 * sin(18.0 * t + 49.0 / 31.0)
temp += 8.0 / 33.0 * sin(20.0 * t + 31.0 / 22.0)
temp += 38.0 / 11.0 * sin(21.0 * t + 50.0 / 31.0)
temp += 35.0 / 32.0 * sin(22.0 * t + 47.0 / 29.0)
temp += 11.0 / 23.0 * sin(24.0 * t + 69.0 / 44.0)
temp += 52347.0 / 113.0
y += temp * θ(83.0 * π - t) * θ(t - 79.0 * π)
temp = -128.0 / 59.0 * sin(36.0 / 23.0 - 6.0 * t)
temp += -75.0 / 29.0 * sin(36.0 / 23.0 - 4.0 * t)
temp += -853.0 / 40.0 * sin(47.0 / 30.0 - 2.0 * t)
temp += -1601.0 / 43.0 * sin(102.0 / 65.0 - t)
temp += 139.0 / 25.0 * sin(3.0 * t + 39.0 / 25.0)
temp += 99.0 / 38.0 * sin(5.0 * t + 19.0 / 12.0)
temp += 32.0 / 19.0 * sin(7.0 * t + 81.0 / 52.0)
temp += 10547.0 / 30.0
y += temp * θ(79.0 * π - t) * θ(t - 75.0 * π)
temp = -1.0 / 19.0 * sin(57.0 / 37.0 - 7.0 * t)
temp += 129.0 / 38.0 * sin(t + 41.0 / 26.0)
temp += 952.0 / 47.0 * sin(2.0 * t + 212.0 / 45.0)
temp += 23.0 / 12.0 * sin(3.0 * t + 169.0 / 36.0)
temp += 77.0 / 19.0 * sin(4.0 * t + 146.0 / 31.0)
temp += 27.0 / 40.0 * sin(5.0 * t + 35.0 / 22.0)
temp += 61.0 / 36.0 * sin(6.0 * t + 146.0 / 31.0)
temp += 23311.0 / 66.0
y += temp * θ(75.0 * π - t) * θ(t - 71.0 * π)
temp = -217.0 / 87.0 * sin(49.0 / 32.0 - 8.0 * t)
temp += 4673.0 / 114.0 * sin(t + 52.0 / 33.0)
temp += 1582.0 / 25.0 * sin(2.0 * t + 30.0 / 19.0)
temp += 271.0 / 26.0 * sin(3.0 * t + 65.0 / 41.0)
temp += 1036.0 / 29.0 * sin(4.0 * t + 65.0 / 41.0)
temp += 151.0 / 43.0 * sin(5.0 * t + 221.0 / 47.0)
temp += 240.0 / 19.0 * sin(6.0 * t + 30.0 / 19.0)
temp += 277.0 / 31.0 * sin(7.0 * t + 179.0 / 38.0)
temp += 346.0 / 35.0 * sin(9.0 * t + 77.0 / 48.0)
temp += 136.0 / 23.0 * sin(10.0 * t + 52.0 / 33.0)
temp += 41.0 / 13.0 * sin(11.0 * t + 75.0 / 16.0)
temp += 29.0 / 23.0 * sin(12.0 * t + 64.0 / 39.0)
temp += 23.0 / 35.0 * sin(13.0 * t + 29.0 / 21.0)
temp += 5.0 / 27.0 * sin(14.0 * t + 79.0 / 23.0)
temp += 12.0 / 31.0 * sin(15.0 * t + 59.0 / 38.0)
temp += 41.0 / 16.0 * sin(16.0 * t + 50.0 / 31.0)
temp += 17.0 / 30.0 * sin(17.0 * t + 52.0 / 29.0)
temp += 5.0 / 17.0 * sin(18.0 * t + 67.0 / 43.0)
temp += 23.0 / 25.0 * sin(19.0 * t + 127.0 / 27.0)
temp += 43.0 / 38.0 * sin(20.0 * t + 29.0 / 18.0)
temp += 11.0 / 17.0 * sin(21.0 * t + 96.0 / 59.0)
temp += 23.0 / 45.0 * sin(22.0 * t + 50.0 / 31.0)
temp += 13.0 / 44.0 * sin(23.0 * t + 49.0 / 11.0)
temp += 20.0 / 33.0 * sin(24.0 * t + 56.0 / 37.0)
temp += 1.0 / 12.0 * sin(25.0 * t + 127.0 / 33.0)
temp += 4.0 / 27.0 * sin(26.0 * t + 34.0 / 19.0)
temp += 3826.0 / 57.0
y += temp * θ(71.0 * π - t) * θ(t - 67.0 * π)
temp = -67.0 / 36.0 * sin(47.0 / 30.0 - 9.0 * t)
temp += -629.0 / 118.0 * sin(53.0 / 34.0 - 5.0 * t)
temp += -49.0 / 30.0 * sin(58.0 / 39.0 - 2.0 * t)
temp += 7133.0 / 32.0 * sin(t + 245.0 / 52.0)
temp += 397.0 / 23.0 * sin(3.0 * t + 146.0 / 31.0)
temp += 43.0 / 31.0 * sin(4.0 * t + 48.0 / 31.0)
temp += 7.0 / 16.0 * sin(6.0 * t + 50.0 / 33.0)
temp += 190.0 / 73.0 * sin(7.0 * t + 245.0 / 52.0)
temp += 9.0 / 26.0 * sin(8.0 * t + 18.0 / 11.0)
temp += -1822.0 / 15.0
y += temp * θ(67.0 * π - t) * θ(t - 63.0 * π)
temp = 4511.0 / 50.0 * sin(t + 179.0 / 38.0)
temp += 503.0 / 126.0 * sin(2.0 * t + 65.0 / 41.0)
temp += 53.0 / 6.0 * sin(3.0 * t + 179.0 / 38.0)
temp += 78.0 / 47.0 * sin(4.0 * t + 51.0 / 32.0)
temp += 282.0 / 83.0 * sin(5.0 * t + 80.0 / 17.0)
temp += 27.0 / 47.0 * sin(6.0 * t + 51.0 / 32.0)
temp += 613.0 / 27.0
y += temp * θ(63.0 * π - t) * θ(t - 59.0 * π)
temp = -8.0 / 9.0 * sin(7.0 / 17.0 - 85.0 * t)
temp += -12.0 / 17.0 * sin(13.0 / 9.0 - 81.0 * t)
temp += -22.0 / 31.0 * sin(49.0 / 39.0 - 75.0 * t)
temp += -29.0 / 41.0 * sin(3.0 / 8.0 - 73.0 * t)
temp += -22.0 / 19.0 * sin(29.0 / 43.0 - 69.0 * t)
temp += -31.0 / 47.0 * sin(39.0 / 32.0 - 12.0 * t)
temp += 353.0 / 3.0 * sin(t + 202.0 / 43.0)
temp += 4111.0 / 19.0 * sin(2.0 * t + 61.0 / 13.0)
temp += 956.0 / 25.0 * sin(3.0 * t + 14.0 / 9.0)
temp += 533.0 / 20.0 * sin(4.0 * t + 89.0 / 19.0)
temp += 167.0 / 21.0 * sin(5.0 * t + 183.0 / 40.0)
temp += 116.0 / 25.0 * sin(6.0 * t + 131.0 / 28.0)
temp += 139.0 / 22.0 * sin(7.0 * t + 55.0 / 36.0)
temp += 231.0 / 25.0 * sin(8.0 * t + 149.0 / 32.0)
temp += 199.0 / 23.0 * sin(9.0 * t + 70.0 / 47.0)
temp += 121.0 / 39.0 * sin(10.0 * t + 649.0 / 139.0)
temp += 12.0 / 35.0 * sin(11.0 * t + 66.0 / 35.0)
temp += 43.0 / 25.0 * sin(13.0 * t + 17.0 / 11.0)
temp += 25.0 / 12.0 * sin(14.0 * t + 79.0 / 17.0)
temp += 91.0 / 27.0 * sin(15.0 * t + 41.0 / 29.0)
temp += 23.0 / 32.0 * sin(16.0 * t + 205.0 / 44.0)
temp += 17.0 / 31.0 * sin(17.0 * t + 121.0 / 27.0)
temp += 99.0 / 28.0 * sin(18.0 * t + 114.0 / 25.0)
temp += 73.0 / 47.0 * sin(19.0 * t + 19.0 / 13.0)
temp += 27.0 / 32.0 * sin(20.0 * t + 193.0 / 43.0)
temp += 9.0 / 14.0 * sin(21.0 * t + 64.0 / 33.0)
temp += 12.0 / 37.0 * sin(22.0 * t + 197.0 / 46.0)
temp += 32.0 / 51.0 * sin(23.0 * t + 119.0 / 29.0)
temp += 179.0 / 36.0 * sin(24.0 * t + 190.0 / 43.0)
temp += 143.0 / 46.0 * sin(25.0 * t + 131.0 / 30.0)
temp += 85.0 / 43.0 * sin(26.0 * t + 146.0 / 33.0)
temp += 42.0 / 31.0 * sin(27.0 * t + 536.0 / 119.0)
temp += 99.0 / 100.0 * sin(28.0 * t + 108.0 / 23.0)
temp += 158.0 / 53.0 * sin(29.0 * t + 76.0 / 65.0)
temp += 227.0 / 27.0 * sin(30.0 * t + 27.0 / 23.0)
temp += 421.0 / 23.0 * sin(31.0 * t + 17.0 / 14.0)
temp += 499.0 / 29.0 * sin(32.0 * t + 65.0 / 54.0)
temp += 281.0 / 26.0 * sin(33.0 * t + 73.0 / 61.0)
temp += 17.0 / 36.0 * sin(34.0 * t + 78.0 / 17.0)
temp += 75.0 / 7.0 * sin(35.0 * t + 178.0 / 41.0)
temp += 460.0 / 27.0 * sin(36.0 * t + 125.0 / 29.0)
temp += 515.0 / 34.0 * sin(37.0 * t + 73.0 / 17.0)
temp += 363.0 / 43.0 * sin(38.0 * t + 179.0 / 42.0)
temp += 376.0 / 51.0 * sin(39.0 * t + 412.0 / 97.0)
temp += 163.0 / 23.0 * sin(40.0 * t + 38.0 / 9.0)
temp += 439.0 / 53.0 * sin(41.0 * t + 174.0 / 41.0)
temp += 161.0 / 24.0 * sin(42.0 * t + 127.0 / 30.0)
temp += 145.0 / 22.0 * sin(43.0 * t + 106.0 / 25.0)
temp += 106.0 / 19.0 * sin(44.0 * t + 135.0 / 32.0)
temp += 137.0 / 33.0 * sin(45.0 * t + 67.0 / 16.0)
temp += 103.0 / 20.0 * sin(46.0 * t + 245.0 / 57.0)
temp += 61.0 / 29.0 * sin(47.0 * t + 94.0 / 23.0)
temp += 550.0 / 97.0 * sin(48.0 * t + 171.0 / 40.0)
temp += 6.0 / 17.0 * sin(49.0 * t + 187.0 / 72.0)
temp += 48.0 / 25.0 * sin(50.0 * t + 102.0 / 23.0)
temp += 19.0 / 40.0 * sin(51.0 * t + 41.0 / 12.0)
temp += 86.0 / 23.0 * sin(52.0 * t + 101.0 / 24.0)
temp += 62.0 / 35.0 * sin(53.0 * t + 157.0 / 40.0)
temp += 143.0 / 71.0 * sin(54.0 * t + 251.0 / 57.0)
temp += 5.0 / 3.0 * sin(55.0 * t + 41.0 / 29.0)
temp += 527.0 / 111.0 * sin(56.0 * t + 47.0 / 11.0)
temp += 152.0 / 39.0 * sin(57.0 * t + 47.0 / 39.0)
temp += 95.0 / 33.0 * sin(58.0 * t + 49.0 / 11.0)
temp += 1381.0 / 345.0 * sin(59.0 * t + 19.0 / 18.0)
temp += 167.0 / 125.0 * sin(60.0 * t + 57.0 / 13.0)
temp += 19.0 / 31.0 * sin(61.0 * t + 31.0 / 27.0)
temp += 37.0 / 32.0 * sin(62.0 * t + 35.0 / 32.0)
temp += 63.0 / 94.0 * sin(63.0 * t + 119.0 / 26.0)
temp += 16.0 / 13.0 * sin(64.0 * t + 74.0 / 53.0)
temp += 29.0 / 6.0 * sin(65.0 * t + 121.0 / 29.0)
temp += 57.0 / 47.0 * sin(66.0 * t + 47.0 / 26.0)
temp += 61.0 / 27.0 * sin(67.0 * t + 760.0 / 169.0)
temp += 241.0 / 39.0 * sin(68.0 * t + 149.0 / 150.0)
temp += 31.0 / 12.0 * sin(70.0 * t + 34.0 / 29.0)
temp += 49.0 / 37.0 * sin(71.0 * t + 60.0 / 13.0)
temp += 73.0 / 37.0 * sin(72.0 * t + 25.0 / 24.0)
temp += 25.0 / 28.0 * sin(74.0 * t + 49.0 / 29.0)
temp += 42.0 / 23.0 * sin(76.0 * t + 45.0 / 37.0)
temp += 69.0 / 25.0 * sin(77.0 * t + 98.0 / 23.0)
temp += 41.0 / 27.0 * sin(78.0 * t + 37.0 / 24.0)
temp += 29.0 / 15.0 * sin(79.0 * t + 131.0 / 31.0)
temp += 16.0 / 11.0 * sin(80.0 * t + 13.0 / 12.0)
temp += 29.0 / 28.0 * sin(82.0 * t + 94.0 / 29.0)
temp += 11.0 / 21.0 * sin(83.0 * t + 177.0 / 38.0)
temp += 32.0 / 17.0 * sin(84.0 * t + 43.0 / 47.0)
temp += 31.0 / 28.0 * sin(86.0 * t + 13.0 / 7.0)
temp += 145.0 / 42.0 * sin(87.0 * t + 192.0 / 49.0)
temp += 49.0 / 32.0 * sin(88.0 * t + 19.0 / 21.0)
temp += 67.0 / 48.0 * sin(89.0 * t + 1.0 / 13.0)
temp += 33.0 / 28.0 * sin(90.0 * t + 151.0 / 48.0)
temp += 40.0 / 21.0 * sin(91.0 * t + 121.0 / 31.0)
temp += 33.0 / 20.0 * sin(92.0 * t + 11.0 / 15.0)
temp += 106.0 / 49.0 * sin(93.0 * t + 1.0 / 9.0)
temp += 17.0 / 19.0 * sin(94.0 * t + 98.0 / 59.0)
temp += 7.0 / 3.0 * sin(95.0 * t + 176.0 / 45.0)
temp += 97.0 / 29.0 * sin(96.0 * t + 20.0 / 31.0)
temp += 50.0 / 27.0 * sin(97.0 * t + 2.0 / 9.0)
temp += 17.0 / 7.0 * sin(98.0 * t + 136.0 / 41.0)
temp += 16260.0 / 23.0
y += temp * θ(59.0 * π - t) * θ(t - 55.0 * π)
temp = -142.0 / 41.0 * sin(39.0 / 25.0 - 17.0 * t)
temp += -68.0 / 33.0 * sin(38.0 / 25.0 - 15.0 * t)
temp += -25.0 / 12.0 * sin(23.0 / 15.0 - 13.0 * t)
temp += -23.0 / 12.0 * sin(65.0 / 42.0 - 12.0 * t)
temp += -497.0 / 33.0 * sin(36.0 / 23.0 - 6.0 * t)
temp += -105.0 / 19.0 * sin(25.0 / 16.0 - 5.0 * t)
temp += -1996.0 / 33.0 * sin(47.0 / 30.0 - 4.0 * t)
temp += -802.0 / 73.0 * sin(113.0 / 72.0 - t)
temp += 11015.0 / 34.0 * sin(2.0 * t + 212.0 / 45.0)
temp += 354.0 / 35.0 * sin(3.0 * t + 146.0 / 31.0)
temp += 109.0 / 14.0 * sin(7.0 * t + 221.0 / 47.0)
temp += 16.0 / 15.0 * sin(8.0 * t + 41.0 / 25.0)
temp += 217.0 / 69.0 * sin(9.0 * t + 144.0 / 31.0)
temp += 17.0 / 13.0 * sin(10.0 * t + 233.0 / 50.0)
temp += 82.0 / 29.0 * sin(11.0 * t + 164.0 / 35.0)
temp += 3.0 / 7.0 * sin(14.0 * t + 36.0 / 23.0)
temp += 224.0 / 79.0 * sin(16.0 * t + 35.0 / 22.0)
temp += 43.0 / 14.0 * sin(18.0 * t + 69.0 / 43.0)
temp += 7930.0 / 11
y += temp * θ(55.0 * π - t) * θ(t - 51.0 * π)
temp = -13.0 / 25.0 * sin(19.0 / 28.0 - 9.0 * t)
temp += -16.0 / 33.0 * sin(38.0 / 41.0 - 7.0 * t)
temp += 181.0 / 15.0 * sin(t + 112.0 / 27.0)
temp += 159.0 / 32.0 * sin(2.0 * t + 33.0 / 49.0)
temp += 259.0 / 38.0 * sin(3.0 * t + 106.0 / 31.0)
temp += 57.0 / 13.0 * sin(4.0 * t + 109.0 / 35.0)
temp += 8.0 / 27.0 * sin(5.0 * t + 20.0 / 31.0)
temp += 35.0 / 22.0 * sin(6.0 * t + 77.0 / 25.0)
temp += 41.0 / 32.0 * sin(8.0 * t + 34.0 / 19.0)
temp += 23.0 / 42.0 * sin(10.0 * t + 44.0 / 41.0)
temp += 22.0 / 35.0 * sin(11.0 * t + 117.0 / 25.0)
temp += 17.0 / 32.0 * sin(12.0 * t + 13.0 / 22.0)
temp += -9500.0 / 9.0
y += temp * θ(51.0 * π - t) * θ(t - 47.0 * π)
temp = -2423.0 / 42.0 * sin(36.0 / 29.0 - t)
temp += -38027.0 / 36.0
y += temp * θ(47.0 * π - t) * θ(t - 43.0 * π)
temp = -232.0 / 21.0 * sin(59.0 / 47.0 - 5.0 * t)
temp += -380.0 / 27.0 * sin(2.0 / 17.0 - 4.0 * t)
temp += -472.0 / 19.0 * sin(19.0 / 18.0 - 3.0 * t)
temp += 3307.0 / 21.0 * sin(t + 7.0 / 37.0)
temp += 1527.0 / 17.0 * sin(2.0 * t + 76.0 / 65.0)
temp += 25.0 / 33.0 * sin(6.0 * t + 23.0 / 20.0)
temp += 281.0 / 36.0 * sin(7.0 * t + 134.0 / 33.0)
temp += 37.0 / 27.0 * sin(8.0 * t + 57.0 / 25.0)
temp += 52.0 / 23.0 * sin(9.0 * t + 54.0 / 13.0)
temp += 21.0 / 5.0 * sin(10.0 * t + 19.0 / 9.0)
temp += 54.0 / 25.0 * sin(11.0 * t + 172.0 / 51.0)
temp += 105.0 / 32.0 * sin(12.0 * t + 53.0 / 46.0)
temp += -12945.0 / 26
y += temp * θ(43.0 * π - t) * θ(t - 39.0 * π)
temp = -11.0 / 30.0 * sin(36.0 / 43.0 - 11.0 * t)
temp += -7.0 / 23.0 * sin(3.0 / 11.0 - 7.0 * t)
temp += -73.0 / 19.0 * sin(1.0 / 49.0 - 3.0 * t)
temp += -19.0 / 28.0 * sin(4.0 / 31.0 - t)
temp += 9.0 / 13.0 * sin(2.0 * t + 21.0 / 62.0)
temp += 905.0 / 226.0 * sin(4.0 * t + 4.0 / 25.0)
temp += 24.0 / 19.0 * sin(5.0 * t + 111.0 / 40.0)
temp += 17.0 / 27.0 * sin(6.0 * t + 41.0 / 23.0)
temp += 13.0 / 27.0 * sin(8.0 * t + 57.0 / 20.0)
temp += 13.0 / 31.0 * sin(9.0 * t + 5.0 / 27.0)
temp += 5.0 / 23.0 * sin(10.0 * t + 59.0 / 18.0)
temp += 13.0 / 77.0 * sin(12.0 * t + 123.0 / 37.0)
temp += 7606.0 / 23.0
y += temp * θ(39.0 * π - t) * θ(t - 35.0 * π)
temp = -2.0 / 9.0 * sin(7.0 / 25.0 - 11.0 * t)
temp += -2.0 / 17.0 * sin(17.0 / 32.0 - 9.0 * t)
temp += -4.0 / 31.0 * sin(25.0 / 17.0 - 7.0 * t)
temp += -9.0 / 20.0 * sin(41.0 / 39.0 - 5.0 * t)
temp += 7.0 / 4.0 * sin(t + 53.0 / 28.0)
temp += 34.0 / 9.0 * sin(2.0 * t + 109.0 / 26.0)
temp += 45.0 / 8.0 * sin(3.0 * t + 217.0 / 51.0)
temp += 49.0 / 38.0 * sin(4.0 * t + 37.0 / 36.0)
temp += 7.0 / 22.0 * sin(6.0 * t + 90.0 / 181.0)
temp += 5.0 / 23.0 * sin(8.0 * t + 11.0 / 25.0)
temp += 3.0 / 29.0 * sin(10.0 * t + 169.0 / 41.0)
temp += 4.0 / 21.0 * sin(12.0 * t + 305.0 / 76.0)
temp += 6727.0 / 20.0
y += temp * θ(35.0 * π - t) * θ(t - 31.0 * π)
temp = -5.0 / 3.0 * sin(23.0 / 34.0 - 3.0 * t)
temp += -2989.0 / 130.0 * sin(9.0 / 28.0 - t)
temp += 13.0 / 30.0 * sin(2.0 * t + 37.0 / 16.0)
temp += 5.0 / 6.0 * sin(4.0 * t + 29.0 / 10.0)
temp += 15.0 / 41.0 * sin(5.0 * t + 55.0 / 46.0)
temp += 5.0 / 23.0 * sin(6.0 * t + 91.0 / 27.0)
temp += 9085.0 / 27.0
y += temp * θ(31.0 * π - t) * θ(t - 27.0 * π)
temp = -56.0 / 45.0 * sin(16.0 / 17.0 - 3.0 * t)
temp += -2344.0 / 125.0 * sin(19.0 / 43.0 - t)
temp += 5.0 / 6.0 * sin(2.0 * t + 20.0 / 19.0)
temp += 26.0 / 23.0 * sin(4.0 * t + 75.0 / 31.0)
temp += 4.0 / 35.0 * sin(5.0 * t + 654.0 / 187.0)
temp += 28.0 / 113.0 * sin(6.0 * t + 118.0 / 37.0)
temp += 14511.0 / 44.0
y += temp * θ(27.0 * π - t) * θ(t - 23.0 * π)
temp = -31.0 / 17.0 * sin(29.0 / 48.0 - 14.0 * t)
temp += -50.0 / 27.0 * sin(33.0 / 98.0 - 13.0 * t)
temp += -41.0 / 15.0 * sin(11.0 / 39.0 - 10.0 * t)
temp += -133.0 / 66.0 * sin(5.0 / 18.0 - 8.0 * t)
temp += -1171.0 / 19.0 * sin(7.0 / 29.0 - 2.0 * t)
temp += -1421.0 / 10.0 * sin(27.0 / 22.0 - t)
temp += 1347.0 / 59.0 * sin(3.0 * t + 25.0 / 8.0)
temp += 942.0 / 43.0 * sin(4.0 * t + 29.0 / 20.0)
temp += 740.0 / 49.0 * sin(5.0 * t + 18.0 / 17.0)
temp += 47.0 / 8.0 * sin(6.0 * t + 132.0 / 35.0)
temp += 167.0 / 13.0 * sin(7.0 * t + 169.0 / 94.0)
temp += 67.0 / 19.0 * sin(9.0 * t + 53.0 / 33.0)
temp += 16.0 / 81.0 * sin(11.0 * t + 49.0 / 44.0)
temp += 35.0 / 18.0 * sin(12.0 * t + 4.0 / 15.0)
temp += 9.0 / 23.0 * sin(15.0 * t + 116.0 / 37.0)
temp += 19.0 / 11.0 * sin(16.0 * t + 9.0 / 37.0)
temp += 2031.0 / 17
y += temp * θ(23.0 * π - t) * θ(t - 19.0 * π)
temp = -23.0 / 30.0 * sin(25.0 / 63.0 - 12.0 * t)
temp += -163.0 / 109.0 * sin(17.0 / 27.0 - 10.0 * t)
temp += -sin(20.0 / 31.0 - 8.0 * t)
temp += -104.0 / 11.0 * sin(22.0 / 35.0 - 3.0 * t)
temp += -98.0 / 27.0 * sin(53.0 / 52.0 - t)
temp += 138.0 / 55.0 * sin(2.0 * t + 251.0 / 58.0)
temp += 177.0 / 17.0 * sin(4.0 * t + 8.0 / 37.0)
temp += 269.0 / 84.0 * sin(5.0 * t + 75.0 / 17.0)
temp += 28.0 / 29.0 * sin(6.0 * t + 72.0 / 23.0)
temp += 20.0 / 19.0 * sin(7.0 * t + 55.0 / 28.0)
temp += 68.0 / 45.0 * sin(9.0 * t + 66.0 / 31.0)
temp += 31.0 / 37.0 * sin(11.0 * t + 155.0 / 59.0)
temp += -6747.0 / 22.0
y += temp * θ(19.0 * π - t) * θ(t - 15.0 * π)
temp = -103.0 / 38.0 * sin(25.0 / 34.0 - 8.0 * t)
temp += -439.0 / 219.0 * sin(19.0 / 17.0 - 7.0 * t)
temp += -159.0 / 31.0 * sin(3.0 / 13.0 - 5.0 * t)
temp += -35.0 / 26.0 * sin(7.0 / 24.0 - 4.0 * t)
temp += -387.0 / 83.0 * sin(5.0 / 7.0 - 3.0 * t)
temp += 944.0 / 19.0 * sin(t + 79.0 / 26.0)
temp += 329.0 / 31.0 * sin(2.0 * t + 17.0 / 36.0)
temp += 25.0 / 12.0 * sin(6.0 * t + 155.0 / 44.0)
temp += -4790.0 / 31.0
y += temp * θ(15.0 * π - t) * θ(t - 11.0 * π)
temp = -84.0 / 31.0 * sin(92.0 / 61.0 - 4.0 * t)
temp += -3.0 * sin(14.0 / 9.0 - 3.0 * t)
temp += -381.0 / 31.0 * sin(39.0 / 35.0 - 2.0 * t)
temp += 925.0 / 46.0 * sin(t + 259.0 / 86.0)
temp += 48.0 / 43.0 * sin(5.0 * t + 53.0 / 16.0)
temp += 27.0 / 29.0 * sin(6.0 * t + 105.0 / 44.0)
temp += 11.0 / 21.0 * sin(7.0 * t + 38.0 / 21.0)
temp += 7.0 / 31.0 * sin(8.0 * t + 227.0 / 76.0)
temp += 11503.0 / 35.0
y += temp * θ(11.0 * π - t) * θ(t - 7.0 * π)
temp = -16.0 / 21.0 * sin(13.0 / 16.0 - 7.0 * t)
temp += 245.0 / 12.0 * sin(t + 26.0 / 21.0)
temp += 199.0 / 20.0 * sin(2.0 * t + 11.0 / 20.0)
temp += 47.0 / 26.0 * sin(3.0 * t + 17.0 / 7.0)
temp += 70.0 / 51.0 * sin(4.0 * t + 41.0 / 21.0)
temp += 22.0 / 9.0 * sin(5.0 * t + 258.0 / 59.0)
temp += 29.0 / 31.0 * sin(6.0 * t + 242.0 / 81.0)
temp += 7.0 / 24.0 * sin(8.0 * t + 13.0 / 22.0)
temp += 26.0 / 37.0 * sin(9.0 * t + 55.0 / 64.0)
temp += 8693.0 / 27.0
y += temp * θ(7.0 * π - t) * θ(t - 3.0 * π)
temp = -16.0 / 9.0 * sin(27.0 / 31.0 - 12.0 * t)
temp += -103.0 / 38.0 * sin(37.0 / 36.0 - 8.0 * t)
temp += -63.0 / 25.0 * sin(5.0 / 26.0 - 7.0 * t)
temp += -58204.0 / 85.0 * sin(4.0 / 21.0 - t)
temp += 371.0 / 34.0 * sin(2.0 * t + 109.0 / 27.0)
temp += 632.0 / 39.0 * sin(3.0 * t + 71.0 / 27.0)
temp += 262.0 / 33.0 * sin(4.0 * t + 13.0 / 16.0)
temp += 283.0 / 41.0 * sin(5.0 * t + 43.0 / 24.0)
temp += 58.0 / 33.0 * sin(6.0 * t + 79.0 / 32.0)
temp += 59.0 / 21.0 * sin(9.0 * t + 77.0 / 20.0)
temp += 42.0 / 19.0 * sin(10.0 * t + 81.0 / 35.0)
temp += 178.0 / 179.0 * sin(11.0 * t + 17.0 / 19.0)
temp += 11.0 / 35.0 * sin(13.0 * t + 67.0 / 16.0)
temp += 11.0 / 25.0 * sin(14.0 * t + 14.0 / 13.0)
temp += 11.0 / 30.0 * sin(15.0 * t + 135.0 / 29.0)
temp += 16.0 / 49.0 * sin(16.0 * t + 70.0 / 43.0)
temp += 6851.0 / 32.0
y += temp * θ(3.0 * π - t) * θ(t + π)
y *= θ(sin(t / 2.0))
return CGPoint(x: Double(self.view.bounds.size.width) / 2.0 + x / 5.0, y: Double(self.view.bounds.size.height) / 2.0 - y / 5.0)
}
let path = CGPathCreateMutable()
CGPathAddLines(path, nil, points, points.count)
layer.path = path
let animation = CABasicAnimation(keyPath: "strokeEnd")
animation.fromValue = 0
animation.toValue = 1
animation.duration = 10.0
layer.addAnimation(animation, forKey: nil)
}
@robertmryan
Copy link
Author

That generates the following image:

simulator screen shot mar 1 2016 12 00 04 pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment