A , "" (B) "" (C):
********C
D******A *
Q*****B * *
* * *
* E *
B A = (, 5 ) , AE AD "" B ( AD AE "" C ). B 5px A A angle AE + ((angle AD - angle AE) / 2)
wiz, , , , javascript, , PHP (, , , ):
var dx = b.x - a.x;
var dy = b.y - a.y;
if(dx == 0 && dy == 0){
answer = 0;
} else if(dx > 0 && dy >= 0 ){
answer = Math.atan(dy/dx);
} else if(dx <= 0 && dy > 0){
answer = Math.atan(dx/dy) + (Math.PI * 0.5);
} else if(dx <= 0 && dy <= 0){
answer = Math.atan(dy/dx) + Math.PI;
} else if(dx >= 0 && dy <= 0){
answer = Math.atan(dy/dx) + (Math.PI * 1.5);
}
, , D = (0,10), A = (10,10), E = (20,20):
- AE = 45 ° (PI/4 ), AD = 180 ° (PI )
(45 + ((180-45)/2)) = > 112,5 ° (5/8 PI )- 5px A = (10,10) 112,5 ° B:
Bx = Ax + (cos(angle) * 5) = +/- 8.1By = Ay + (sin(angle) * 5) = +/- 14.6
- "sibling" Q, D, / , : DQ = DA + 90 ° (PI/2 ) ( Dy + 5, , , )
- , .