実験は、ダイヤモンドパターンを描きます

MFC VS2019に基づいて、完了コード。

一度作成された、OnDrawに以下の改変にのみ()関数を使用することができます。

フォームの機能を達成するために必要な教師が、その後私はガチョウではありませんので、私は得ることができません。

1つの 空隙 CTestView :: OnDraw(CDC * PDC)
 2  {
 3      CTestDoc * PDOC = のgetDocument();
4      ASSERT_VALID(PDOC)。
5      // TODO:ここでネイティブ・データのためのドローコードを追加
6      
7      CPointのP [ 32 ]。
8      ダブル R = 400 9      int型I、J。
10      
11      pDC->楕円(00INT(R * 2)、INT(R * 2 ))。
12  
13      のための(I =0 ; I < 30 ; Iは++ 14      {
 15          P [I] .X = R&LT * COS(I *は3.14 / 15)+ R&LT; //は正五角形の頂点計算
16          P [I]・Y * = R&LTのSiNを(私は* 3.14 / 15 +)、R&LT;
 17      }
 18れている     
19。     ための(I = 0 ;私は< 30 ; Iは++ 20である         ため(J = 0 ; J < 30 ; J ++ 21である         {
 22は             IF(!I = J)
 23れます             {
 24                 pDC-> のMoveTo(P [i]の.X、P [I] .Y)。
25                  pDC-> LINETO(P [J] .X、P [J] .Y)。
26              }
 27          }
 28  
29 }

 

もちろん、私はまた、Pythonで実装され、そして一緒に出します。(Pythonウィンドウ関数はああああああああああ、良いトラブルを達成するために)

1つの #のダイヤモンド手順
2  
。3  インポートAS NP numpyの
 4  インポートPLT AS matplotlib.pyplot
 。5  から pylab インポート *
 6  
。7 R&LT = 300 半径
8 number_point = 30 分割点の数
。9  
10図(figsize =(8,8)、 = 80 DPI 。11 TEMPのnp.linspace =(0、2 * np.pi 1000 12であり、 X-np.sin =(TEMP)* R&LT
 13である Y = np.cos(TEMP)* R&LT
 14プロット(X、Y、線幅として= 1.0、をlineStyle = ' ' 15  
16 X = []
 17、Y = []
 18  のための I における範囲(number_point):
 19    x.append(R * np.sin(iは* 2 * PI / number_point))
 20    y.append(R * np.cos (私は2 * PI / * )number_point)を
 21  
22  のために:範囲(number_point)
 23    のための J :範囲(number_point)
 24      場合!(I = :J)
 25        plt.plot([X [i]は、X [J]、[Y [i]は、Y [J])
 26  
27表示()

Pythonは本当に素敵な絵画図であります

 

おすすめ

転載: www.cnblogs.com/amtop/p/10960704.html