Stats

Popular Posts

Followers

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}]]


Tags: , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~