https://en.wikipedia.org/wiki/Bisection
wiki にあるアニメーションをコードにしたもの.
Ld2 V2_get_bisector (const Vd2& vp,const Vd2& vc,const Vd2& vn)
{
// * vp
// |
// |
// | * vcx
// | /
// | o /
// | / o
// vc * - - - - - - * vn
Vd2 vcp = (vp-vc).Normalized() ;
Vd2 vcn = (vn-vc).Normalized() ;
Vd2 vcb = (vcp+vcn)/2. ;
Vd2 vcx = vcb + vc ;
{
vcx = ::get_cross_line(vp,vn,vc,vcx) ;
}
Ld2 lbs(vc,vcx) ;
return lbs ;
}
青い円弧が,最初の 2 行の Normalized .
次の中点を求めているのは,赤い円弧の交点を結ぶ線にあたる.
二等分線を対辺?まで延長.