PostGIS
2.5.7dev-r@@SVN_REVISION@@
|
double lw_arc_center | ( | const POINT2D * | p1, |
const POINT2D * | p2, | ||
const POINT2D * | p3, | ||
POINT2D * | result | ||
) |
Determines the center of the circle defined by the three given points.
In the event the circle is complete, the midpoint of the segment defined by the first and second points is returned. If the points are collinear, as determined by equal slopes, then -1.0 is returned. If the interior point is coincident with either end point, they are taken as collinear. For non-collinear cases, arc radious is returned.
Definition at line 228 of file lwalgorithm.c.
References EPSILON_SQLMM, LWDEBUGF, POINT2D::x, and POINT2D::y.
Referenced by lw_arc_calculate_gbox_cartesian_2d(), lw_arc_length(), lw_arc_side(), lw_dist2d_arc_arc(), lw_dist2d_pt_arc(), lw_dist2d_seg_arc(), lwarc_linearize(), pt_continues_arc(), pta_unstroke(), ptarrayarc_contains_point_partial(), and test_lw_arc_center().