🔥
ピックの定理 3次元版 四面体の体積と格子点
四面体の体積と格子点について
4つの面の方程式を求めると,
In [1]:
f(x,y,z)=x+2y-2z
g(x,y,z)=x-y+z
h(x,y,z)=-x+25y-16z
j(x,y,z)=-x-20y+11z+9
Out[1]:
j (generic function with 1 method)
四面体の重心は四面体の内部なので,この座標を調べて領域を考える。
この点が,正領域なのか負領域なのか調べ,四面体の内部を表す連立不等式を作る。
In [2]:
O=[0,0,0];A=[2,2,3];B=[0,1,1];C=[-3,5,8];(O + A + B + C) /4
Out[2]:
3-element Array{Float64,1}:
-0.25
2.0
3.0
In [3]:
f(-1/4,2,3)
Out[3]:
-2.25
In [4]:
g(-1/4,2,3)
Out[4]:
0.75
In [5]:
h(-1/4,2,3)
Out[5]:
2.25
In [6]:
j(-1/4,2,3)
Out[6]:
2.25
格子点と体積の関係は以下の通りである。
-
は境界上の格子点の数 -
は境界上の 格子点の数 -
は内部の格子点の数 -
は内部の 格子点の数 -
は体積
In [7]:
function koushi()
b=0;d=0;
for i=0:16
for k=-6:4
for l=0:10
if f(k/2,l/2,i/2)<0 && g(k/2,l/2,i/2)>0 && h(k/2,l/2,i/2)>0 && j(k/2,l/2,i/2)>0
d += 1
elseif f(k/2,l/2,i/2)<=0 && g(k/2,l/2,i/2)>=0 && h(k/2,l/2,i/2)>=0 && j(k/2,l/2,i/2)>=0
b +=1
end
end
end
end
a=0;c=0;
for i=0:8
for k=-3:2
for l=0:5
if f(k,l,i)<0 && g(k,l,i)>0 && h(k,l,i)>0 && j(k,l,i)>0
c += 1
elseif f(k,l,i)<=0 && g(k,l,i)>=0 && h(k,l,i)>=0 && j(k,l,i)>=0
a +=1
end
end
end
end
println(a)
println(b)
println(c)
println(d)
v=-1/6 *a+1/12 *b-1/3 *c+1/6 *d
end
koushi()
5
14
2
11
Out[7]:
1.5
結果は
- 境界上の格子点の数
- 境界上の
格子点の数 - 内部の格子点の数
- 内部の
格子点の数 - 体積
Discussion