pub fn segment_intersects_circle<P: Point>(
    from: Option<P>,
    to: P,
    center: P,
    radius: f64
) -> bool