Any functions without information were either too obvious, too complex, or I was unable to figure out what it was doing. ===Point(s)=== - AreCollinear Input: Points (m1,m2), (n1,n2), (p1,p2) Check: (m1-n1)(m2-p2) = (m1-p1)(m2-n2) [the cross ratio] - AreConcyclic - IsOnCircle Evaluate the equation of the circle with regards to the x/y coordinates of the point - IsOnLine (segment + ray too) Evaluate the equation of the line with regards to the x/y coordinates of the point - convexhull - distance (between two points, or a point and a line) Usual Euclidean distance - midpoint - projection Intersection of the perpindular line and the line in question ===Line(s), Segment(s), and Ray(s)=== - AreConcurrent Input: Three lines l1, l2, l3 Check: Whether the determinant of "matrix of coefficients" is zero - AreParallel Input: Two lines, u and v Check: xcoeff(u)*ycoeff(v) = xcoeff(v)*ycoeff(u) [are slopes equal?] - ArePerpendicular Input: Two lines, u and v Check: xcoeff(v)*xcoeff(u) = -ycoeff(u)*ycoeff(v) [are slopes negative reciprocals?] - FindAngle Some simple trig work - ParallelLine With a little bit of calculation Maple derives the new equation - PerpenBisector (segment only) References procedures and - PerpendicularLine Same as for - randpoint - slope ===Triangle(s) [plus polygon methods]=== - AreSimilar Permutes the vertices of a triangle and tests all permutations against the other triangle - IsEquilateral Basically checks for all sides for equality - IsRightTriangle Check to see if a^2 + b^2 = c^2 - altitude Input: Triangle ABC with A(a1,a2), B(b1,b2), C(c1,c2) its vertices Construct line ax + by + c = 0 with a = c1-b1 b = c2-b2 c = (b2-c2)*a2 - (c1-b1)*a1 - bisector A somewhat large set of operations - circumcircle Depends on the constructor, which can take three points and create a circle from them - excircle - incircle Finds the center by calculating the intersection of two bisectors, then uses the distance from the center to one of the sides as the radius - medial call for each side of the triangle, and form a triangle from those - median - orthocenter A fairly large set of simple operations ===Polygon(s)=== - ExteriorAngle (attribute) - InteriorAngle (attribute) - perimeter (attribute) - sides Simply returns Euclidean distance between all adjacent points - vertices ===Circle(s) [plus that of ellipse]=== - AreTangent Input: Line l and circle c Check: A fairly large set of simple operations - TangentLine A fairly large set of operations. - center (attribute) - centroid - diameter - radius (attribute) - randpoint ===Ellipse(s)=== - MajorAxis (attribute) - MinorAxis (attribute) - foci ===Everything=== - Equation (attribute) - area Case based for each entity, in which the obvious formulas are used - intersection Case based and fairly large, but mostly the obvious is used - tangent Methods I didn't look into: AreOrthogonal, ExternalBisector, Polar, Pole, apothem, dilatation, expansion, translation, reflection, rotation