Geometrylessonsgithub 〈EXCLUSIVE〉
## Exercises 1. Identify collinear sets from an image. 2. Name rays and segments given endpoints. 3. Construct a line through two points using code. </code></pre> <hr> <h3><strong>4. Sample Animation: <code>lessons/01_points_lines/animations/point_construction.py</code></strong></h3> <pre><code class="language-python">from manim import *
geometrylessonsgithub Description: Interactive geometry lessons with visual proofs, animations, and computational exercises. Built with Manim and Jupyter. 📁 Repository Structure geometrylessonsgithub/ │ ├── README.md ├── LICENSE ├── requirements.txt ├── setup.py ├── .gitignore │ ├── lessons/ │ ├── 01_points_lines/ │ │ ├── README.md │ │ ├── lesson_notes.md │ │ ├── interactive.ipynb │ │ └── animations/ │ │ ├── point_construction.py │ │ ├── line_ray_segment.py │ │ └── media/ │ │ │ ├── 02_angles/ │ │ ├── README.md │ │ ├── lesson_notes.md │ │ ├── interactive.ipynb │ │ └── animations/ │ │ ├── acute_obtuse_right.py │ │ ├── complementary_supplementary.py │ │ └── angle_bisector.py │ │ │ ├── 03_triangles/ │ │ ├── README.md │ │ ├── lesson_notes.md │ │ ├── interactive.ipynb │ │ └── animations/ │ │ ├── triangle_types.py │ │ ├── pythagorean_visual.py │ │ └── triangle_inequality.py │ │ │ ├── 04_circles/ │ │ ├── README.md │ │ ├── lesson_notes.md │ │ ├── interactive.ipynb │ │ └── animations/ │ │ ├── circumference_diameter.py │ │ ├── inscribed_angles.py │ │ └── tangent_radius.py │ │ │ └── 05_coordinate_geometry/ │ ├── README.md │ ├── lesson_notes.md │ ├── interactive.ipynb │ └── animations/ │ ├── distance_midpoint.py │ ├── slope_intercept.py │ └── circle_equation.py │ ├── exercises/ │ ├── 01_points_lines_exercises.ipynb │ ├── 02_angles_exercises.ipynb │ ├── 03_triangles_exercises.ipynb │ ├── 04_circles_exercises.ipynb │ ├── 05_coordinate_exercises.ipynb │ └── solutions/ │ └── (same filenames with _solutions) │ ├── tools/ │ ├── geometry_utils.py │ ├── plot_helpers.py │ └── interactive_widgets.py │ ├── visual_proofs/ │ ├── pythagoras_animated.py │ ├── circle_area_derivation.py │ ├── triangle_sum_180.py │ └── pi_visual.py │ ├── tests/ │ ├── test_geometry_utils.py │ └── test_animations.py │ ├── docs/ │ ├── index.md │ ├── installation.md │ ├── usage.md │ └── contributing.md │ └── gallery/ ├── images/ └── videos/ 📄 Core File Contents 1. README.md (top-level) # Geometry Lessons with Code
self.play(FadeIn(dot_a, label_a), FadeIn(dot_b, label_b)) self.wait() self.play(Create(line)) self.wait() self.play(Transform(line, ray)) self.wait() self.play(Transform(line, segment)) self.wait() </code></pre> <hr> <h3><strong>5. Sample Interactive Notebook: <code>lessons/01_points_lines/interactive.ipynb</code></strong> (JSON-like snippet)</h3> <pre><code class="language-json">{ "cells": [ { "cell_type": "markdown", "source": [ "# Interactive Geometry: Points & Lines" ] }, { "cell_type": "code", "source": [ "import matplotlib.pyplot as plt\n", "import ipywidgets as widgets\n", "from IPython.display import display\n", "\n", "def plot_points(x1, y1, x2, y2, draw_line):\n", " plt.figure(figsize=(5,5))\n", " plt.scatter([x1, x2], [y1, y2], color='red')\n", " if draw_line:\n", " plt.plot([x1, x2], [y1, y2], 'b-')\n", " plt.xlim(-5,5); plt.ylim(-5,5)\n", " plt.grid(True)\n", " plt.show()\n", "\n", "widgets.interact(plot_points,\n", " x1=(-5,5,0.5), y1=(-5,5,0.5),\n", " x2=(-5,5,0.5), y2=(-5,5,0.5),\n", " draw_line=False)" ] } ] } </code></pre> <hr> <h3><strong>6. <code>tools/geometry_utils.py</code></strong></h3> <pre><code class="language-python">import math geometrylessonsgithub
## Running Animations ```bash manim lessons/03_triangles/animations/pythagorean_visual.py PythagoreanTheorem -p </code></pre> <h2>Using Jupyter Notebooks</h2> <pre><code class="language-bash">jupyter lab lessons/01_points_lines/interactive.ipynb </code></pre> <h2>Writing Your Own Lessons</h2> <p>Add a new folder under <code>lessons/</code> with <code>lesson_notes.md</code>, <code>interactive.ipynb</code>, and <code>animations/</code>.</p> <pre><code> ---
## Interactive Demo (in `interactive.ipynb`) Use widgets to plot points and toggle line/ray/segment. ## Exercises 1
### **2. `requirements.txt`**
This complete content provides a ready-to-push GitHub repository that teaches geometry visually, interactively, and programmatically. </code></pre> Name rays and segments given endpoints
def circle_equation(center, radius): """Returns (h,k,r) for (x-h)^2 + (y-k)^2 = r^2.""" return (center[0], center[1], radius) </code></pre> <hr> <h3><strong>7. <code>tests/test_geometry_utils.py</code></strong></h3> <pre><code class="language-python">from tools.geometry_utils import distance, slope