# How to calculate tangent vector with conical projection?

Let the viewed target position point be $$P$$, and the observer point be $$Q$$, the local coordinate system's $$x,y$$ plane is perpendicular to $$\vec{PQ}$$. $$z$$ axis along $$\vec{PQ}$$. Let the coordinates of the $$x,y,z$$ axis's directional unit vector be denoted as $$v_x,v_y,v_z$$.

Given a point $$S$$ and a tangent vector $$v$$ at the point on a surface, the codes calculated projected tangent vector $$v'$$, and the procedure can be translated into the following math formulas:

$$M=\begin{bmatrix} v_x^T\\v_y^T\\v_z^T \end{bmatrix},S'=M(S-Q)$$

$$c_1=\dfrac{[MQ]_z}{[MQ]_z-[MS]_z},c_2= \dfrac{[MQ]_z}{([MQ]_z-[MS]_z)^2}$$

$$w=M v$$

$$v'_x = c_1w_x + c_2 S_x' w_z$$

$$v'_y = c_1w_y + c_2 S_y' w_z$$

$$v'_z = w_z$$

Here $$[u]_x$$ means the $$x$$ component of vector $$u$$ and so on.

The terms $$c_1w_x$$ and $$c_1w_y$$ are quite easy to understand - projecting will magnify near objects, but I cannot understand $$c_2$$ and $$c_2 S_x' w_z$$. Could someone teach me how to derive these formulas?