Skip to content

Latest commit

 

History

History
185 lines (185 loc) · 6.93 KB

notes.org

File metadata and controls

185 lines (185 loc) · 6.93 KB

Task List

Priorities / Short-term goals

Cleanup

  • [ ] Annotate Analyzer, Animate
  • [ ] equality-predicate vs. member-predicate for utils
  • [ ] “Random Quadrilaterals” - Fix randomness

Construction from Constraints

  • [ ] Ordering of value instantiation <------
  • [ ] TMS for linkages / region propagators?
  • [ ] Picking/dealing with Error Values and contradictions
  • [ ] Combining Topologies, Deduping points/lines
  • [ ] Draw status of partially specified mechanisms.

Complete:

  • [X] Play with generating an isoceles triangle or Kite from its given properties
  • [X] Regions for partial information
  • [X] Basic Linkages - Bar + Joint
  • [X] Establishing topology first
  • [X] Basic automatic instantiation
  • [X] Constraint language
  • [X] Draw mechanisms [1/1]
    • [X] Basic Conversion to figure elements
  • [X] Replace “bar min” with Direction intervals for bar directions.
  • [X] Numeric Intervals for joint thetas

Learning!

  • [ ] Generalize and learn from basic examples analysis results
  • [ ] Experiment with finding minimal properties (Rhombus: only opposite angles equal sufficient? or pairs of edges equal?)

Simplification of Discoveries

  • [ ] Exclude extremely obvious facts!

Analyzer:

  • [X] Multi-element equalities built up from pairwise, “connected component”-esque
  • [X] Properly extract points, etc. from polygons (maybe polygon can be generalized to a “group” of elements)?
  • [X] Detect properties of square, rectangle, parallelogram, etc.
  • [ ] Integrate names and dependencies in results.

Metadata

  • [X] Persist metadata about operations.
  • [ ] Figure out randomness / overrides for constructions with intermediary steps
  • [ ] Traversal / adjacency metadata

Random Generation

  • [X] Randomly Generate square, rectangle, parallelogram, etc
  • [X] Distance to Line
  • [X] Random Point left of line
  • [ ] Improve random point between rays when rays intersect!
  • [ ] Improve Random Triangle

Core / Infrastructure

Numeric Stuff [1/3]

  • [X] Improved close-enuf?
  • [ ] Move away from origin (0, 0)
  • [ ] Remap coordinates for drawing

Improved Pretty Printer [2/4]

  • [X] Basic Generic print / pprint
  • [X] Cells, Linkages, Regions
  • [ ] Extend to other visual elements
  • [ ] Change record types to structures – built-in printers?

Constructions

Basic Constructions [9/9]

  • [X] Line by point and direction
  • [X] line-through
  • [X] Ray by point and direction
  • [X] ray-through
  • [X] angle-from, lines, rays,
  • [X] smallest-angle-from
  • [X] Horizontal, Vertical Lines
  • [X] Flip lines direction
  • [X] Line from Arm of Angle

Representations

  • [X] Change angles to use vertex + two rays <–
  • [X] Change rays to be just point and direction
  • [ ] “Direction” as x, y as well vs. just theta?

Clean up Changes

  • [ ] line-p1, ray-p1, etc
  • [ ] ->vec
  • [ ] Directions to vector (dir + distance)
  • [ ] Angle arms
  • [ ] Angle Measure

More Constructions

  • [ ] Dealing with ordering of segments (a->b vs. b->a)? Standardize?
  • [ ] Intersections of segments, rays, etc.
  • [ ] Returning multiple intersections

Circle-related constructions

  • [ ] Representing / Measuring Arcs
  • [ ] Circles, Radii, Diameter
  • [ ] Tangents, etc.
  • [X] Direction Intervals

Element Representations [4/5]

  • [X] Consider point+direction for line vs. two points
  • [X] Angles as vertex point + two vecs
  • [X] Change to using Record structures
  • [X] Refactor files
  • [ ] Points always named

Coordinates

  • [ ] Bounds / specifying coordinate ranges (randomness)

Compound Constructions [2/7]

  • [X] Better Triangle Creator
  • [X] Triangle Segments
  • [ ] Triangle Angles
  • [ ] Perpendicular-to (point-to-line)
  • [ ] “Construct Altitudes”
  • [ ] “Construct Parallelogram ABCD”
  • [ ] Polygons, angles/segments/diagonals.

Transformations [5/8]

  • [ ] Mutate vs. move?
  • [ ] Duplicate angles
  • [X] Translate Elements
  • [X] Translate Randomly
  • [X] Rotation about point
  • [ ] Multiple rotation about point
  • [X] Translate Randomly along Line
  • [X] Rotate Randomly about Point

Randomness [3/8]

  • [X] Random direction
  • [X] Random Line
  • [ ] Make first random choices nicely WLOG
  • [ ] Handling errors / special cases of circles
  • [ ] Backtracking -> “Animation”?
  • [ ] Means to discard problems.
  • [X] Basic “wiggling” animation
  • [ ] Improve wiggling

Construction Language [0/2]

  • [ ] Name before vs. name after vs. use symbolic names everywhere…
  • [ ] Multiple element return

Analysis

Simple Analysis [8/10]

  • [X] Angle Equality
  • [X] Complementary / Supplementary Angles
  • [X] Parallel / Perpendicular
  • [ ] General Angles which sum to same value
  • [X] Basic Segment Length Equality
  • [X] Gather all segments with equal lengths
  • [X] Go beyond pairs
  • [X] Segments not actually present?
  • [ ] Concurrency of lines
  • [X] Clean up multi-element pairs

Repeated Analysis [0/2]

  • [ ] Perform constructions multiple times
  • [ ] Maintain information

Dependencies [1/2]

  • [X] Keeping Track of known properties
  • [ ] Exclude known vertex points from “concurrent”, for instance

Fancier Analysis [0/2]

  • [ ] Provide property to minimize
  • [ ] Provide some property to consider truth

Learning

Understand Results

  • [ ] Provide/get new name for points, e.g. “Incenter”

Display

Figure Element Appearance [3/4]

  • [ ] Draw Right Angles differently!
  • [X] Colors for elements
  • [X] Custom-set colors for elements
  • [X] Labels for points
  • [ ] Aux segment for secondary / hinted segments.

Debug Display

  • [ ] Show directions on lines, segments, etc.

Markings for Constraints, findings [0/1]

  • [ ] Mark equal segments, bisectors, etc.

Diagram-level Graphics [0/3]

  • [ ] Displaying on page nicely
  • [ ] Organizing

Animation [3/3]

  • [X] Display several displays with timing between
  • [X] Smoother Animations
  • [X] Better Animation Interface

Simulation

Explore Kinematics-related simulations [0/2]

  • [ ] Model + simulate as joins + telescoping, etc.
  • [ ] Wiggle Existing choices vs. making new choices

Investigations

Triangle Magic [0/2]

  • [ ] Add in examples from Triangle Magic

99 Points of Intersection [0/1]

  • [ ] Add in examples from 99 points of intersection

Adv. Euclidean - GeoGebra [0/1]

  • [ ] Add in examples from GeoGebra Euclidean Examples

Far-out Ideas:

  • Hyperbolic Geometry
  • 3D, volumes
  • Construction Problems
  • Proofs
  • Chasing Angles, solving exercises