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

Pythonのバーンズリーのシダ


このチュートリアルでは、バーンズリーのシダについて学習します。 、 Michael Barnsleyによって作成されました 。 バーンズリーのシダの機能 シダに似ています 形。これは、反復関数システム(IFS)として知られる4つの数式を反復処理することによって作成されます。 。変換には次の式があります。

f(x、y)=$$ \ begin {bmatrix} a&b \\ c&d \ end {bmatrix} \ begin {bmatrix} x \\ y \ end {bmatrix} + \ begin {bmatrix} e \\ f \ end {bmatrix} $$

出典-ウィキペディア

変数の値は-

です。

Pythonのバーンズリーのシダ

出典-ウィキペディア

バーンズリーのシダが提案した4つの方程式は-

Pythonのバーンズリーのシダ

出典-ウィキペディア

ここで、 Pythonでシダの形を作成するコードを確認します。 。

# importing matplotlib module for the plot
import matplotlib.pyplot as plot
# importing random module to generate random integers for the plot
import random
# initialising the lists
x = [0]
y = [0]
# initialising a variable to zero to track position
current = 0
for i in range(1, 1000):
   # generating a random integer between 1 and 100
   z = random.randint(1, 100)
   # checking the z range and appending corresponding values to x and y
   # appending values to the x and y
   if z == 1:
      x.append(0)
      y.append(0.16 * y[current])
   if z >= 2 and z <= 86:
      x.append(0.85 * x[current] + 0.04 * y[current])
      y.append(-0.04 * x[current] + 0.85 * y[current] +1.6)
   if z>= 87 and z<= 93:
      x.append(0.2 * x[current] - 0.26 * y[current])
      y.append(0.23 * x[current] + 0.22*(y[current])+1.6)
   if z >= 94 and z <= 100:
      x.append(-0.15 * x[current] + 0.28 * y[current])
      y.append(0.26 * x[current] + 0.24 * y[current] + 0.44)
   # incrementing the current value
   current += 1
# plotting the graph using x and y
plot.scatter(x, y, s = 0.2, edgecolor = 'green')
plot.show()
を使用してグラフを作成します。

出力

上記のコードを実行すると、次の結果が得られます。

Pythonのバーンズリーのシダ

結論

チュートリアルに疑問がある場合は、コメントセクションでそれらについて言及してください。参照-ウィキペディア


  1. Pythonのissuperset()

    この記事では、Pythonでのissuperset()と、さまざまな分野でのその実装について学習します。 このメソッドは、セットBのすべての要素に引数として渡されるすべての要素セットAが含まれている場合はブール値Trueを返し、Aのすべての要素がBに存在しない場合はfalseを返します。 これは、BがAのスーパーセットである場合、それを意味します returns true; else False 例 いくつかの例を見てみましょう A = {'t','u','t','o','r','i',

  2. PythonでのQuine

    Quineは、入力を受け取らないプログラムですが、出力を生成します。独自のソースコードが表示されます。さらに、Quineにはいくつかの条件があります。プログラム内でソースコードファイルを開くことができません。 サンプルコード a=a=%r;print (a%%a);print (a%a) 出力 a=a=%r;print (a%%a);print (a%a) このクワインはどのように機能していますか? ここでは、単純な文字列フォーマットが機能しています。変数「a」を定義し、a内に「a =%r; print(a %% a)」を格納します。次に、aの値を出力し、%rをaの値に置き換