# GeometricScene

GeometricScene[{p1,p2,},{hyp1,hyp2,}]

represents an abstract 2D geometric scene defined by the hypotheses hypi in terms of the symbolic points pi.

GeometricScene[{{p1,p2,},{k1,k2,}},hyps]

represents a scene whose hypotheses depend on the symbolic scalar quantities ki.

GeometricScene[{{p1{x1,y1},},{k1v1,}},hyps]

represents a specific instance with explicit values for all points and scalar quantities.

GeometricScene[params,hyps,{con1,con2,}]

represents a scene together with some conclusions coni about it.

GeometricScene[{{{p1{x1,y1},},{k1v1,}},},hyps]

represents a collection of specific instances of the same scene.

GeometricScene[{scene1,scene2,}]

combines several scene instances into one scene object.

# Details and Options    • A GeometricScene object with explicit coordinates for all points and explicit values for all scalars is normally displayed as a graphical diagram.
• In GeometricScene[{p1,p2,},], the pi can be strings, symbols or other symbolic expressions.
• RandomInstance fills in specific values for the pi and ki in such a way as to satisfy the hypotheses given.
• The hypotheses in a scene can list objects that must appear in the scene and can give relations and other assertions about those objects.
• The following primitives can be used to represent geometric objects:
•  Circle[pt,r] circle Disk[pt,r] filled disk HalfLine[{pt1,pt2}] half-infinite line or ray InfiniteLine[{pt1,pt2}] infinite line Line[{pt1,…}] straight line Parallelogram[pt,{v1,v2}] parallelogram Point[pt] point set Polygon[{pt1,…}] simple polygon Rectangle[pt1,pt2] rectangle RegularPolygon[n] regular polygon Triangle[{pt1,…}] triangle
• The points and scalars in a geometric object can be symbolic or can have explicit values.
• The following can be used to represent constructions applied to geometric objects:
•  AngleBisector[{pt1,pt2,pt3}] angle bisector, as an infinite line CircleThrough[{pt1,…}] circle through points CircularArcThrough[{pt1,…}] circular arc through points Circumsphere[{pt1,pt2,pt3}] circumsphere InfiniteLineThrough[{pt1,…}] infinite line through unordered points Insphere[{pt1,pt2,pt3}] insphere Midpoint[{pt1,pt2}] midpoint PerpendicularBisector[{pt1,pt2}] perpendicular bisector, as an infinite line RegionBoundary[reg] boundary RegionCentroid[reg] region centroid, as a point RegionNearest[reg, pt] nearest point in a region TriangleCenter[tri,type] triangle center of specified type TriangleConstruct[tri,type] triangle construct of specified type
• The following assertions about geometric objects and their properties can be used:
•  pt∈reg, RegionMember[reg,pt] point is in a region x… equality of values or objects x>…, x<…, … inequalities between values GeometricAssertion[objs,prop] named assertion about geometric objects GeometricStep[{hyp1,hyp2,…}] step consisting of multiple hypotheses
• The following measurements on geometric objects can be used:
•  ArcLength[reg] arc length Area[reg] area EuclideanDistance[pt1,pt2] Euclidean distance Perimeter[reg] perimeter PlanarAngle[{pt1,pt2,pt3}] angle PolygonAngle[poly,pt] polygon angle RegionDistance[reg,pt] region distance RegionMeasure[reg] region measure SignedRegionDistance[reg,pt] signed region distance TriangleMeasurement[tri,type] triangle measurement
• GeometricScene[]["prop"] gives property prop of a geometric scene. Possible properties include:
•  "AlgebraicFormulation" algebraic expression giving the constraints on the points and quantities "Conclusions" list of conclusions "Graphics" diagram of the scene, as a Graphics object "GraphicsList" list of Graphics for scenes with multiple steps and/or instances "Hypotheses" list of hypotheses "Instances" list of instances of the scene "Parameters" list of point and scalar value specifications for the scene "Points" list of point specifications for the scene "Properties" list of all supported properties "Quantities" list of scalar value specifications for the scene
• With explicit scene instances scenei, GeometricScene[{scene1,scene2,}] is converted to a GeometricScene object in which multiple lists of points and scalar values are given so long as all the scenei are instances of the same abstract scene.
• When GeometricScene represents multiple instances of an abstract scene, it is normally displayed with a SetterBar to choose which instance to show.
• The display style of geometric objects can be specified using Style. Style specifications do not affect the geometric meaning of a scene.
• The following options for GeometricScene can be given:
•  UnconstrainedParameters None list of unconstrained parameters GeometricStylingRules Automatic styling of primitives in the geometric scene
• Functions such as FindGeometricConjectures fill in conclusions in GeometricScene objects.

# Examples

open allclose all

## Basic Examples(3)

Represent a symbolic geometric scene containing a triangle with points a, b, c and a 30° angle:

RandomInstance fills in explicit coordinates for the points:

This gets the rules giving coordinates for the points:

Represent a geometric scene with explicit coordinates for points:

Display an interactive scene that constructs an equilateral triangle in steps:

## Scope(4)

Find multiple instances of a scene:

Combine the instances into a single GeometricScene object:

Find the coordinates for the points in the scene corresponding to each instance:

Represent a scene using a GeometricAssertion:

Extract the conclusions from the GeometricScene object:

Represent the construction of the angle bisector with GeometricStep:

Style can be used to apply styles to objects in a geometric scene:

## Options(2)

### UnconstrainedParameters(1)

Represent a scene where some of the points are unconstrained:

### GeometricStylingRules(1)

Specify how primitives in a scene are to be styled:

## Applications(7)

Represent a scene with a triangle circumscribed by a circle whose diameter forms an edge:

Find conjectures:

Extract Thales's theorem:

Represent a scene with two sets of collinear points:

Find conjectures:

Discover Pappus's hexagon theorem:

Iteratively take circumcenters:

Find conjectures:

Discover Kosnita's theorem:

Solve for missing angles:

Describe a scene with two squares and a quadrilateral formed by taking midpoints:

Find conjectures: