Гнуплот и банановая кривая - PullRequest
1 голос
/ 11 октября 2019

Я новый пользователь программного обеспечения gnuplot. Я могу построить простую параметрическую кривую с помощью этого шаблона:

set size square
set parametric
set trange [MIN:MAX]
fx(t) = ...
fy(t) = ...
plot fx(t),fy(t)

Теперь я попытался применить этот шаблон для построения банановой кривой

set size square
set samples 9999
set parametric
set trange [0:24*pi]
Heaviside(x) = (x>=0) ? 1 : 0
fx(t) = ((-64 / 37 * sin(38 / 25 - 18 * t) - 33 / 14 * sin(23 / 15 - 16 * t) - 137 / 34 * sin(23 / 15 - 14 * t) - 281 / 36 * sin(31 / 20 - 10 * t) - 165 / 17 * sin(64 / 41 - 8 * t) - 2019 / 34 * sin(39 / 25 - 4 * t) - 1279 / 35 * sin(87 / 56 - 3 * t) - 2409 / 26 * sin(36 / 23 - 2 * t) + 13503 / 41 * sin(t + 74 / 47) + 674 / 29 * sin(5 * t + 11 / 7) + 143 / 42 * sin(6 * t + 313 / 67) + 9 / 7 * sin(7 * t + 49 / 33) + 77 / 31 * sin(9 * t + 76 / 51) + 59 / 33 * sin(11 * t + 39 / 25) + 21 / 29 * sin(12 * t + 83 / 18) + 67 / 21 * sin(13 * t + 47 / 30) + 10 / 43 * sin(15 * t + 15 / 11) + 12 / 31 * sin(17 * t + 29 / 23) + 11 / 42 * sin(19 * t + 34 / 25) + 13575 / 23) * Heaviside(23 * pi - t) * Heaviside(t - 19 * pi) + (4712 / 35 * sin(t + 11 / 7) + 3011 / 32 * sin(2 * t + 80 / 51) + 2605 / 23 * sin(3 * t + 69 / 44) + 2438 / 55 * sin(4 * t + 155 / 33) + 355 / 29 * sin(5 * t + 77 / 48) + 257 / 25 * sin(6 * t + 131 / 28) + 112 / 9 * sin(7 * t + 85 / 53) + 276 / 25 * sin(8 * t + 74 / 47) + 29 / 22 * sin(9 * t + 118 / 27) + 262 / 77 * sin(10 * t + 51 / 11) + 117 / 16 * sin(11 * t + 52 / 33) + 384 / 53 * sin(12 * t + 173 / 37) + 64 / 9 * sin(13 * t + 47 / 30) + 108 / 43 * sin(14 * t + 17 / 11) + 37311 / 53) * Heaviside(19 * pi - t) * Heaviside(t - 15 * pi) + (-38 / 61 * sin(31 / 21 - 15 * t) - 309 / 35 * sin(36 / 23 - 14 * t) - 1 / 25 * sin(28 / 23 - 13 * t) - 432 / 23 * sin(64 / 41 - 10 * t) - 14242 / 39 * sin(58 / 37 - 2 * t) - 181 / 25 * sin(36 / 23 - t) + 449 / 22 * sin(3 * t + 19 / 12) + 2839 / 45 * sin(4 * t + 179 / 38) + 1013 / 78 * sin(5 * t + 80 / 17) + 2063 / 45 * sin(6 * t + 146 / 31) + 41 / 27 * sin(7 * t + 42 / 25) + 89 / 71 * sin(8 * t + 169 / 37) + 64 / 63 * sin(9 * t + 293 / 65) + 55 / 21 * sin(11 * t + 75 / 16) + 103 / 48 * sin(12 * t + 73 / 45) + 12 / 59 * sin(16 * t + 70 / 39) + 73 / 38 * sin(17 * t + 30 / 19) + 25521 / 25) * Heaviside(15 * pi - t) * Heaviside(t - 11 * pi) + (9049 / 69 * sin(t + 212 / 45) + 128451 / 350 * sin(2 * t + 49 / 31) + 1507 / 39 * sin(3 * t + 141 / 88) + 3461 / 161 * sin(4 * t + 66 / 41) + 373 / 18 * sin(5 * t + 59 / 37) + 331 / 20 * sin(6 * t + 107 / 67) + 802 / 27 * sin(7 * t + 99 / 62) + 12 / 11 * sin(8 * t + 76 / 43) + 39 / 14 * sin(9 * t + 82 / 47) + 16 / 13 * sin(10 * t + 55 / 31) + 381 / 34 * sin(11 * t + 31 / 19) + 223 / 44 * sin(12 * t + 18 / 11) + 35 / 23 * sin(13 * t + 127 / 27) + 12 / 31 * sin(14 * t + 273 / 62) - 17471 / 43) * Heaviside(11 * pi - t) * Heaviside(t - 7 * pi) + (-1162 / 93 * sin(14 / 9 - 14 * t) - 172 / 23 * sin(25 / 16 - 11 * t) - 599 / 28 * sin(64 / 41 - 10 * t) - 1131 / 40 * sin(61 / 39 - 8 * t) - 496 / 21 * sin(58 / 37 - 7 * t) - 445 / 22 * sin(69 / 44 - 6 * t) - 2695 / 32 * sin(47 / 30 - 4 * t) - 2255 / 26 * sin(36 / 23 - 3 * t) + 5557 / 31 * sin(t + 113 / 72) + 7879 / 53 * sin(2 * t + 52 / 33) + 1301 / 69 * sin(5 * t + 91 / 57) + 71 / 9 * sin(9 * t + 47 / 29) + 175 / 18 * sin(12 * t + 80 / 17) + 152 / 29 * sin(13 * t + 45 / 28) + 4628 / 29) * Heaviside(7 * pi - t) * Heaviside(t - 3 * pi) + (-45 / 11 * sin(23 / 16 - 24 * t) - 263 / 47 * sin(31 / 22 - 20 * t) - 103 / 27 * sin(25 / 17 - 16 * t) - 18 / 5 * sin(53 / 38 - 15 * t) - 146 / 31 * sin(48 / 31 - 11 * t) + 1349 / 14 * sin(t + 61 / 13) + 37592 / 57 * sin(2 * t + 68 / 43) + 1954 / 37 * sin(3 * t + 44 / 27) + 1025 / 31 * sin(4 * t + 29 / 18) + 20 / 7 * sin(5 * t + 37 / 22) + 1058 / 37 * sin(6 * t + 8 / 5) + 251 / 49 * sin(7 * t + 33 / 19) + 889 / 51 * sin(8 * t + 57 / 35) + 493 / 25 * sin(9 * t + 13 / 8) + 423 / 211 * sin(10 * t + 44 / 27) + 171 / 44 * sin(12 * t + 82 / 49) + 490 / 27 * sin(13 * t + 5 / 3) + 71 / 24 * sin(14 * t + 57 / 32) + 433 / 40 * sin(17 * t + 37 / 22) + 96 / 19 * sin(18 * t + 37 / 20) + 3 / 14 * sin(19 * t + 9 / 31) + 63 / 13 * sin(21 * t + 39 / 23) + 214 / 47 * sin(22 * t + 46 / 25) + 95 / 31 * sin(23 * t + 44 / 27) + 89 / 45 * sin(25 * t + 112 / 67) + 85 / 41 * sin(26 * t + 41 / 21) - 111432 / 139) * Heaviside(3 * pi - t) * Heaviside(t + pi)) * Heaviside(sqrt(sgn(sin(t / 2))))    
fy(t) = ((-25 / 19 * sin(29 / 20 - 19 * t) - 29 / 16 * sin(41 / 27 - 18 * t) - 18 / 13 * sin(23 / 16 - 16 * t) - 26 / 11 * sin(34 / 23 - 15 * t) - 605 / 151 * sin(53 / 35 - 14 * t) - 25 / 32 * sin(41 / 29 - 13 * t) - 38 / 23 * sin(56 / 37 - 12 * t) - 53 / 39 * sin(28 / 19 - 11 * t) - 162 / 19 * sin(54 / 35 - 10 * t) - 61 / 17 * sin(40 / 27 - 9 * t) - 97 / 20 * sin(48 / 31 - 8 * t) - 67 / 26 * sin(47 / 32 - 7 * t) - 573 / 22 * sin(14 / 9 - 6 * t) - 19 / 8 * sin(23 / 16 - 5 * t) - 680 / 23 * sin(17 / 11 - 3 * t) - 7523 / 21 * sin(61 / 39 - 2 * t) + 2667 / 80 * sin(t + 36 / 23) + 131 / 36 * sin(4 * t + 61 / 13) + 23 / 38 * sin(17 * t + 67 / 45) + 14375 / 26) * Heaviside(23 * pi - t) * Heaviside(t - 19 * pi) + (17603 / 108 * sin(t + 113 / 24) + 2227 / 39 * sin(2 * t + 11 / 7) + 5232 / 31 * sin(3 * t + 58 / 37) + 745 / 54 * sin(4 * t + 14 / 3) + 524 / 25 * sin(5 * t + 59 / 37) + 136 / 29 * sin(6 * t + 331 / 72) + 37 / 41 * sin(7 * t + 48 / 13) + 460 / 33 * sin(8 * t + 19 / 12) + 112 / 17 * sin(9 * t + 49 / 30) + 29 / 28 * sin(10 * t + 72 / 17) + 282 / 59 * sin(11 * t + 13 / 8) + 61 / 35 * sin(12 * t + 68 / 15) + 181 / 37 * sin(13 * t + 101 / 63) + 61 / 30 * sin(14 * t + 57 / 35) - 3904 / 13) * Heaviside(19 * pi - t) * Heaviside(t - 15 * pi) + (-169 / 33 * sin(59 / 38 - 14 * t) - 342 / 37 * sin(14 / 9 - 9 * t) - 717 / 43 * sin(102 / 65 - 8 * t) - 289 / 46 * sin(73 / 47 - 6 * t) - 273 / 17 * sin(39 / 25 - 5 * t) - 3578 / 37 * sin(36 / 23 - 4 * t) + 5961 / 68 * sin(t + 179 / 38) + 15033 / 49 * sin(2 * t + 63 / 40) + 3071 / 41 * sin(3 * t + 11 / 7) + 695 / 36 * sin(7 * t + 46 / 29) + 120 / 23 * sin(10 * t + 80 / 17) + 36 / 7 * sin(11 * t + 19 / 12) + 67 / 30 * sin(12 * t + 136 / 29) + 121 / 31 * sin(13 * t + 113 / 24) + 259 / 53 * sin(15 * t + 27 / 17) + 53 / 18 * sin(16 * t + 481 / 103) + 1 / 6 * sin(17 * t + 1893 / 946) - 6765 / 37) * Heaviside(15 * pi - t) * Heaviside(t - 11 * pi) + (-304 / 49 * sin(63 / 41 - 14 * t) - 243 / 14 * sin(48 / 31 - 10 * t) - 135 / 47 * sin(35 / 23 - 9 * t) - 19 / 3 * sin(31 / 20 - 8 * t) - 1313 / 37 * sin(57 / 37 - 6 * t) - 187 / 16 * sin(44 / 29 - 5 * t) - 3809 / 42 * sin(67 / 43 - 4 * t) + 3251 / 45 * sin(t + 113 / 24) + 3207 / 20 * sin(2 * t + 19 / 12) + 3845 / 22 * sin(3 * t + 19 / 12) + 762 / 31 * sin(7 * t + 41 / 26) + 26 / 17 * sin(11 * t + 25 / 17) + 7 / 13 * sin(12 * t + 191 / 109) + 173 / 35 * sin(13 * t + 64 / 41) + 1004 / 7) * Heaviside(11 * pi - t) * Heaviside(t - 7 * pi) + (-196 / 33 * sin(25 / 16 - 14 * t) - 356 / 47 * sin(39 / 25 - 10 * t) - 181 / 11 * sin(82 / 53 - 8 * t) - 457 / 87 * sin(49 / 32 - 4 * t) + 139 / 87 * sin(t + 16 / 19) + 12549 / 28 * sin(2 * t + 63 / 40) + 130 / 27 * sin(3 * t + 64 / 47) + 82 / 13 * sin(5 * t + 19 / 12) + 375 / 32 * sin(6 * t + 25 / 16) + 9 / 29 * sin(7 * t + 50 / 13) + 343 / 44 * sin(9 * t + 86 / 53) + 83 / 33 * sin(11 * t + 123 / 77) + 415 / 38 * sin(12 * t + 113 / 24) + 173 / 27 * sin(13 * t + 19 / 12) - 17222 / 45) * Heaviside(7 * pi - t) * Heaviside(t - 3 * pi) + (-4 / 7 * sin(32 / 25 - 26 * t) - 149 / 27 * sin(74 / 53 - 25 * t) - 293 / 40 * sin(44 / 31 - 21 * t) - 28 / 45 * sin(15 / 23 - 20 * t) - 643 / 90 * sin(45 / 31 - 17 * t) - 146 / 37 * sin(29 / 22 - 16 * t) - 256 / 35 * sin(47 / 31 - 13 * t) - 2859 / 301 * sin(38 / 27 - 12 * t) - 429 / 25 * sin(47 / 30 - 7 * t) - 9387 / 23 * sin(47 / 30 - t) + 5035 / 32 * sin(2 * t + 41 / 26) + 101 / 17 * sin(3 * t + 33 / 19) + 1388 / 27 * sin(4 * t + 67 / 42) + 133 / 67 * sin(5 * t + 49 / 25) + 788 / 19 * sin(6 * t + 91 / 57) + 58 / 31 * sin(8 * t + 61 / 46) + 9 / 13 * sin(9 * t + 50 / 21) + 1033 / 37 * sin(10 * t + 70 / 43) + 174 / 23 * sin(11 * t + 61 / 13) + 416 / 21 * sin(14 * t + 63 / 38) + 48 / 19 * sin(15 * t + 921 / 460) + 232 / 23 * sin(18 * t + 17 / 10) + 289 / 46 * sin(19 * t + 65 / 36) + 167 / 65 * sin(22 * t + 74 / 43) + 103 / 24 * sin(23 * t + 97 / 53) + 75 / 29 * sin(24 * t + 55 / 34) - 5384 / 11) * Heaviside(3 * pi - t) * Heaviside(t + pi)) * Heaviside(sqrt(sgn(sin(t / 2))))
plot fx(t),fy(t)

Вкл. влево , который мы видим правильный результат , в справа результат, полученный с помощью gnuplot

В чем моя ошибка?

Должен ли я использовать специальные команды?

1 Ответ

2 голосов
/ 11 октября 2019

Если заданы целые числа, gnuplot использует целочисленную арифметику, так что 1/2 = 0. Чтобы обеспечить арифметику с плавающей точкой, вы должны преобразовать хотя бы некоторые числовые значения в числа с плавающей точкой. Например,

set size square
set samples 9999
set parametric
set trange [0:24*pi]
Heaviside(x) = (x>=0) ? 1 : 0
fx(t) = ((-64. / 37 * sin(38. / 25 - 18 * t) - 33. / 14 * sin(23. / 15 - 16 * t) - 137. / 34 * sin(23. / 15 - 14 * t) - 281. / 36 * sin(31. / 20 - 10 * t) - 165. / 17 * sin(64. / 41 - 8 * t) - 2019. / 34 * sin(39. / 25 - 4 * t) - 1279. / 35 * sin(87. / 56 - 3 * t) - 2409. / 26 * sin(36. / 23 - 2 * t) + 13503. / 41 * sin(t + 74. / 47) + 674. / 29 * sin(5 * t + 11. / 7) + 143. / 42 * sin(6 * t + 313. / 67) + 9. / 7 * sin(7 * t + 49. / 33) + 77. / 31 * sin(9 * t + 76. / 51) + 59. / 33 * sin(11 * t + 39. / 25) + 21. / 29 * sin(12 * t + 83. / 18) + 67. / 21 * sin(13 * t + 47. / 30) + 10. / 43 * sin(15 * t + 15. / 11) + 12. / 31 * sin(17 * t + 29. / 23) + 11. / 42 * sin(19 * t + 34. / 25) + 13575. / 23) * Heaviside(23 * pi - t) * Heaviside(t - 19 * pi) + (4712. / 35 * sin(t + 11. / 7) + 3011. / 32 * sin(2 * t + 80. / 51) + 2605. / 23 * sin(3 * t + 69. / 44) + 2438. / 55 * sin(4 * t + 155. / 33) + 355. / 29 * sin(5 * t + 77. / 48) + 257. / 25 * sin(6 * t + 131. / 28) + 112. / 9 * sin(7 * t + 85. / 53) + 276. / 25 * sin(8 * t + 74. / 47) + 29. / 22 * sin(9 * t + 118. / 27) + 262. / 77 * sin(10 * t + 51. / 11) + 117. / 16 * sin(11 * t + 52. / 33) + 384. / 53 * sin(12 * t + 173. / 37) + 64. / 9 * sin(13 * t + 47. / 30) + 108. / 43 * sin(14 * t + 17. / 11) + 37311. / 53) * Heaviside(19 * pi - t) * Heaviside(t - 15 * pi) + (-38. / 61 * sin(31. / 21 - 15 * t) - 309. / 35 * sin(36. / 23 - 14 * t) - 1. / 25 * sin(28. / 23 - 13 * t) - 432. / 23 * sin(64. / 41 - 10 * t) - 14242. / 39 * sin(58. / 37 - 2 * t) - 181. / 25 * sin(36. / 23 - t) + 449. / 22 * sin(3 * t + 19. / 12) + 2839. / 45 * sin(4 * t + 179. / 38) + 1013. / 78 * sin(5 * t + 80. / 17) + 2063. / 45 * sin(6 * t + 146. / 31) + 41. / 27 * sin(7 * t + 42. / 25) + 89. / 71 * sin(8 * t + 169. / 37) + 64. / 63 * sin(9 * t + 293. / 65) + 55. / 21 * sin(11 * t + 75. / 16) + 103. / 48 * sin(12 * t + 73. / 45) + 12. / 59 * sin(16 * t + 70. / 39) + 73. / 38 * sin(17 * t + 30. / 19) + 25521. / 25) * Heaviside(15 * pi - t) * Heaviside(t - 11 * pi) + (9049. / 69 * sin(t + 212. / 45) + 128451. / 350 * sin(2 * t + 49. / 31) + 1507. / 39 * sin(3 * t + 141. / 88) + 3461. / 161 * sin(4 * t + 66. / 41) + 373. / 18 * sin(5 * t + 59. / 37) + 331. / 20 * sin(6 * t + 107. / 67) + 802. / 27 * sin(7 * t + 99. / 62) + 12. / 11 * sin(8 * t + 76. / 43) + 39. / 14 * sin(9 * t + 82. / 47) + 16. / 13 * sin(10 * t + 55. / 31) + 381. / 34 * sin(11 * t + 31. / 19) + 223. / 44 * sin(12 * t + 18. / 11) + 35. / 23 * sin(13 * t + 127. / 27) + 12. / 31 * sin(14 * t + 273. / 62) - 17471. / 43) * Heaviside(11 * pi - t) * Heaviside(t - 7 * pi) + (-1162. / 93 * sin(14. / 9 - 14 * t) - 172. / 23 * sin(25. / 16 - 11 * t) - 599. / 28 * sin(64. / 41 - 10 * t) - 1131. / 40 * sin(61. / 39 - 8 * t) - 496. / 21 * sin(58. / 37 - 7 * t) - 445. / 22 * sin(69. / 44 - 6 * t) - 2695. / 32 * sin(47. / 30 - 4 * t) - 2255. / 26 * sin(36. / 23 - 3 * t) + 5557. / 31 * sin(t + 113. / 72) + 7879. / 53 * sin(2 * t + 52. / 33) + 1301. / 69 * sin(5 * t + 91. / 57) + 71. / 9 * sin(9 * t + 47. / 29) + 175. / 18 * sin(12 * t + 80. / 17) + 152. / 29 * sin(13 * t + 45. / 28) + 4628. / 29) * Heaviside(7 * pi - t) * Heaviside(t - 3 * pi) + (-45. / 11 * sin(23. / 16 - 24 * t) - 263. / 47 * sin(31. / 22 - 20 * t) - 103. / 27 * sin(25. / 17 - 16 * t) - 18. / 5 * sin(53. / 38 - 15 * t) - 146. / 31 * sin(48. / 31 - 11 * t) + 1349. / 14 * sin(t + 61. / 13) + 37592. / 57 * sin(2 * t + 68. / 43) + 1954. / 37 * sin(3 * t + 44. / 27) + 1025. / 31 * sin(4 * t + 29. / 18) + 20. / 7 * sin(5 * t + 37. / 22) + 1058. / 37 * sin(6 * t + 8. / 5) + 251. / 49 * sin(7 * t + 33. / 19) + 889. / 51 * sin(8 * t + 57. / 35) + 493. / 25 * sin(9 * t + 13. / 8) + 423. / 211 * sin(10 * t + 44. / 27) + 171. / 44 * sin(12 * t + 82. / 49) + 490. / 27 * sin(13 * t + 5. / 3) + 71. / 24 * sin(14 * t + 57. / 32) + 433. / 40 * sin(17 * t + 37. / 22) + 96. / 19 * sin(18 * t + 37. / 20) + 3. / 14 * sin(19 * t + 9. / 31) + 63. / 13 * sin(21 * t + 39. / 23) + 214. / 47 * sin(22 * t + 46. / 25) + 95. / 31 * sin(23 * t + 44. / 27) + 89. / 45 * sin(25 * t + 112. / 67) + 85. / 41 * sin(26 * t + 41. / 21) - 111432. / 139) * Heaviside(3 * pi - t) * Heaviside(t + pi)) * Heaviside(sqrt(sgn(sin(t / 2))))    
fy(t) = ((-25. / 19 * sin(29. / 20 - 19 * t) - 29. / 16 * sin(41. / 27 - 18 * t) - 18. / 13 * sin(23. / 16 - 16 * t) - 26. / 11 * sin(34. / 23 - 15 * t) - 605. / 151 * sin(53. / 35 - 14 * t) - 25. / 32 * sin(41. / 29 - 13 * t) - 38. / 23 * sin(56. / 37 - 12 * t) - 53. / 39 * sin(28. / 19 - 11 * t) - 162. / 19 * sin(54. / 35 - 10 * t) - 61. / 17 * sin(40. / 27 - 9 * t) - 97. / 20 * sin(48. / 31 - 8 * t) - 67. / 26 * sin(47. / 32 - 7 * t) - 573. / 22 * sin(14. / 9 - 6 * t) - 19. / 8 * sin(23. / 16 - 5 * t) - 680. / 23 * sin(17. / 11 - 3 * t) - 7523. / 21 * sin(61. / 39 - 2 * t) + 2667. / 80 * sin(t + 36. / 23) + 131. / 36 * sin(4 * t + 61. / 13) + 23. / 38 * sin(17 * t + 67. / 45) + 14375. / 26) * Heaviside(23 * pi - t) * Heaviside(t - 19 * pi) + (17603. / 108 * sin(t + 113. / 24) + 2227. / 39 * sin(2 * t + 11. / 7) + 5232. / 31 * sin(3 * t + 58. / 37) + 745. / 54 * sin(4 * t + 14. / 3) + 524. / 25 * sin(5 * t + 59. / 37) + 136. / 29 * sin(6 * t + 331. / 72) + 37. / 41 * sin(7 * t + 48. / 13) + 460. / 33 * sin(8 * t + 19. / 12) + 112. / 17 * sin(9 * t + 49. / 30) + 29. / 28 * sin(10 * t + 72. / 17) + 282. / 59 * sin(11 * t + 13. / 8) + 61. / 35 * sin(12 * t + 68. / 15) + 181. / 37 * sin(13 * t + 101. / 63) + 61. / 30 * sin(14 * t + 57. / 35) - 3904. / 13) * Heaviside(19 * pi - t) * Heaviside(t - 15 * pi) + (-169. / 33 * sin(59. / 38 - 14 * t) - 342. / 37 * sin(14. / 9 - 9 * t) - 717. / 43 * sin(102. / 65 - 8 * t) - 289. / 46 * sin(73. / 47 - 6 * t) - 273. / 17 * sin(39. / 25 - 5 * t) - 3578. / 37 * sin(36. / 23 - 4 * t) + 5961. / 68 * sin(t + 179. / 38) + 15033. / 49 * sin(2 * t + 63. / 40) + 3071. / 41 * sin(3 * t + 11. / 7) + 695. / 36 * sin(7 * t + 46. / 29) + 120. / 23 * sin(10 * t + 80. / 17) + 36. / 7 * sin(11 * t + 19. / 12) + 67. / 30 * sin(12 * t + 136. / 29) + 121. / 31 * sin(13 * t + 113. / 24) + 259. / 53 * sin(15 * t + 27. / 17) + 53. / 18 * sin(16 * t + 481. / 103) + 1. / 6 * sin(17 * t + 1893. / 946) - 6765. / 37) * Heaviside(15 * pi - t) * Heaviside(t - 11 * pi) + (-304. / 49 * sin(63. / 41 - 14 * t) - 243. / 14 * sin(48. / 31 - 10 * t) - 135. / 47 * sin(35. / 23 - 9 * t) - 19. / 3 * sin(31. / 20 - 8 * t) - 1313. / 37 * sin(57. / 37 - 6 * t) - 187. / 16 * sin(44. / 29 - 5 * t) - 3809. / 42 * sin(67. / 43 - 4 * t) + 3251. / 45 * sin(t + 113. / 24) + 3207. / 20 * sin(2 * t + 19. / 12) + 3845. / 22 * sin(3 * t + 19. / 12) + 762. / 31 * sin(7 * t + 41. / 26) + 26. / 17 * sin(11 * t + 25. / 17) + 7. / 13 * sin(12 * t + 191. / 109) + 173. / 35 * sin(13 * t + 64. / 41) + 1004. / 7) * Heaviside(11 * pi - t) * Heaviside(t - 7 * pi) + (-196. / 33 * sin(25. / 16 - 14 * t) - 356. / 47 * sin(39. / 25 - 10 * t) - 181. / 11 * sin(82. / 53 - 8 * t) - 457. / 87 * sin(49. / 32 - 4 * t) + 139. / 87 * sin(t + 16. / 19) + 12549. / 28 * sin(2 * t + 63. / 40) + 130. / 27 * sin(3 * t + 64. / 47) + 82. / 13 * sin(5 * t + 19. / 12) + 375. / 32 * sin(6 * t + 25. / 16) + 9. / 29 * sin(7 * t + 50. / 13) + 343. / 44 * sin(9 * t + 86. / 53) + 83. / 33 * sin(11 * t + 123. / 77) + 415. / 38 * sin(12 * t + 113. / 24) + 173. / 27 * sin(13 * t + 19. / 12) - 17222. / 45) * Heaviside(7 * pi - t) * Heaviside(t - 3 * pi) + (-4. / 7 * sin(32. / 25 - 26 * t) - 149. / 27 * sin(74. / 53 - 25 * t) - 293. / 40 * sin(44. / 31 - 21 * t) - 28. / 45 * sin(15. / 23 - 20 * t) - 643. / 90 * sin(45. / 31 - 17 * t) - 146. / 37 * sin(29. / 22 - 16 * t) - 256. / 35 * sin(47. / 31 - 13 * t) - 2859. / 301 * sin(38. / 27 - 12 * t) - 429. / 25 * sin(47. / 30 - 7 * t) - 9387. / 23 * sin(47. / 30 - t) + 5035. / 32 * sin(2 * t + 41. / 26) + 101. / 17 * sin(3 * t + 33. / 19) + 1388. / 27 * sin(4 * t + 67. / 42) + 133. / 67 * sin(5 * t + 49. / 25) + 788. / 19 * sin(6 * t + 91. / 57) + 58. / 31 * sin(8 * t + 61. / 46) + 9. / 13 * sin(9 * t + 50. / 21) + 1033. / 37 * sin(10 * t + 70. / 43) + 174. / 23 * sin(11 * t + 61. / 13) + 416. / 21 * sin(14 * t + 63. / 38) + 48. / 19 * sin(15 * t + 921. / 460) + 232. / 23 * sin(18 * t + 17. / 10) + 289. / 46 * sin(19 * t + 65. / 36) + 167. / 65 * sin(22 * t + 74. / 43) + 103. / 24 * sin(23 * t + 97. / 53) + 75. / 29 * sin(24 * t + 55. / 34) - 5384. / 11) * Heaviside(3 * pi - t) * Heaviside(t + pi)) * Heaviside(sqrt(sgn(sin(t / 2))))
plot fx(t),fy(t) w d

дает

enter image description here

...