Section 1.2 — From Lines to Planes

We extend the geometric viewpoint from $\mathbb{R}^2$ to $\mathbb{R}^3$. In this section we learn that:

  • A linear equation in two variables describes a line.
  • A linear equation in three variables describes a plane.
  • Coefficients control the orientation of the plane.
  • Two planes typically intersect in a line, foreshadowing solution sets in 3D.
# from manim import *
# import numpy as np

# from linear_algebra_course.common.axes import make_axes_2d, make_axes_3d
# from linear_algebra_course.common.geometry import plane_surface

from linear_algebra_course.chapter1.section2.scenes import *

# Render helper for notebooks
# config.media_width = "80%"
# config.verbosity = "WARNING"
from drawsvg_renderer import DrawSVGRenderer

renderer = DrawSVGRenderer(
    width=800,
    height=600,
    frame_width=16.0,
    background_color="#000000",
    output_mode='jupyter',
    fps=30,
    show_progress=False
)

Scene 1 — From 2D Line to 3D Plane

In two variables the equation $x + y = 3$ describes a line. When we add a third variable, $x + y + z = 3$ describes a plane in $\mathbb{R}^3$.

The camera tilts gradually to reveal the extra dimension.

renderer.display_all(Scene1_From2DLineTo3DPlane(), display=False)
renderer._finalize_interactivity()
renderer.display_inline()
Cell visualization output

Scene 2 — Building a Plane from Sample Points

Consider $x + y + z = 2$. We can generate several solution triples — e.g. $(2,0,0)$, $(0,2,0)$, $(0,0,2)$, $(1,1,0)$, etc. — and see that they all lie on a single translucent plane.

Every point on the plane satisfies the equation.

renderer.display_all(Scene2_PlaneFromSamplePoints(), display=False)
renderer._finalize_interactivity()
renderer.display_inline()
Cell visualization output

Scene 3 — What Coefficients Do Visually

Compare three planes that differ only in one coefficient:

$$ x + y + z = 2 \qquad 2x + y + z = 2 \qquad x + 2y + z = 2 $$

Doubling the coefficient of $x$ tilts the plane toward the $x$-axis; doubling the coefficient of $y$ tilts it toward $y$.

renderer.display_all(Scene3_CoefficientEffect(), display=False)
renderer._finalize_interactivity()
renderer.display_inline()
Cell visualization output

Scene 4 — Intercepts as Anchors

For the plane $x + y + z = 3$, the intercepts with the coordinate axes are:

  • $x$-intercept: $(3, 0, 0)$
  • $y$-intercept: $(0, 3, 0)$
  • $z$-intercept: $(0, 0, 3)$

These three points provide quick anchors for sketching and reasoning about the plane.

renderer.display_all(Scene4_Intercepts(), display=False)
renderer._finalize_interactivity()
renderer.display_inline()
Cell visualization output

Scene 5 — Predicting Solution Sets Before Solving

Two planes in $\mathbb{R}^3$ typically intersect in a line. Before doing any algebra, geometry already tells us the structure of the solution set.

Consider: $$ x + y + z = 3 \qquad \text{and} \qquad x - y + z = 1 $$

Subtracting: $2y = 2 \Rightarrow y = 1$, so the intersection line is $(t,\, 1,\, 2-t)$.

renderer.display_all(Scene5_TwoPlanesIntersection(), display=False)
renderer._finalize_interactivity()
renderer.display_inline()
Cell visualization output

Scene 6 — Quick Concept Recap

One linear equation can produce different geometric objects depending on the number of variables:

Variables Space Graph
2 $\mathbb{R}^2$ Line
3 $\mathbb{R}^3$ Plane

Adding a variable adds a dimension — the solution set of a single equation is always a hyperplane one dimension below the ambient space.

renderer.display_all(Scene6_ConceptRecap(), display=False)
renderer._finalize_interactivity()
renderer.display_inline()
Cell visualization output