所以我想创建一个等边三角形的动画,这个三角形固定在一个圆心上,它的三个顶点在一个圆上,当它旋转时,它会以随机的方式连续改变颜色。
到目前为止,我有:
Animate[Graphics[{Hue[RandomReal[]],
Triangle[{{-1/2 - Cos[i], 0 - 1/2 Tan[i]}, {1/2 - Cos[i],
0 - 1/2 Tan[i]}, {0 - Cos[i], 3^(1/2)/2 - 1/2 Tan[i]}}]}], {i,
0, 2*Pi}]
输出我希望:
我希望知道我做错了什么,以及如何修复我的代码才能正常工作。
答案 0 :(得分:0)
以下是使用Rotate
c = RegionCentroid[SSSTriangle[1, 1, 1]];
Animate[Graphics[{Hue[RandomReal[]],
Rotate[SSSTriangle[1, 1, 1], i, c]},
PlotRange -> {{c[[1]] - 2/3, c[[1]] + 2/3}, {c[[2]] - 2/3,
c[[2]] + 2/3}}], {i, 0, 2 Pi}]
原始问题是你的公式完全错了。这很有效。
Animate[Graphics[{Hue[RandomReal[]],
Triangle[{{Sin[i], Cos[i]}, {Sin[i + 2 Pi/3],
Cos[i + 2 Pi/3]}, {Sin[i + 4 Pi/3], Cos[i + 4 Pi/3]}}]},
PlotRange -> {{-3/2, 3/2}, {-3/2, 3/2}}], {i, 0, 2 Pi}]
答案 1 :(得分:-1)
很好的解决方法是processing.org 您可以创建动画,轻松上网。