已知三个不重合的点构成的角:
A(x1, y1)
B(x2,y2)
C(x3,y3)
求角ABC的角平分线
一. 几何方法
Step 1. 如果AB、BC平行
1. 如果AB, BC方向相同,则角平分线为和BC一致
2. 方向相反,角平分线为BC逆时针旋转90度,坐标为 (x2 - (y3 - y2), y2 + (x3 - x2))
Step 2. 如果AB, BC不平行,根据三角形两边长度相等时,角平分线与中线重合
设AB长度为n, 再BC上,到B长度为n的点设为D,则角平分线点通过E(B D 中点)
如果ABC为凸角,角平分线为BE
如果为凹角,角平分线逆向,为B, B+(B-E)
End
二. 解方程方法:设ABC三点,形成三角形,求角平分线到AC的交点,从而得出角平分线
1. 已知两点求直线方程:A(x1,y1), B(x2,y2),求直线Line(A-B)的一般直线方程
ax + by + c =0
设b=1,使用y=kx+n转换{-kx + y + (-n)=0;}
a=-(y2-y1)/(x2-x1)
c=-(x2y1-x1y2)/(x2-x1)
可以设b=(x2-x1), 则a=y1-y2, c=x1y2-x2y1,即
a=y1-y2
b=x2-x1
c=x1y2-x2y1
2. 点到线的距离公式 (ax'+by'+c) / 开根号(a1*a1+b1*b1)
直线:ax + by +c =0;
代入点坐标(x',y'),
a. 如果ax'+by'+c > 0 标示 在直线的上侧
a. 如果ax'+by'+c = 0 标示 在直线上
c. 如果ax'+by'+c = 0 标示 在直线的下侧
abs(ax'+by'+c) 越小,距离直线越近
3.已知角平分线与AC交点到角两端距离相等,设点为x', y',两端直线位AB:a1x+b1y+c1=0, BC:a2x+b2x+c2=0;
距离公式:
交点距离AB:a1x'+b1y'+c1 / 开根号(a1*a1+b1*b1) 根据直线方程:a1 = y1-y2; b1 = x2-x1; c1 = x1*y2-x2*y1;
交点距离BC:a2x'+b2y'+c2 / 开根号(a2*a2+b2*b2) 根据直线方程:a2 = y2-y3; b2 = x3-x2; c2 = x2*y3-x3*y2;
另外x',y'在AC上,满足AC直线方程: a3x+b3y+c3=0; 根据直线方程:a3 = y3-y1; b3 = x1-x3; c3 = x3*y1-x1*y3;
a3x'+b3y'+c3=0;
设m1 = 开根号(a1*a1+b1*b1), m2=开根号(a2*a2+b2*b2)
基于这些:最终求得x',y'坐标
y' =- (c3 + a3 * (c2*m1-c1*m2)/(a1*m2-a2*m1)) / (a3 * (b2*m1 - b1*m2)/(a1*m2-a2*m1) + b3);;
x' =-(b3*y' + c3)/a3;
Own by: 春夜喜雨 http://blog.csdn.net/chunyexiyu
转载请标明出处