Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの葉序パターン?


葉序パターンとは何ですか?

戻ってみると、植物学のクラスや植物の世界では、葉序とは、フィボナッチスパイラルに見られるものと同様に、植物の茎に花、葉、または種子を配置することを意味します。フィボナッチ数列に基づくフィボナッチスパイラルは、パスカルの三角形に似たパターンに従う数字のセットです。フィボナッチ数列は-1、1、2、3、5、8、13、21、34、55、89、144などのようなものです。したがって、フィボナッチ数列は以前の数の合計です。

>

フィボナッチスパイラル

私たちは通常、私たちの周りのオブジェクトを理解するために対称性とパターンを探します。気付かないうちに、私たちの目はフィボナッチ数列、またはヒマワリの頭の場合はフィボナッチ数列を見ています。

解決策

Pythonの葉序パターン?


Pythonの葉序パターン?

ひまわりスパイラル

サンプルコード

import math
import turtle

def PhyllotacticPattern( t, petalstart, angle = 137.508, size = 2, cspread = 4 ):
   """print a pattern of circles using spiral phyllotactic data"""
   # initialize position
   turtle.pen(outline=1,pencolor="black",fillcolor="orange")
   # turtle.color("orange")
   phi = angle * ( math.pi / 180.0 )
   xcenter = 0.0
   ycenter = 0.0

   # for loops iterate in this case from the first value until < 4, so
   for n in range (0,t):
      r = cspread * math.sqrt(n)
      theta = n * phi

      x = r * math.cos(theta) + xcenter
      y = r * math.sin(theta) + ycenter

      # move the turtle to that position and draw
      turtle.up()
      turtle.setpos(x,y)
      turtle.down()
      # orient the turtle correctly
      turtle.setheading(n * angle)
      if n > petalstart-1:
         #turtle.color("yellow")
         drawPetal(x,y)
      else: turtle.stamp()

def drawPetal( x, y ):
   turtle.up()
   turtle.setpos(x,y)
   turtle.down()
   turtle.begin_fill()
   #turtle.fill(True)
   turtle.pen(outline=1,pencolor="black",fillcolor="yellow")
   turtle.right(25)
   turtle.forward(100)
   turtle.left(45)
   turtle.forward(100)
   turtle.left(140)
   turtle.forward(100)
   turtle.left(45)
   turtle.forward(100)
   turtle.up()
   turtle.end_fill() # this is needed to complete the last petal

turtle.shape("turtle")
turtle.speed(0) # make the turtle go as fast as possible
PhyllotacticPattern( 200, 160, 137.508, 4, 10 )
turtle.exitonclick() # lets you x out of the window when outside of idle

解決策

Pythonの葉序パターン?

上記のプログラムを少し変更すると、結果が次のように置き換えられる可能性があります(カスタムカラーを指定し、いくつかの値を変更します):

Pythonの葉序パターン?


  1. Pythonでパターンを印刷する方法は?

    Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが

  2. Pythonでのタートルプログラミング

    カメはPythonの特別な羽です。 Turtleを使用すると、簡単に製図板に描くことができます。 まず、タートルモジュールをインポートします。次にウィンドウを作成し、次にタートルオブジェクトを作成し、タートルメソッドを使用して製図板に描画できます。 いくつかのカメの方法 方法 パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成して返します forward() 金額 指定された量だけカメを前進させます backward() 金額 指定された量だけカメを後方に動かします right() 角度 カメを時計回りに回転させます left() 角