LoginSignup
0
0

More than 1 year has passed since last update.

素数の螺旋を描いてみる

Last updated at Posted at 2021-12-20

素数の螺旋といえば、ウラムの螺旋というのがありますが、素数の螺旋を3次元グラフで描いてみました。

div-100.png

0. 螺旋を描いてみる

ひとまず、素数は赤、素数でなければ青で描いています。目印として、1と2は大きめのマークにしています。

最初のグラフは次のプログラムで1周を100等分で描いています。

# prime number spiral

import math
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sympy import isprime

fig = plt.figure(figsize = (8, 8))
ax = fig.add_subplot(1,1,1, projection='3d')

ax.set_xlabel("x", size = 14, color = "r")
ax.set_ylabel("y", size = 14, color = "r")
ax.set_zlabel("z", size = 14, color = "r")

ax.set_xticks([-1.0, -0.5, 0.0, 0.5, 1])
ax.set_yticks([-1.0, -0.5, 0.0, 0.5, 1])

pi2 = math.pi * 2

x = []
y = []
z = []
colors = []
sizes = []

div = 100

high = 0
for n in range(1,300):
  high += 10

  if n <= 2:
    size = 50
  else:
    size = 5

  if isprime(n):
    color = "red"
  else:
    color = "blue"

  x += [math.sin(pi2 * (n / div))]
  y += [math.cos(pi2 * (n / div))]
  z += [high]

  colors += [color]
  sizes += [size]

# plot
ax.scatter(x, y, z, s = sizes, c = colors)
plt.show()

1. 10等分で描いてみる

分割数(div)を10にして描いてみました。

div-10.png

1の縦軸は、素数だったり素数ぢゃなかったり。
2の縦軸は、2だけですね。まあ、偶数は2の倍数だからしょーがない。
3の縦軸は、素数だったり素数ぢゃななったり。
4の縦軸は、素数がないですね。4は2の倍数なのでしょーがないか。
5の縦軸は、5だけですね。
6の縦軸は、4と同じで素数がないですね。まあ、2や3の倍数ですからね。
7の縦軸は、そこそこ素数があったり、なかったり。
8の縦軸は、ない!
9も縦軸も、そこそこ素数があったり、なかったり。
10の縦軸も、ない!みなまで言うな。分かってるって。

2. 6等分で描いてみる

分割数(div)を6にして描いてみました。
マークがギュウギュウなので、100までにしました。

div-6.png

なんで6なのって? 2 x 3 は 6だからです。テキトー。

なんか素数が仲良く集まってきた感じ。

1の縦軸と5の縦軸にほとんどの素数が集まってきています。
2の縦軸と3の縦軸なんて、2と3だけぢゃん。

あえて、式風にしてみると、だいたい 6n+1 と 6n+5 に集まりやすい?

3. 3等分で描いてみる

分割数(div)を3にして描いてみました。

div-3.png

6等分でそれっぽく集まってきたので半分の3等分にしてみました。

1の縦軸と2の縦軸には素数が集まってきていますが、3の縦軸なんて3しかない。

もいちど、式風にしてみると、だいたい 3n + 1 と 3n + 2 に集まりやすい。

4. 考察?

素数を螺旋で描いてみましたが、素数と円周率って相性が良かったりする?

ひょっとして、何か見つけちゃったかも?

え!みんな知ってった!!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0