pub fn extract_convex_hull(
    points: &[Point],
    contain_on_segment: bool
) -> Vec<usize>