/** * a naive implementation of middle point * to accurately locate the middle point from arc length is possible by using elliptic integral to find the total arc length, then, using elliptic function to find the half length point */ RS_Vector RS_Ellipse::getMiddlePoint() { return getNearestMiddle(getCenter()); }
/** * @brief compute nearest endpoint, intersection with X/Y axis at 0, 90, 180 and 270 degree * * Use getNearestMiddle() method to compute the nearest circle quadrant endpoints * * @param coord coordinates to compute, e.g. mouse cursor position * @param dist double pointer to return distance between mouse pointer and nearest entity point * @return the nearest intersection of the circle with X/Y axis. */ RS_Vector RS_Circle::getNearestEndpoint(const RS_Vector& coord, double* dist /*= nullptr*/) const { return getNearestMiddle( coord, dist, 0); }