ベクトル/矢印で円をグラフ化する

Aug 20 2020

どうすればいいのかわからないという質問があります。

2つの円を作成することは問題ではありませんが、手順2の進め方に固執しています。サポートをお願いします。

a)元の点を中心とする2つの円。1つは半径2の赤色で、もう1つは半径3の青色です。

b)2セットのベクトル。1つは元の点から点(2cos(x)、2sin(x))までのベクトルで構成されます。xはπ/ 16の間隔で0から2πの範囲であり、もう1つは点(3cos(x)、3sin(x))から点(2cos(x)、2sin(x))まで、xはπ/ 16の間隔で0から2πの範囲です。注:2セットのすべてのベクトルは赤で表示されます。結果は次のページの図と同じになるはずです

必要です。

回答

4 kglr Aug 20 2020 at 07:24
divs = Transpose @ Through @ {Cos, Sin} @ Subdivide[0, 2 Pi, 32];

{r1, r2} = {2, 3};

Graphics[{Thick, Blue, Circle[{0, 0}, r2], Red, Circle[{0, 0}, r1], 
  Thin, Arrowheads[{{-.05, r1/r2}, {.05, r1/r2}}], Arrow[{{0, 0}, r2 #}] & /@ divs}, 
 PlotRangePadding -> Scaled[.08], 
 ImagePadding -> 40, 
 AxesStyle -> Directive[14, Black, Arrowheads[.05]], 
 Axes -> True,
 AxesLabel -> (Style[#, 16] & /@ {"x", "y"}), 
 Background -> RGBColor[0.8354, 0.8, 0.6315], 
 ImageSize -> Large]