Identify an arbitrary elliptical cylinder with 8 8 points

Calculus Level pending

In the table below, you are given eight points in 3D space, and you are told that they lie on an elliptical cylinder whose axis intersects the x y xy plane at ( x 0 , y 0 ) (x_0, y_0) . Find a unit vector u = ( u x , u y , u z ) u = ( u_x, u_y, u_z) along the cylinder axis, and a unit vector along the major axis of the cross section of the cylinder v = ( v x , v y , v z ) v = (v_x , v_y, v_z ) , the semi-major axis length a a , the semi-minor axis length b b of the elliptical cylinder cross section, as well as x 0 x_0 and y 0 y_0 , and compute S = x 0 + y 0 + a + b + u x + u y + u z + v x + v y + v z S = x_0 + y_0 + a + b + | u_x | + | u_y | + |u_z| + | v_x | + | v_y | + | v_z | . As your answer, enter 1 0 5 S \lfloor 10^5 S \rfloor

Point \text{Point} x x y y z z
1 1 6.400310357 12.75036748 -1.655584182
2 2 2.936883025 1.392280411 -6.93183533
3 3 3.302528753 6.94949274 0.526455981
4 4 0.629653921 -0.698287736 -1.931851653
5 5 9.51390068 2.187595344 -1.046299848
6 6 3.832777524 1.264686937 3.823426729
7 7 12.63551122 4.953021593 5.444678517
8 8 3.550097691 -6.16068045 3.191064106


The answer is 2333900.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Hosam Hajjir
Jan 10, 2021

If r = ( x , y , z ) r = (x, y, z) then the equation of the cylinder is given by,

( r r 0 ) Q ( r r 0 ) = 1 (r - r0) Q (r - r0) = 1

where Q = R D R T Q = R D R^T

and the diagonal matrix D D is given by

D = diag { 1 a 2 , 1 b 2 , 0 } D = \text{diag} \{ \dfrac{1}{a^2}, \dfrac{1}{b^2} , 0 \}

Here, a a and b b are the semi-major and semi-minor axes lengths of the elliptical cylinder cross section, and point r 0 = ( x 0 , y 0 , 0 ) r_0 = (x_0, y_0, 0) . The matrix R = [ v , w , u ] R =[ v, w , u ] , where u u is the vector along the axis of the cylinder, and v v , w w are unit vectors along the major and minor axes of the cylinder.

u u can be parameterized using two angles θ \theta and ϕ \phi , as follows:

u = ( sin θ cos ϕ , sin θ sin ϕ , cos θ ) u = ( \sin \theta \cos \phi , \sin \theta \sin \phi, \cos \theta )

Two unit vectors orthogonal to u u , and to each other, are

u 1 = ( cos θ cos ϕ , cos θ sin ϕ , sin θ ) u_1 = ( \cos \theta \cos \phi, \cos \theta \sin \phi, - \sin \theta )

and

u 2 = ( s i n ϕ , cos ϕ , 0 ) u_2 = ( - sin \phi, \cos \phi , 0 )

hence, vectors v v and w w can be expressed as

v = c o s ψ u 1 + sin ψ u 2 v = cos \psi u_1 + \sin \psi u_2

w = sin ψ u 1 + cos ψ u 2 w = - \sin \psi u_1 + \cos \psi u_2

Our parameter vector is therefore 7-dimensional: x = ( θ , ϕ , ψ , a , b , x 0 , y 0 ) \mathbf{x} = (\theta, \phi, \psi , a, b , x_0, y_0)

And for i = 1 , 2 , . . . , 8 i = 1,2,..., 8 , we want

f i = ( r i r 0 ) T Q ( r i r 0 ) 1 = 0 f_i = (r_i - r_0)^T Q (r_i - r0) - 1 = 0

One possible numerical method to solve these equations is the Newton-Raphson multivariate method that requires the computation of the

Jacobian of the function vector f. This can be computed exactly by explicit analytical differentiation of f i f_i , or approximately by numerical differentiation. An initial guess of the parameter vector x 0 \mathbf{x}_0 is made, and iteratively new approximations of the solution are obtained by the Newton-Raphson

multivariate recursive formula x k + 1 = x k J k 1 f k \mathbf{x}_{k+1} = \mathbf{x}_k - J_k^{-1} \mathbf{f}_k

Note that since the dimension of the unknowns vector is 7 7 , we have to limit the number of equations to 7 7 , or otherwise use the Penrose inverse J # J^\# of matrix J J instead of the regular inverse; the formula for the Penrose (left) inverse is J # = ( J T J ) 1 J T J^\# = (J^T J)^{-1} J^T .

For this particular problem, it might be difficult to come up with a good initial guess, so an external loop to set the initial values for some of the parameters (for example, θ \theta and ϕ \phi is necessary. In my implementation, I used an external double loop to set the initial guess of θ 0 \theta_0 and ϕ 0 \phi_0 , so that I could guarantee the convergence of the Newton-Raphson iteration.

After a few initial guesses, the Newton-Raphson method converged to x = ( 0.785398163 , 5.235987756 , 2.094395102 , 7.5 , 3.5 , 6 , 3 ) \mathbf{x}^* = ( 0.785398163 ,5.235987756 , 2.094395102 , 7.5 , 3.5 , 6 , 3)

So that the rotation matrix is given by

R = [ v , w , u ] = ( 0.573223305 0.73919892 0.353553391 0.73919892 0.280330086 0.612372436 0.353553391 0.612372436 0.707106781 ) R = [v, w, u ] = \begin{pmatrix} 0.573223305 && -0.73919892 && 0.353553391 \\ 0.73919892 && 0.280330086 && -0.612372436 \\ 0.353553391 && 0.612372436 && 0.707106781 \end{pmatrix}

Thus, the axis unit vector is u = ( 0.353553391 , 0.612372436 , 0.707106781 ) u = (0.353553391, -0.612372436 , 0.707106781 )

And the unit vector along the major semi-axis is v = ( 0.573223305 , 0.73919892 , 0.353553391 ) v = (0.573223305 , 0.73919892, 0.353553391 )

Therefore, S = 23.33900822, making the answer 1 0 5 × 23.33900822 = 2333900 \lfloor 10^5 \times 23.33900822 \rfloor = \boxed{2333900}

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...