Mathematica 教學 How to fill regions in ParametricPlot?
由 戴忠淵 於 2010年6月30日星期三
下午1:41 發表
Usage:
Graphics[{color,Polygon@Flatten[ParametricPlot[#,domain][[1,1,3,2,1]]&/@{function1,function2,.....},1]}]
Example:
Graphics[Polygon@Flatten[ParametricPlot[#,{t,0,\[Pi]}][[1,1,3,2,1]]&/@{{0.5+(1-0.5)*Cos[t], (0.5-1)*Sin[t]},{-0.5+(1-0.5)*Cos[t],(1-0.5)*Sin[t]}, {Cos[t],Sin[t]}},1]]
Show[
Graphics[Polygon@Flatten[ParametricPlot[#,{t,0,\[Pi]}][[1,1,3,2,1]]&/@{{0.5+(1-0.5)*Cos[t],(0.5-1)*Sin[t]}, {-0.5+(1-0.5)*Cos[t],(1-0.5)*Sin[t]}, {Cos[t],Sin[t]}},1]],
ParametricPlot[{0.5+0.25Cos[t],0.25Sin[t]},{t,0,2\[Pi]}],
ParametricPlot[{Cos[t],Sin[t]},{t,0,2\[Pi]}],
Graphics[Polygon@ParametricPlot[{-0.5-0.1Cos[t],0.1Sin[t]},{t,0,2\[Pi]}][[1,1,3,2,1]]],
Graphics[{White,Polygon@ParametricPlot[{0.5+0.1Cos[t],0.1Sin[t]},{t,0,2\[Pi]}][[1,1,3,2,1]]}]]
(*transformation matrix*)
tm[x_]:={{Cos[x],Sin[x]},{-Sin[x],Cos[x]}}
Animate[Show[
Graphics[Polygon@Flatten[ParametricPlot[#.tm[x],{t,0,\[Pi]}][[1,1,3,2,1]]&/@{
{0.5+(1-0.5)*Cos[t],(0.5-1)*Sin[t]}, {-0.5+(1-0.5)*Cos[t],(1-0.5)*Sin[t]},
{Cos[t],Sin[t]}},1]],
ParametricPlot[{0.5+0.25Cos[t],0.25Sin[t]}.tm[x],{t,0,2\[Pi]}],
ParametricPlot[{Cos[t],Sin[t]},{t,0,2\[Pi]}],
Graphics[Polygon@ParametricPlot[{-0.5-0.1Cos[t],0.1Sin[t]}.tm[x],{t,0,2\[Pi]}][[1,1,3,2,1]]],
Graphics[{White,Polygon@ParametricPlot[{0.5+0.1Cos[t],0.1Sin[t]}.tm[x],{t,0,2\[Pi]}][[1,1,3,2,1]]}]],
{x,2Pi,0}]
Export["~/test.gif",
Table[(x=i*Pi/20;
Show[Graphics[
Polygon@Flatten[ParametricPlot[#.tm[x],{t,0,\[Pi]}][[1,1,3,2,1]]&/@{
{0.5+(1-0.5)*Cos[t],(0.5-1)*Sin[t]},{-0.5+(1-0.5)*Cos[t],(1-0.5)*Sin[t]},
{Cos[t],Sin[t]}},1]],
ParametricPlot[{0.5+0.25Cos[t],0.25Sin[t]}.tm[x],{t,0,2\[Pi]}],
ParametricPlot[{Cos[t],Sin[t]},{t,0,2\[Pi]}],
Graphics[Polygon@ParametricPlot[{-0.5-0.1Cos[t],0.1Sin[t]}.tm[x],{t,0,2\[Pi]}][[1,1,3,2,1]]],
Graphics[{White,Polygon@ParametricPlot[{0.5+0.1Cos[t],0.1Sin[t]}.tm[x],{t,
0,2\[Pi]}][[1,1,3,2,1]]}]]),
{i,40,0,-1}]]
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~