Advertisement
Guest User

Toro

a guest
Jul 16th, 2014
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.59 KB | None | 0 0
  1. MyFrame[tt_] := Which[0 <= tt < 1,
  2. Show[{
  3. ParametricPlot3D[
  4. {v, 2*u - 1, 0},
  5. {u, 0, 1}, {v, -1, 1},
  6. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  7. Boxed -> False, Axes -> False,
  8. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  9. PlotPoints -> 50]
  10. }, ViewPoint -> {1, 1, 1}],
  11.  
  12. 1 <= tt < 2,
  13. t := tt - 1;
  14. Show[{
  15. ParametricPlot3D[
  16. {v, 2*u - 1, 0},
  17. {u, 0, 1}, {v, -1, 1},
  18. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  19. Boxed -> False, Axes -> False,
  20. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  21. PlotPoints -> 50],
  22. Graphics3D[{Red, Opacity[t^2],
  23. Line[{{-1, -1, 0}, {1, -1, 0}}],
  24. Line[{{-1, 1, 0}, {1, 1, 0}}],
  25. Arrow[{{-1, -1, 0}, {0, -1, 0}}],
  26. Arrow[{{-1, 1, 0}, {0, 1, 0}}]
  27. }]
  28. }, ViewPoint -> {1, 1, 1}],
  29. 2 <= tt < 3,
  30. t := tt - 2;
  31. Show[{
  32. ParametricPlot3D[
  33. {v, 2*u - 1, 0},
  34. {u, 0, 1}, {v, -1, 1},
  35. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  36. Boxed -> False, Axes -> False,
  37. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  38. PlotPoints -> 50],
  39. Graphics3D[{Red, Opacity[1],
  40. Line[{{-1, -1, 0}, {1, -1, 0}}],
  41. Line[{{-1, 1, 0}, {1, 1, 0}}],
  42. Arrow[{{-1, -1, 0}, {0, -1, 0}}],
  43. Arrow[{{-1, 1, 0}, {0, 1, 0}}]
  44. }]
  45. }, ViewPoint -> {1, 1, 1}],
  46. 3 <= tt < 5,
  47. t := (tt - 3)/2;
  48. Show[{
  49. ParametricPlot3D[
  50. (1 - t) {v, 2*u - 1, 0}
  51. + t {v, 2*u - 1, (2*u - 1)^2 - 1},
  52. {u, 0, 1}, {v, -1, 1},
  53. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  54. Boxed -> False, Axes -> False,
  55. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  56. PlotPoints -> 50],
  57. Graphics3D[{Red,
  58. Line[{(1 - t) {-1, -1, 0} + t {-1, -1, 0}, (1 - t) {1, -1, 0} +
  59. t {1, -1, 0}}],
  60. Line[{(1 - t) {-1, 1, 0} + t {-1, 1, 0}, (1 - t) {1, 1, 0} +
  61. t {1, 1, 0}}],
  62. Arrow[{(1 - t) {-1, -1, 0} + t {-1, -1, 0}, (1 - t) {0, -1, 0} +
  63. t {0, -1, 0}}],
  64. Arrow[{(1 - t) {-1, 1, 0} + t {-1, 1, 0}, (1 - t) {0, 1, 0} +
  65. t {0, 1, 0}}]
  66. }]
  67. }, ViewPoint -> {1, 1, 1}],
  68.  
  69. 5 <= tt < 8,
  70. t := (tt - 5)/3;
  71. Show[{
  72. ParametricPlot3D[
  73. (1 - t) {v, 2*u - 1, (2*u - 1)^2 - 1}
  74. + t {v, Sin[2 \[Pi] u + \[Pi]], -Cos[2 \[Pi] u + \[Pi]]},
  75. {u, 0, 1}, {v, -1, 1},
  76. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  77. Boxed -> False, Axes -> False,
  78. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  79. PlotPoints -> 50],
  80. Graphics3D[{Red,
  81. Line[{(1 - t) {-1, -1, 0} + t {-1, 0, 1}, (1 - t) {1, -1, 0} +
  82. t {1, 0, 1}}],
  83. Line[{(1 - t) {-1, 1, 0} + t {-1, 0, 1}, (1 - t) {1, 1, 0} +
  84. t {1, 0, 1}}],
  85. Arrow[{(1 - t) {-1, -1, 0} + t {-1, 0, 1}, (1 - t) {0, -1, 0} +
  86. t {0, 0, 1}}],
  87. Arrow[{(1 - t) {-1, 1, 0} + t {-1, 0, 1}, (1 - t) {0, 1, 0} +
  88. t {0, 0, 1}}]
  89. }]
  90. }, ViewPoint -> {1, 1, 1}],
  91.  
  92. 8 <= tt < 10,
  93. t := (tt - 8)/2;
  94. Show[{
  95. ParametricPlot3D[
  96. {v, Sin[2 \[Pi] u], Cos[2 \[Pi] u]},
  97. {u, 0, 1}, {v, -1, 1},
  98. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  99. Boxed -> False, Axes -> False,
  100. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  101. PlotPoints -> 50],
  102. Graphics3D[{Red,
  103. Line[{{-1, 0, 1}, {1, 0, 1}}],
  104. Line[{{-1, 0, 1}, {1, 0, 1}}],
  105. Arrow[{{-1, 0, 1}, {0, 0, 1}}],
  106. Arrow[{{-1, 0, 1}, {0, 0, 1}}]
  107. }]
  108. }, ViewPoint -> {1, 1, 1}],
  109.  
  110. 10 <= tt < 11,
  111. t := tt - 10;
  112. Show[{
  113. ParametricPlot3D[
  114. {v, Sin[2 \[Pi] u + \[Pi]], -Cos[2 \[Pi] u + \[Pi]]},
  115. {u, 0, 1}, {v, -1, 1},
  116. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  117. Boxed -> False, Axes -> False,
  118. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  119. PlotPoints -> 50],
  120. ParametricPlot3D[
  121. {-1, Sin[2 \[Pi] u], Cos[2 \[Pi] u]},
  122. {u, 0, 1},
  123. PlotStyle -> Directive[Blue, Opacity[t]], Boxed -> False,
  124. Axes -> False,
  125. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  126. PlotPoints -> 50],
  127. ParametricPlot3D[
  128. {1, Sin[2 \[Pi] u], Cos[2 \[Pi] u]},
  129. {u, 0, 1},
  130. PlotStyle -> Directive[Blue, Opacity[t]], Boxed -> False,
  131. Axes -> False,
  132. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  133. PlotPoints -> 50],
  134. Graphics3D[{Red,
  135. Line[{{-1, 0, 1}, {1, 0, 1}}],
  136. Line[{{-1, 0, 1}, {1, 0, 1}}],
  137. Arrow[{{-1, 0, 1}, {0, 0, 1}}],
  138. Arrow[{{-1, 0, 1}, {0, 0, 1}}],
  139. Blue,
  140. Arrow[{
  141. {1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]},
  142. {1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  143. 0.01 (D[{1, Sin[2 \[Pi] s + \[Pi]], Cos[2 \[Pi] s + \[Pi]]},
  144. s] /. s -> 0)}],
  145. Arrow[{
  146. {-1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]},
  147. {-1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  148. 0.01 (D[{-1, Sin[2 \[Pi] s + \[Pi]], Cos[2 \[Pi] s + \[Pi]]},
  149. s] /. s -> 0)}]
  150. }]
  151. }, ViewPoint -> {1, 1, 1}],
  152.  
  153. 11 <= tt < 12,
  154. t := tt - 11;
  155. Show[{
  156. ParametricPlot3D[
  157. {v, Sin[2 \[Pi] u + \[Pi]], -Cos[2 \[Pi] u + \[Pi]]},
  158. {u, 0, 1}, {v, -1, 1},
  159. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  160. Boxed -> False, Axes -> False,
  161. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  162. PlotPoints -> 50],
  163. ParametricPlot3D[
  164. {-1, Sin[2 \[Pi] u], Cos[2 \[Pi] u]},
  165. {u, 0, 1},
  166. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  167. Axes -> False,
  168. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  169. PlotPoints -> 50],
  170. ParametricPlot3D[
  171. {1, Sin[2 \[Pi] u], Cos[2 \[Pi] u]},
  172. {u, 0, 1},
  173. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  174. Axes -> False,
  175. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  176. PlotPoints -> 50],
  177. Graphics3D[{Red,
  178. Line[{{-1, 0, 1}, {1, 0, 1}}],
  179. Line[{{-1, 0, 1}, {1, 0, 1}}],
  180. Arrow[{{-1, 0, 1}, {0, 0, 1}}],
  181. Arrow[{{-1, 0, 1}, {0, 0, 1}}],
  182. Blue,
  183. Arrow[{
  184. {1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]},
  185. {1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  186. 0.01 (D[{1, Sin[2 \[Pi] s + \[Pi]], Cos[2 \[Pi] s + \[Pi]]},
  187. s] /. s -> 0)}],
  188. Arrow[{
  189. {-1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]},
  190. {-1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  191. 0.01 (D[{-1, Sin[2 \[Pi] s + \[Pi]], Cos[2 \[Pi] s + \[Pi]]},
  192. s] /. s -> 0)}]
  193. }]
  194. }, ViewPoint -> {1, 1, 1}],
  195.  
  196. 12 <= tt < 14,
  197. t := (tt - 12)/2;
  198. Show[{
  199. ParametricPlot3D[
  200. (1 - t) {v, Sin[2 \[Pi] u + \[Pi]], -Cos[2 \[Pi] u + \[Pi]]}
  201. + t {v,
  202. 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1},
  203. {u, 0, 1}, {v, -1, 1},
  204. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  205. Boxed -> False, Axes -> False,
  206. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  207. PlotPoints -> 50],
  208. ParametricPlot3D[
  209. (1 - t) {-1, Sin[2 \[Pi] u + \[Pi]], -Cos[2 \[Pi] u + \[Pi]]}
  210. + t {-1,
  211. 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1},
  212. {u, 0, 1},
  213. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  214. Axes -> False,
  215. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  216. PlotPoints -> 50],
  217. ParametricPlot3D[
  218. (1 - t) {1, Sin[2 \[Pi] u + \[Pi]], -Cos[2 \[Pi] u + \[Pi]]}
  219. + t {1,
  220. 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1},
  221. {u, 0, 1},
  222. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  223. Axes -> False,
  224. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  225. PlotPoints -> 50],
  226. Graphics3D[{Red,
  227. Line[{(1 - t) {-1, 0, 1} + t {-1, 0, -0.5},
  228. (1 - t) {1, 0, 1} + t {1, 0, -0.5}}],
  229. Arrow[{(1 - t) {-1, 0, 1} + t {-1, 0, -0.5},
  230. (1 - t) {0, 0, 1} + t {0, 0, -0.5}}],
  231. Blue,
  232. Arrow[{
  233. (1 - t) {1, Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  234. t {1, 0.5 Sin[
  235. 2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1},
  236. (1 - t) {1,
  237. Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  238. 0.01 (D[{1, Sin[2 \[Pi] s + \[Pi]], Cos[2 \[Pi] s + \[Pi]]},
  239. s] /. s -> 0)
  240. +
  241. t {1, 0.5 Sin[
  242. 2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1} +
  243. 0.01 (D[{1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  244. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}],
  245. Arrow[{
  246. (1 - t) {-1,
  247. Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  248. t {-1, 0.5 Sin[
  249. 2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1},
  250. (1 - t) {-1,
  251. Sin[2 \[Pi] 0 + \[Pi]], -Cos[2 \[Pi] 0 + \[Pi]]} +
  252. 0.01 (D[{-1, Sin[2 \[Pi] s + \[Pi]], Cos[2 \[Pi] s + \[Pi]]},
  253. s] /. s -> 0)
  254. +
  255. t {-1, 0.5 Sin[
  256. 2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1} +
  257. 0.01 (D[{-1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  258. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}]
  259. }]
  260. }, ViewPoint -> {1, 1, 1}],
  261.  
  262. 14 <= tt < 15,
  263. t := tt - 14;
  264. Show[{
  265. ParametricPlot3D[
  266. {v, 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1},
  267. {u, 0, 1}, {v, -1, 1},
  268. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  269. Boxed -> False, Axes -> False,
  270. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  271. PlotPoints -> 50],
  272. ParametricPlot3D[
  273. {-1, 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1},
  274. {u, 0, 1},
  275. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  276. Axes -> False,
  277. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  278. PlotPoints -> 50],
  279. ParametricPlot3D[
  280. {1, 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1},
  281. {u, 0, 1},
  282. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  283. Axes -> False,
  284. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  285. PlotPoints -> 50],
  286. Graphics3D[{Red,
  287. Line[{{-1, 0, -0.5},
  288. {1, 0, -0.5}}],
  289. Arrow[{{-1, 0, -0.5},
  290. {0, 0, -0.5}}],
  291. Blue,
  292. Arrow[{
  293. {1,
  294. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1},
  295. {1,
  296. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] -
  297. 1} + 0.01 (D[{1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  298. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}],
  299. Arrow[{
  300. {-1,
  301. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1},
  302. {-1,
  303. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] -
  304. 1} + 0.01 (D[{-1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  305. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}]
  306. }]
  307. }, ViewPoint -> {1, 1, 1}],
  308.  
  309. 15 <= tt < 16,
  310. t := tt - 15;
  311. Show[{
  312. ParametricPlot3D[
  313. (1 - t) {v,
  314. 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1}
  315. + t {Cos[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  316. 0.5 Sin[2 \[Pi] u + \[Pi]],
  317. Sin[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  318. {u, 0, 1}, {v, -1, 1},
  319. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  320. Boxed -> False, Axes -> False,
  321. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  322. PlotPoints -> 50],
  323. ParametricPlot3D[
  324. (1 - t) {-1,
  325. 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1}
  326. + t {Cos[\[Pi] (-1)/2 - \[Pi]/2] (1 +
  327. 0.5 Cos[2 \[Pi] u + \[Pi]]),
  328. 0.5 Sin[2 \[Pi] u + \[Pi]],
  329. Sin[\[Pi] (-1)/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  330. {u, 0, 1},
  331. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  332. Axes -> False,
  333. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  334. PlotPoints -> 50],
  335. ParametricPlot3D[
  336. (1 - t) {1,
  337. 0.5 Sin[2 \[Pi] u + \[Pi]], -0.5 Cos[2 \[Pi] u + \[Pi]] - 1}
  338. + t {Cos[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  339. 0.5 Sin[2 \[Pi] u + \[Pi]],
  340. Sin[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  341. {u, 0, 1},
  342. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  343. Axes -> False,
  344. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  345. PlotPoints -> 50],
  346. ParametricPlot3D[
  347. (1 - t) {v, 0, -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1}
  348. + t {Cos[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  349. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  350. Sin[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  351. {v, -1, 1}, PlotStyle -> Directive[Red]],
  352. Graphics3D[{Red,
  353. Arrow[{{-0.01, 0, -0.5},
  354. {0, 0, -0.5}}],
  355. Blue,
  356. Arrow[{
  357. (1 - t) {1,
  358. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1}
  359. + t {Cos[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  360. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  361. Sin[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  362. (1 - t) {1,
  363. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1}
  364. + t {Cos[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  365. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  366.  
  367. Sin[\[Pi] /2 - \[Pi]/2] (1 +
  368. 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  369. 0.01 (D[{1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  370. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}],
  371. Arrow[{
  372. (1 - t) {-1,
  373. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1}
  374. +
  375. t {Cos[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  376. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  377. Sin[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  378. (1 - t) {-1,
  379. 0.5 Sin[2 \[Pi] 0 + \[Pi]], -0.5 Cos[2 \[Pi] 0 + \[Pi]] - 1}
  380. +
  381. t {Cos[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  382. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  383.  
  384. Sin[-\[Pi] /2 - \[Pi]/2] (1 +
  385. 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  386. 0.01 (D[{-1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  387. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}]
  388. }]
  389. }, ViewPoint -> {1, 1, 1}],
  390.  
  391. 16 <= tt < 17,
  392. t := tt - 16;
  393. Show[{
  394. ParametricPlot3D[
  395. (1 -
  396. t) {Cos[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  397. 0.5 Sin[2 \[Pi] u + \[Pi]],
  398. Sin[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])}
  399. + t {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  400. 0.5 Sin[2 \[Pi] u + \[Pi]],
  401. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  402. {u, 0, 1}, {v, -1, 1},
  403. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  404. Boxed -> False, Axes -> False,
  405. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  406. PlotPoints -> 50],
  407. ParametricPlot3D[
  408. (1 -
  409. t) {Cos[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  410. 0.5 Sin[2 \[Pi] u + \[Pi]],
  411. Sin[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])}
  412. + t {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  413. 0.5 Sin[2 \[Pi] u + \[Pi]],
  414. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  415. {u, 0, 1},
  416. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  417. Axes -> False,
  418. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  419. PlotPoints -> 50],
  420. ParametricPlot3D[
  421. (1 - t) {Cos[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  422. 0.5 Sin[2 \[Pi] u + \[Pi]],
  423. Sin[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])}
  424. + t {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  425. 0.5 Sin[2 \[Pi] u + \[Pi]],
  426. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  427. {u, 0, 1},
  428. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  429. Axes -> False,
  430. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  431. PlotPoints -> 50],
  432. ParametricPlot3D[
  433. (1 -
  434. t) {Cos[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  435. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  436. Sin[\[Pi] v/2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])}
  437. + t {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  438. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  439. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  440. {v, -1, 1}, PlotStyle -> Directive[Red]],
  441. Graphics3D[{Red,
  442. Arrow[{{-0.01, 0, -0.5},
  443. {0, 0, -0.5}}],
  444. Blue,
  445. Arrow[{
  446. (1 -
  447. t) {Cos[\[Pi] /2 - \[Pi]/2] (1 +
  448. 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  449. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  450. Sin[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])}
  451. + t {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  452. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  453. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  454. (1 -
  455. t) {Cos[\[Pi] /2 - \[Pi]/2] (1 +
  456. 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  457. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  458. Sin[\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])}
  459. + t {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  460. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  461. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  462. 0.01 (D[{1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  463. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}],
  464. Arrow[{
  465. (1 -
  466. t) {Cos[-\[Pi] /2 - \[Pi]/2] (1 +
  467. 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  468. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  469. Sin[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])}
  470. + t {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  471. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  472. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  473. (1 -
  474. t) {Cos[-\[Pi] /2 - \[Pi]/2] (1 +
  475. 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  476. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  477. Sin[-\[Pi] /2 - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])}
  478. + t {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  479. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  480. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  481. 0.01 (D[{-1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  482. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}]
  483. }]
  484. }, ViewPoint -> {1, 1, 1}],
  485.  
  486. 17 <= tt < 18,
  487. t := tt - 17;
  488. Show[{
  489. ParametricPlot3D[
  490. {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  491. 0.5 Sin[2 \[Pi] u + \[Pi]],
  492. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  493. {u, 0, 1}, {v, -1, 1},
  494. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  495. Boxed -> False, Axes -> False,
  496. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  497. PlotPoints -> 50],
  498. ParametricPlot3D[
  499. {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  500. 0.5 Sin[2 \[Pi] u + \[Pi]],
  501. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  502. {u, 0, 1},
  503. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  504. Axes -> False,
  505. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  506. PlotPoints -> 50],
  507. ParametricPlot3D[
  508. {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  509. 0.5 Sin[2 \[Pi] u + \[Pi]],
  510. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  511. {u, 0, 1},
  512. PlotStyle -> Directive[Blue, Opacity[1]], Boxed -> False,
  513. Axes -> False,
  514. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  515. PlotPoints -> 50],
  516. ParametricPlot3D[
  517. {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  518. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  519. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  520. {v, -1, 1}, PlotStyle -> Directive[Red]],
  521. Graphics3D[{Red,
  522. Arrow[{{-0.01, 0, -0.5},
  523. {0, 0, -0.5}}],
  524. Blue,
  525. Arrow[{
  526. {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  527. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  528. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  529. {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  530. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  531. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  532. 0.01 (D[{1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  533. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}],
  534. Arrow[{
  535. {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  536. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  537. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  538. {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  539. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  540. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  541. 0.01 (D[{-1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  542. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}]
  543. }]
  544. }, ViewPoint -> {1, 1, 1}],
  545.  
  546. 18 <= tt < 19,
  547. t := tt - 18;
  548. Show[{
  549. ParametricPlot3D[
  550. {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  551. 0.5 Sin[2 \[Pi] u + \[Pi]],
  552. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  553. {u, 0, 1}, {v, -1, 1},
  554. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  555. Boxed -> False, Axes -> False,
  556. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  557. PlotPoints -> 50],
  558. ParametricPlot3D[
  559. {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  560. 0.5 Sin[2 \[Pi] u + \[Pi]],
  561. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  562. {u, 0, 1},
  563. PlotStyle -> Directive[Blue, Opacity[1 - t]], Boxed -> False,
  564. Axes -> False,
  565. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  566. PlotPoints -> 50],
  567. ParametricPlot3D[
  568. {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  569. 0.5 Sin[2 \[Pi] u + \[Pi]],
  570. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  571. {u, 0, 1},
  572. PlotStyle -> Directive[Blue, Opacity[1 - t]], Boxed -> False,
  573. Axes -> False,
  574. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  575. PlotPoints -> 50],
  576. ParametricPlot3D[
  577. {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  578. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  579. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  580. {v, -1, 1}, PlotStyle -> Directive[Red, Opacity[1 - t]]],
  581. Graphics3D[{Opacity[1 - t], Red,
  582. Arrow[{{-0.01, 0, -0.5},
  583. {0, 0, -0.5}}],
  584. Blue,
  585. Arrow[{
  586. {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  587. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  588. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  589. {Cos[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  590. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  591. Sin[\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  592. 0.01 (D[{1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  593. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}],
  594. Arrow[{
  595. {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  596. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  597. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])},
  598. {Cos[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]]),
  599. 0.5 Sin[2 \[Pi] 0 + \[Pi]],
  600. Sin[-\[Pi] - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] 0 + \[Pi]])} +
  601. 0.01 (D[{-1, 0.5 Sin[2 \[Pi] s + \[Pi]] - 1,
  602. 0.5 Cos[2 \[Pi] s + \[Pi]] - 1}, s] /. s -> 0)}]
  603. }]
  604. }, ViewPoint -> {1, 1, 1}],
  605.  
  606. 20 <= tt <= 26,
  607. t := (tt - 20)/6;
  608. Show[{
  609. ParametricPlot3D[
  610. Dot[{{Cos[-2 \[Pi] t], -Sin[-2 \[Pi] t], 0}, {Sin[-2 \[Pi] t],
  611. Cos[-2 \[Pi] t], 0}, {0, 0,
  612. 1}}, {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  613. 0.5 Sin[2 \[Pi] u + \[Pi]],
  614. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])}],
  615. {u, 0, 1}, {v, -1, 1},
  616. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  617. Boxed -> False, Axes -> False,
  618. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  619. PlotPoints -> 50]
  620. }, ViewPoint -> {1, 1, 1}],
  621. 19 <= tt < 20,
  622. t := tt - 19;
  623. Show[{
  624. ParametricPlot3D[
  625. {Cos[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]]),
  626. 0.5 Sin[2 \[Pi] u + \[Pi]],
  627. Sin[\[Pi] v - \[Pi]/2] (1 + 0.5 Cos[2 \[Pi] u + \[Pi]])},
  628. {u, 0, 1}, {v, -1, 1},
  629. PlotStyle -> Directive[Yellow, Opacity[0.7]], Mesh -> False,
  630. Boxed -> False, Axes -> False,
  631. PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 1.5}},
  632. PlotPoints -> 50]
  633. }, ViewPoint -> {1, 1, 1}]
  634. ]
  635.  
  636. Animate[
  637. MyFrame[f],
  638. {f, 0, 26}, AnimationRate -> 1]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement