타원구 - Ellipsoid

유경환 (Yoo, Kyung Hwan) - brainrobot@gmail.com

초점이 {α,0,β},{0,γ,0}인 3차원 타원구

zy평면에서 '타원'이고 xy평면이 '원'인 타원구

zy 평면에서 초점이 {0,0,c},{0,0,-c}, 꼭지점이 {0,0,a},{0,0,-a}, {0,b,0},{0,-b,0}인 두 초점에서 일정한 L 거리를 그린 지점 타원

xy평면에선 원 모양으로 z축을 회전 시켜 타원구를 만들수 있다.

zy평면에서 한 초점을 {0,0,0}으로 옮긴다.

초점을 z축으로 -c만큼 움직인다 . C1={0,0,0},C2={0,0,-2 c}

위 타원 모양을  yz평면에서 θ만큼 회전하고,원 모양 xy평면(φ 회전) 하다.

초점{0,0,0}을 {α,0,β}만큼 이동하면 다른 초점은 {0,γ,0} 이다.

자세한 풀이

zy평면 타원, xy 평면 z축으로 회전 → {x,y,z}

초점 - {0, 0, c}, {0, 0, -c}

꼭지점 - {0, 0, a}, {0, 0, -a}, {0, b, 0}, {0, -b, 0}

z^2/a^2 + y^2/b^2 = 1

    c = (a^2 - b^2)^(1/2)

    L = 2a = 2 (b^2 + c^2)^(1/2)

    b = ((L/2)^2 - c^2)^(1/2)

{x, y, z}

매개 변수
    {b Cos[ψ]Cos[υ],b Cos[ψ]Sin[υ],a Sin[ψ]}

[Graphics:HTMLFiles/index_8.gif]

초점을 z축으로 -c만큼 이동한다.

초점 - {0, 0, 0}, {0, 0, -2c}

(z + c)^2/a^2 + y^2/b^2 = 1

    c = (a^2 - b^2)^(1/2)

    L = 2a = 2 (b^2 + c^2)^(1/2)

    b = ((L/2)^2 - c^2)^(1/2)

{x, y, z - c}

매개 변수
    {b Cos[ψ]Cos[υ],b Cos[ψ]Sin[υ],a Sin[ψ]-c}

[Graphics:HTMLFiles/index_15.gif]

회전을 yz평면으로 θ만큼 한다.

     ({{1, 0, 0}, {0, Cos[θ], Sin[θ]}, {0, -Sin[θ], Cos[θ]}})

{x, y, z - c} . ({{1, 0, 0}, {0, Cos[θ], Sin[θ]}, {0, -Sin[θ], Cos[θ]}})

매개 변수
    {b Cos[ψ]Cos[υ],b Cos[ψ]Sin[υ],a Sin[ψ]-c}.(

1 0 0
0 Cos[θ] Sin[θ]
0 -Sin[θ] Cos[θ]
)

[Graphics:HTMLFiles/index_18.gif]

회전은 xy평면에서 φ만큼 한다.

({{Cos[φ], Sin[φ], 0}, {-Sin[φ], Cos[φ], 0}, {0, 0, 1}})

{x, y, z - c} . ({{1, 0, 0}, {0, Cos[θ], Sin[θ]}, {0, -Sin[θ], Cos[θ]}}) . ({{Cos[φ], Sin[φ], 0}, {-Sin[φ], Cos[φ], 0}, {0, 0, 1}})

매개 변수
    {b Cos[ψ]Cos[υ],b Cos[ψ]Sin[υ],a Sin[ψ]-c}.(

1 0 0
0 Cos[θ] Sin[θ]
0 -Sin[θ] Cos[θ]
).(
Cos[φ] Sin[φ] 0
-Sin[φ] Cos[φ] 0
0 0 1
)

[Graphics:HTMLFiles/index_21.gif]

초점 {0,0,0}을 {α,0,β}이동 한다.

매개 변수
    {b Cos[ψ]Cos[υ],b Cos[ψ]Sin[υ],a Sin[ψ]-c}.(

1 0 0
0 Cos[θ] Sin[θ]
0 -Sin[θ] Cos[θ]
).(
Cos[φ] Sin[φ] 0
-Sin[φ] Cos[φ] 0
0 0 1
)
+{α,0,β}

[Graphics:HTMLFiles/index_23.gif]

다른 초점이 {0,γ,0} 이다.

(-α,γ,-β) 을 이용하여 c 를 구한다.

α = 2 c Sin[θ] Sin[φ]

β = 2 c Cos[θ]

γ = 2 c Cos[φ] Sin[θ]

Sin[θ] Sin[φ] = α/(2 c)

Cos[θ] = β/(2 c)

Cos[φ] Sin[θ] = γ/(2 c)

Cos[θ]^2 + Sin[φ]^2Sin[θ]^2 + Cos[φ]^2Sin[θ]^2 = 1

(α/(2 c))^2 + (β/(2 c))^2 + (γ/(2 c))^2 = 1

∴c = (α^2 + β^2 + γ^2)^(1/2)/2

각도 θ, φ → 타원 yz(θ),원 xy(φ)

Cos[φ] = γ/(α^2 + γ^2)^(1/2) ;

Sin[φ] = α/(α^2 + γ^2)^(1/2) ;

Cos[θ] = β/(α^2 + β^2 + γ^2)^(1/2) ;

Sin[θ] = (α^2 + γ^2)^(1/2)/(α^2 + β^2 + γ^2)^(1/2) ;

계산 정리장

a,b,c 구하기

c = (a^2 - b^2)^(1/2) = (α^2 + β^2 + γ^2)^(1/2)/2

L = 2a = 2 (b^2 + c^2)^(1/2)

a = L/2

b = ((L/2)^2 - c^2)^(1/2) = (L^2 - (α^2 + β^2 + γ^2))^(1/2)/2

타원구 매개변수 ψ υ 함수

{b Cos[ψ]Cos[υ],b Cos[ψ]Sin[υ],a Sin[ψ]-c}.(

γ/(α^2 + γ^2)^(1/2) α/(α^2 + γ^2)^(1/2) 0
-(α β)/((α^2 + γ^2)^(1/2) (α^2 + β^2 + γ^2)^(1/2)) (β γ)/((α^2 + γ^2)^(1/2) (α^2 + β^2 + γ^2)^(1/2)) (α^2 + γ^2)^(1/2)/(α^2 + β^2 + γ^2)^(1/2)
α/(α^2 + β^2 + γ^2)^(1/2) -γ/(α^2 + β^2 + γ^2)^(1/2) β/(α^2 + β^2 + γ^2)^(1/2)
)+{α,0,β}

={(L^2 - (α^2 + β^2 + γ^2))^(1/2)/2 Cos[ψ]Cos[υ],(L^2 - (α^2 + β^2 + γ^2))^(1/2)/2 Cos[ψ]Sin[υ],L/2 Sin[ψ]-(α^2 + β^2 + γ^2)^(1/2)/2}.(

γ/(α^2 + γ^2)^(1/2) α/(α^2 + γ^2)^(1/2) 0
-(α β)/((α^2 + γ^2)^(1/2) (α^2 + β^2 + γ^2)^(1/2)) (β γ)/((α^2 + γ^2)^(1/2) (α^2 + β^2 + γ^2)^(1/2)) (α^2 + γ^2)^(1/2)/(α^2 + β^2 + γ^2)^(1/2)
α/(α^2 + β^2 + γ^2)^(1/2) -γ/(α^2 + β^2 + γ^2)^(1/2) β/(α^2 + β^2 + γ^2)^(1/2)
)+{α,0,β}

{S_x,S_y,S_z}

{1/2 (-(β (L^2 - α^2 - β^2 - γ^2)^(1/2) cos(ψ) sin(υ) α)/((α^2 + γ^2)^(1/2) (α^2 + β^2 + γ^2)^(1/2))+(L sin(ψ) α)/(α^2 + β^2 + γ^2)^(1/2)+α+(γ (L^2 - α^2 - β^2 - γ^2)^(1/2) cos(υ) cos(ψ))/(α^2 + γ^2)^(1/2)),1/2 ((β (L^2 - α^2 - β^2 - γ^2)^(1/2) cos(ψ) sin(υ) γ)/((α^2 + γ^2)^(1/2) (α^2 + β^2 + γ^2)^(1/2))-(L sin(ψ) γ)/(α^2 + β^2 + γ^2)^(1/2)+γ+(α (L^2 - α^2 - β^2 - γ^2)^(1/2) cos(υ) cos(ψ))/(α^2 + γ^2)^(1/2)),1/2 ((L sin(ψ) β)/(α^2 + β^2 + γ^2)^(1/2)+β+((L^2 - α^2 - β^2 - γ^2)^(1/2) (α^2 + γ^2)^(1/2) cos(ψ) sin(υ))/(α^2 + β^2 + γ^2)^(1/2))}

정리함

초점 - {0, 0, c}, {0, 0, -c}

꼭지점 - {0, 0, a}, {0, 0, -a}, {0, b, 0}, {0, -b, 0}, {0, 0, b}, {0, 0, -b}

    c = (a^2 - b^2)^(1/2)

    L = 2a = 2 (b^2 + c^2)^(1/2)

    b = ((L/2)^2 - c^2)^(1/2)

x^2/b^2 + y^2/b^2 + z^2/a^2 = 1

초점{α,0,β},{0,γ,0}인 타원구와  평면[z=0]이 교차된 타원

타원[z^2/a^2+y^2/b^2=1]에서 직선[z = u y + v]이 지나간 좌치 구하기

u = Sin[-θ]/Cos[-θ] = -(α^2 + γ^2)^(1/2)/β^2 ;

v = -c = -(α^2 + β^2 + γ^2)^(1/2)/2 ;

[Graphics:HTMLFiles/index_102.gif]

(u y + v)^2/a^2 + y^2/b^2 = 1

교차점 : p1, p2 → {Sa, 0}, {-Sa, 0}

중점 : o1

o1 = (p1 + p2)/2 ;

[Graphics:HTMLFiles/index_108.gif]

중점 o1 → z값 수직 교차 : q1, q2 → {0, -sb}, {0, sb}

xy 평면을 회전하여  원의 폭을 알수 있다 .

[Graphics:HTMLFiles/index_111.gif]

[Graphics:HTMLFiles/index_113.gif]

xy평면에 있는 타원 - 꼭지점: {Sa,0},{-Sa,0},{0,Sb},{0,-Sb}

타원구와 평면[z=0]교차 된 타원 모양

[Graphics:HTMLFiles/index_114.gif]

xy평면에서 본 모양

[Graphics:HTMLFiles/index_115.gif]

[Graphics:HTMLFiles/index_116.gif]

xy평면[z=0] 타원에서 장애물 까지의 거리

초점{α,0,β},{0,γ,0}인 타원구 표면에 있는  {x,y,z} 가 초점{α,0,β}, 점{x,y,z}, 초점{0,γ,0} 까지의 거리가 L1인 식

((x - α)^2 + y^2 + (z - β)^2)^(1/2) + (x^2 + (y - γ)^2 + z^2)^(1/2) = L1

초점{α,0,β},{0,τ,0}인 타원구 표면에 있는  {x,y,z} 가 초점{α,0,β}, 점{x,y,z}, 초점{0,τ,0} 까지의 거리가 L2인 식

((x - α)^2 + y^2 + (z - β)^2)^(1/2) + (x^2 + (y - τ)^2 + z^2)^(1/2) = L2

평면[z=0]에서 초음파 감지 영역 y=0인 x축 위에 있는 장애물 까지 거리는 L1, L2 중 작은 것에서 구한값

Ds = If[L1<L2, Solve[(Dx^2 + γ^2)^(1/2) + ((Dx - α)^2 + β^2)^(1/2) == L1, Dx], Solve[(Dx^2 + τ^2)^(1/2) + ((Dx - α)^2 + β^2)^(1/2) == L2, Dx]] ;

DS3 = {Dx/.Ds[[2]], 0, 0} ;

평면[z=0]에서 장애물이 두 L1, L2 타원구의 교차점이면 장애물까지 거리 값

Ps = Solve[{((Px - α)^2 + Py^2 + β^2)^(1/2) + (Px^2 + (Py - γ)^2)^(1/2) == L1, ((Px - α)^2 + Py^2 + β^2)^(1/2) + (Px^2 + (Py - τ)^2)^(1/2) == L2}, {Px, Py}] ;

PS3 = {Px/.Ps[[2]], Py/.Ps[[2]], 0} ;

[Graphics:HTMLFiles/index_128.gif]