rt(-radius(D)).toFixed(2)),
    ()=>line_through_P_parallel_with_X(p1,D),"parallel to D",
    ()=>line_through_P_parallel_with_X(split(project_point_on_circle(p1,D).Normalized),D),"parallel to D",
    ()=>ei^p1^split(project_point_on_circle(p1,D).Normalized),  "p1 on D",
    ()=>split(project_point_on_circle(p1,D).Normalized),  "p1 on D",
    ()=>split(-project_point_on_circle(p1,C).Normalized), "p1 on C",
    0x666666, p1, "p1", p2, "p2", p3, "p3",  // points
    0xFF0000, ()=>round(pp1),
    0xFF0000, ()=