Waitrud Weber’s blog

things and reminders for memories

3D: Solving fomura :

Gvie you infomation the below.

C : Center
U : you could freely write in 3-D.
V : you could freely write in 3-D.

Youd could solve the local axes from the above.
u = normal(U) : normal vector of U.
v = normal(V) : normal vector of V.
w = cross( u, v ) : cross vector of u and v.

Threre is a arbitrary g in global position.
We define the formula in local axes.

g = au + bv + cw

a, b , c are scalar.
We could solve the below formula.

gx = aux + bvx + cwx    ...  (1)
gy = auy + bvy + cwy    ...  (2)
gz = auz + bvz + cwz    ...  (3)

u = ( ux , uy, uz )
v = ( vx , vy, vz )
w = ( wx , wy, wz )

-----------------------

Remove a from (1), (2) and (3).
gx/ux = a + b*vx/ux + c*wx/ux ...  (4)
gy/uy = a + b*vy/uy + c*wy/uy ...  (5)
gz/uz = a + b*vz/uz + c*wz/uz ...  (6)

(4) - (5)
 gx/ux = a  + b*vx/ux + c*wx/ux ...  (4)
-gy/uy = -a - b*vy/uy - c*wy/uy ...  (5)

 gx/ux - gy/uy = b*( vx/ux - vy/uy ) + cv*( wx/ux - wy/uy )  ... (7)

(4) - (6)
 gx/ux = a  + b*vx/ux + c*wx/ux ...  (4)
-gz/uz = -a - b*vz/uz - c*wz/uz ...  (6)

 gx/ux - gz/uz = b*( vx/ux - vz/uz ) + c*( wx/ux - wz/uz )  ... (8)

And then solve b and c from (7) and (8),
Replace parametesr before the solution like the following:

A = vx/ux - vy/uy
B = wx/ux - wy/uy
C = vx/ux - vz/uz
D = wx/ux - wz/uz

E = gx/ux - gy/uy
F = gx/ux - gz/uz

https://waitrudweber.hatenablog.com/entry/2019/01/16/001754

https://waitrudweber.hatenablog.com/entry/2019/01/15/202926

https://waitrudweber.hatenablog.com/entry/2018/07/03/212232