package geoml
Library
Module
Module type
Parameter
Class
Class type
Circle manipulation
val radius : t -> float
radian rotation. rotate c p f
returns the rotated circle of c
with p
as rotation center and f
a angle in radian
val area : t -> float
val perimeter : t -> float
val proj_x : t -> float * float
val proj_y : t -> float * float
tangent c p returns the tangent of circle c going through point p. p must lie on c's boundary, otherwise behaviour is unspecified
returns the list of intersection points of two circle. It can be:
- when the circles dont intersect
p
when the circles are tangent in pa;b
when the circles intersect, a and b are the intersection points
same as intersection but with a circle and a segment
returns the circumscribed cirle of the triangle defined by the three points
returns the incirle of the triangle defined by the three points
given a list of point, returns the smallest circle that contains all the points of the list, using emo welzl's algorithm. complexity in expected linear time
val random_point : Random.State.t -> t -> Point.t
returns a randomly and uniformly chosen point that lies inside the circle
val random_point_perimeter : Random.State.t -> t -> Point.t
returns a randomly and uniformly chosen point that lies on the permieter of the circle
val print : Format.formatter -> t -> unit
printer