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
    Circumsphere[{pt1,pt2,pt3}]circumsphere
    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:
  • ptreg, RegionMember[reg,pt]point is in a region
    xequality 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:
  • UnconstrainedParametersNonelist of unconstrained parameters
  • 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:

Find conjectures about the scene:

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  (1)

UnconstrainedParameters  (1)

Represent a scene where some of the points are unconstrained:

Applications  (6)

Solve for a missing radius:

Represent a scene with a circumscribed triangle with the diameter as 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:

Discover the FinslerHadwiger theorem:

Neat Examples  (1)

Decompose a polygon into similar triangles:

Wolfram Research (2019), GeometricScene, Wolfram Language function, https://reference.wolfram.com/language/ref/GeometricScene.html (updated 2020).

Text

Wolfram Research (2019), GeometricScene, Wolfram Language function, https://reference.wolfram.com/language/ref/GeometricScene.html (updated 2020).

BibTeX

@misc{reference.wolfram_2020_geometricscene, author="Wolfram Research", title="{GeometricScene}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/GeometricScene.html}", note=[Accessed: 02-December-2020 ]}

BibLaTeX

@online{reference.wolfram_2020_geometricscene, organization={Wolfram Research}, title={GeometricScene}, year={2020}, url={https://reference.wolfram.com/language/ref/GeometricScene.html}, note=[Accessed: 02-December-2020 ]}

CMS

Wolfram Language. 2019. "GeometricScene." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/GeometricScene.html.

APA

Wolfram Language. (2019). GeometricScene. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeometricScene.html