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