1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

楕円の格子点と面積について

Last updated at Posted at 2025-10-18

はじめに

平面直交座標系において領域内部の格子点と面積は、正の相関があるように感じられる。つまり、歪な形状でなければ大きい領域程よりより多くの格子点を含んでいる。また、その比率は面積が大きくなるほど1に近づくと推測ができる。そこで今回は題材として楕円を用いる。具体的には、楕円内部の格子点の個数と面積の比がどのような関係性を持っているかを確認する。

SL.png

楕円の格子点と面積の極限について.png

問題

$\frac{x^2}{a^2}+\frac{y^2}{b^2}=1$内部の格子点と面積の比率が、$a,b$を変化させたときどのようになるか考察したい。そこで、対称性より楕円の$x>0,y>0$部分で考え、$b$を固定した際、$a\to\infty$における格子点と面積の比率の極限を求める。

解答

題意の領域の面積は、$S=\frac{\pi ab}{4}$である。ここで、格子点の個数は以下のように表すことができる。

L=\sum_{k=1}^{a}[\frac{b}{a}\sqrt{a^2-x^2}]

ただし、記号$[x]はガウス記号であり、$$m\le x< m+1$となるときの整数$m$を用いると$[x]=m$と表現される。したがって、

[x]\le x< [x]+1

となり、

x< [x]\le x+1

となる。

話を戻すと$L/S$は、

\frac{L}{S}=\sum_{k=1}^{a}[\frac{4}{\pi a^2  }\sqrt{a^2-x^2}]
\frac{L}{S}=\sum_{k=1}^{a}[\frac{4}{\pi a  }\sqrt{1-(\frac{k}{a})^2}]

となる。(頑張って区分求積法に帰着させたい)

先ほどの、ガウス記号の式より、

\frac{4}{\pi a  } \sum_{k=1}^{a}\sqrt{1-(\frac{k}{a})^2}<\frac{L}{S}\le\frac{4}{\pi a  }\sum_{k=1}^{a}\{\sqrt{1-(\frac{k}{a})^2}+1\}

ここで、

\lim_{a\to \infty}\frac{4}{\pi a  } \sum_{k=1}^{a}\sqrt{1-(\frac{k}{a})^2}=\lim_{a\to \infty}\frac{4}{\pi  }\int_{0}^{1}\sqrt{1-x^2}dx=1

したがって、はさみうちの原理より、

\lim_{a\to \infty}\frac{L}{S}=1

プログラム

楕円の格子点と面積の比を計算するプログラムを作成した。

python SL.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
from mpl_toolkits.mplot3d import Axes3D
n=100

def ellipse_SL(a,b):
    S=a*b*math.pi/4
    L=0
    a=int(a)
    for i in range(1,a):
        y=(b/a)*(a**2-i**2)**0.5
        L=L+int(y)
    return (L/S)

a_ary= np.linspace(1,n,n)
b_ary= np.linspace(1,n,n)
A,B=np.meshgrid(a_ary,b_ary)
SL=np.zeros((n,n))
for i in range(n):
    for k in range(n):
        a=a_ary[i]
        b=b_ary[k]
        sl=ellipse_SL(a,b)
        SL[i][k]=sl
##コンター図の作成
plt.xlabel("a")
plt.ylabel("b")
plt.contourf(A,B,SL,levels=10, cmap='jet')
plt.colorbar(label="L/S")
plt.savefig("楕円の格子点と面積の極限について.png")
plt.show()

##3D Plot
# 3Dサーフェスプロットを作成する。
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
surf = ax.plot_surface(A, B, SL, cmap='jet', linewidth=0)
fig.colorbar(surf)
plt.xlabel('a')
plt.ylabel('b')
plt.savefig('SL.png', dpi=300)
plt.show()

結果

以下のような画像が出力される。

SL.png

楕円の格子点と面積の極限について.png
これらのグラフから、$a,b$の双方を同時に大きくしていけば、$\frac{L}{S}$は1に近づく。
しかし、片方のみで、もう片方が小さいと$\frac{L}{S}$は小さいままである。

これは、0以上1未満には格子点は存在しないことによるものである。

まとめ

今回は、領域内部の格子点の数と面積の相関関係について調査した。具体的には、楕円形で考え形状や大きさを変化させた場合の格子点の数と面積の比を調査した。結果、両者が十分に大きければ比は1に近づくということが分かった。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?