[Matlab] Punto che giace sulla bisettrice dell'angolo.

Vagn
Vi propongo in breve quello che è il mio problema, spero che qualcuno possa aiutarmi.

Si supponga di lavorare in uno spazio tridimensionale dove sono dati tre diversi punti: $P_1$, $P_2$ e $P_3$. Concentriamoci sull'angolo $\hat{P_2 P_1 P_3}$. Quel che debbo fare è calcolare le coordinate di quel punto che si trova sulla bisettrice dell'angolo in esame e la cui distanza dal punto $P_1$ è pari a $((R_2+R_3)/2)$. Chiaramente, $R_2$ è la distanza che intercorre fra $P_2$ e $P_1$, mentre $R_3$ è la distanza che intercorre fra $P_3$ e $P_1$.

Tramite Matlab sono in grado di calcolare l'angolo di interesse, le distanze di interesse .. ma non riesco ad ottenere le coordinate del punto di cui necessito.

P1 = [0 10000 0];
P2 = [0 0 1];
P3 = [100 0 0];

seg2 = [(P2(1)-P1(1)),(P2(2)-P1(2)),(P2(3)-P1(3))];
seg3 = [(P3(1)-P1(1)),(P3(2)-P1(2)),(P3(3)-P1(3))];
u2 = seg2/norm(seg2);
u3 = seg3/norm(seg3);
Ang = acos(dot(u2,u3));

R2 = norm(P2-P1);
R3 = norm(P3-P1);


Qualcuno sa aiutarmi? :-D

Risposte
Sk_Anonymous

Sono note le misure $R_1,R_2,R_3$ [vedi figura] dei lati del triangolo $P_1P_2P_3$ e sia $A$ l'intersezione di $P_2P_3$ con la retta $r$, bisettrice dell'angolo in questione. Per il teorema della bisettrice è :
${P_3A}/{AP_2}={R_3}/{R_2}$
Per note formule di geometria analitica, si può scrivere con ovvio significato dei simboli :
\(\displaystyle \begin{cases}x_A=\frac{R_3x_2+R_2x_3}{R_2+R_3} \\y_A=\frac{R_3y_2+R_2y_3}{R_2+R_3}\\z_A=\frac{R_3z_2+R_2z_3}{R_2+R_3}\end {cases} \)
e quindi il punto $A$ è noto. Ne discende che sono note anche le equazioni della retta $r=AP_1$:
$(x,y,z)=(x_1,y_1,z_1)+t(x_A-x_1,y_A-y_1,z_A-z_1)$
I punti richiesti sono le intersezioni tra la retta $r$ e la sfera di centro $P_1$ e raggio =${R_2+R_3}/2$
Occorre dunque risolvere il sistema ( di 4 equazioni in 4 incognite) dato da :
\(\displaystyle \begin{cases}(x,y,z)=(x_1,y_1,z_1)+t(x_A-x_1,y_A-y_1,z_A-z_1)\\(x-x_1)^2+(y-y_1)^2+(z-z_1)^2=(\frac{R_2+R_3}{2})^2\end{cases} \)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.