円上の点
関数CirclePointsは円上に等しく分布した点の座標を返す.以下は,グラフィックスプリミティブと組み合せてどのようなことができるかの例である.
円上で等距離にある7つの点を指す矢印を描画する.
In[1]:=
![Click for copyable input](assets.ja/points-on-a-circle/In_61.png)
Graphics[Arrow[{{0, 0}, #}] & /@ CirclePoints[7]]
Out[1]=
![](assets.ja/points-on-a-circle/O_52.png)
八角形の頂点のそれぞれに,三角形から十角形までの8個の正多角形を順に置く.
In[2]:=
![Click for copyable input](assets.ja/points-on-a-circle/In_62.png)
Graphics[MapIndexed[RegularPolygon[#1, 0.25, First@#2 + 2] &,
CirclePoints[8]]]
Out[2]=
![](assets.ja/points-on-a-circle/O_53.png)
CirclePointsとBezierCurveを組み合せる.
In[3]:=
![Click for copyable input](assets.ja/points-on-a-circle/In_63.png)
Graphics[{
BezierCurve[{{0, 0}, ##, {2, 0}}],
BezierCurve[{{0, 0}, ##, {0, 2}}],
BezierCurve[{{0, 0}, ##, {-2, 0}}],
BezierCurve[{{0, 0}, ##, {0, -2}}]
} & /@ CirclePoints[32]
]
Out[3]=
![](assets.ja/points-on-a-circle/O_54.png)
In[4]:=
![Click for copyable input](assets.ja/points-on-a-circle/In_64.png)
Graphics[Table[
Rotate[BezierCurve[{{0, 0}, #, {1, 0}}] & /@ CirclePoints[8],
i], {i, 0, 2 Pi, Pi/16}]]
Out[4]=
![](assets.ja/points-on-a-circle/O_55.png)