#set document(title: "1.2 Lines That Miss: Skew or Cross", author: "XYZ Homework") #set page(width: 8.5in, height: auto, margin: 1in) #import "@preview/cetz:0.5.2" #set text(font: ("STIX Two Text", "Libertinus Serif", "New Computer Modern"), size: 10.5pt, lang: "en") #show math.equation: set text(font: ("STIX Two Math", "New Computer Modern Math")) #set par(justify: true, leading: 0.62em, spacing: 0.9em) #set enum(spacing: 1.1em) // room between list items so tall inline fractions don't collide #set list(spacing: 1.1em) #set table(stroke: 0.5pt + rgb("#c7ccd3")) #let BLUE = rgb("#183B6F") // brand navy — section bars + example/solution labels (white on navy 11.09:1) #let ORANGE = rgb("#A94509") // brand primary-700 — AA-safe deep orange for TEXT (5.93:1 on white; raw brand #F37021 is 2.94:1 and must never carry text) #let RED = rgb("#DC2626") // brand error-600 #let GREEN = rgb("#059669") // brand success-600 (decoration only; small green text uses green-text #007942) #show heading.where(level: 1): it => block(width: 100%, above: 0pt, below: 16pt, fill: gradient.linear(BLUE, rgb("#2C5AA0")), inset: (x: 14pt, y: 12pt), radius: 3pt, text(fill: white, weight: "bold", size: 19pt, it.body)) #show heading.where(level: 2): it => block(width: 100%, above: 18pt, below: 10pt, fill: BLUE, inset: (x: 10pt, y: 6pt), radius: 2pt, text(fill: white, weight: "bold", size: 12pt, it.body)) #show heading.where(level: 3): it => text(fill: ORANGE, weight: "bold", size: 12.5pt, it.body) #show heading.where(level: 4): it => text(fill: BLUE, weight: "bold", size: 10.5pt, it.body) #let examplebox(label, title, body) = block(width: 100%, breakable: true, fill: rgb("#EFF1F5"), stroke: 0.5pt + rgb("#CFDDF0"), radius: 4pt, inset: 10pt, above: 12pt, below: 12pt)[ #block(below: 6pt)[#box(fill: BLUE, inset: (x: 6pt, y: 2pt), radius: 2pt, text(fill: white, weight: "bold", size: 8.5pt, label)) #h(0.4em) #strong[#title]] #body] // rail = decorative left rule (raw brand token); labelcolor = AA-safe label text shade #let notebox(label, rail, labelcolor, tint, body) = block(width: 100%, breakable: true, fill: tint, stroke: (left: 3pt + rail), inset: (left: 10pt, rest: 8pt), radius: (right: 4pt), above: 11pt, below: 11pt)[ #text(fill: labelcolor, weight: "bold", size: 7.5pt, tracking: 0.5pt)[#upper(label)] #linebreak() #body] #let solutionbox(body) = block(above: 4pt, below: 8pt)[ #text(fill: BLUE, weight: "bold", size: 8.5pt)[Solution] #linebreak() #body] #let figph(msg) = block(width: 100%, height: 60pt, fill: rgb("#f6f7f9"), stroke: (paint: rgb("#c7ccd3"), dash: "dashed"), radius: 4pt, inset: 10pt)[ #align(center + horizon, text(fill: rgb("#889"), style: "italic", size: 9pt, msg))] // Standardize inlined figure sizes: measure the natural CeTZ canvas, then scale to a // consistent envelope (aspect-aware; see build_typst.py FIG_* constants). Unlike the // print preamble, dimensions are FLOORED: in an editor a user can trim a figure to a // degenerate 1-D shape (a bare line), and w/h or tw/w would then divide by zero. #let _STD_W = 3.5 #let _WIDE_W = 5.6 #let _MAX_H = 3.4 #let _ASPECT_WIDE = 2.2 #let _UPSCALE_MAX = 1.15 #let stdfig(body) = context { let m = measure(body) let w = calc.max(m.width / 1in, 0.01) let h = calc.max(m.height / 1in, 0.01) let tw = if w / h > _ASPECT_WIDE { _WIDE_W } else { _STD_W } let s = calc.min(tw / w, _MAX_H / h, _UPSCALE_MAX) align(center, box(scale(x: s * 100%, y: s * 100%, reflow: true, body))) } #show figure: set block(breakable: false) #set figure(gap: 8pt) #show figure.caption: set text(size: 8.5pt, fill: rgb("#555")) == 1.2#h(0.6em)Lines That Miss: Skew or Cross #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Objectives] - Distinguish skew, intersecting, and parallel lines in space by orbiting rather than trusting one viewpoint. - Test a claimed intersection by solving three equations in the two line parameters. - Explain skewness as an overdetermined system with no solution. ] A line in space is easiest to describe by motion: start at a point, travel along a fixed #strong[direction vector]. The line through #math.equation(block: false, alt: "open parenthesis x sub 0 , y sub 0 , z sub 0 close parenthesis")[$( x_(0) , y_(0) , z_(0) )$] with direction #math.equation(block: false, alt: "𝐯 equals ⟨ v sub 1 , v sub 2 , v sub 3 ⟩")[$𝐯 = ⟨ v_(1) , v_(2) , v_(3) ⟩$] is #math.equation(block: true, alt: "𝐫 open parenthesis t close parenthesis equals open parenthesis x sub 0 plus t v sub 1 , y sub 0 plus t v sub 2 , z sub 0 plus t v sub 3 close parenthesis ,")[$𝐫 ( t ) = ( x_(0) + t v_(1) , #h(0.278em) y_(0) + t v_(2) , #h(0.278em) z_(0) + t v_(3) ) ,$] one free parameter #math.equation(block: false, alt: "t")[$t$] sweeping out the whole line. In the plane, two lines that are not parallel must cross. Space is roomier. Two lines can be non-parallel and #emph[still] never touch, simply by passing at different depths — such lines are called #strong[skew]. The figure below stages exactly this deception. {"camera":{"fov":50,"position":\[7,5,5\],"projection":"perspective","target":\[1,2,1\]},"grid":{"axisColors":{"x":"\#ef4444","y":"\#22c55e","z":"\#3b82f6"},"divisions":10,"gridColor":"\#e5e7eb","showAxes":true,"showLabels":true,"size":10,"visible":true},"id":"af17ce08-0f35-483d-80fc-1af0dfd2e12d","metadata":{"alt\_text":"Two straight lines in 3D space: a red line L1 through (1,0,3) with direction (1,2,-1) and a blue line L2 through (2,3,2) with direction (1,1,1). From the opening camera angle they appear to cross, but orbiting reveals they never meet: the lines are skew. A hidden point P at (3,4,1) marks where they would intersect after the activity's one-character repair.","created\_at":"2026-07-07T00:00:00.000Z","description":"Workbook scene: skew lines L1(t)=(1+t, 2t, 3-t) and L2(t)=(2+t, 3+t, 2+t) staged so they appear to cross from the opening viewpoint, plus a hidden point at (3,4,1) that becomes their intersection once L2's z-component is edited to t.","tags":\["workbook","calc3-vectors-lines-quadrics","lines","skew","parametric-curve"\],"updated\_at":"2026-07-07T00:00:00.000Z"},"objects":\[{"id":"532fcf5d-9ff9-4b6f-b361-f8dfe6889b75","kind":"parametric-curve","label":{"text":"L1: (1+t, 2t, 3-t)","visible":true},"samples":200,"style":{"color":"\#ef4444","dash":\[\],"lineWidth":3},"tDomain":\[-4,4\],"visible":true,"xExpr":"1 + t","yExpr":"2\*t","zExpr":"3 - t"},{"id":"4645944a-6c9b-4c7e-9aeb-2ab02b8d6669","kind":"parametric-curve","label":{"text":"L2: (2+t, 3+t, 2+t)","visible":true},"samples":200,"style":{"color":"\#3b82f6","dash":\[\],"lineWidth":3},"tDomain":\[-4,4\],"visible":true,"xExpr":"2 + t","yExpr":"3 + t","zExpr":"2 + t"},{"color":"\#111827","id":"8b9d67ab-cb52-4669-83c1-a6cc80b45321","kind":"point","label":{"text":"P (3, 4, 1)","visible":true},"radius":0.1,"visible":false,"x":3,"y":4,"z":1}\],"title":"The Crossing That Never Happens","version":1} A red line L1 with components #math.equation(block: false, alt: "open parenthesis 1 plus t , 2 t , 3 minus t close parenthesis")[$( 1 + t , #h(0.278em) 2 t , #h(0.278em) 3 − t )$] and a blue line L2 with components #math.equation(block: false, alt: "open parenthesis 2 plus t , 3 plus t , 2 plus t close parenthesis")[$( 2 + t , #h(0.278em) 3 + t , #h(0.278em) 2 + t )$]. From the opening camera they appear to cross. Activate the figure and orbit before you believe it. === Explore + From the opening view, read the approximate coordinates of the apparent crossing against the grid. How confident are you that the lines touch there? + Orbit slowly. At some angle the crossing dissolves into a visible gap, one line passing in front of the other. Orbit until the gap is as wide as you can make it. Were the lines ever touching? + Read a direction vector off each line's components. Could these lines be parallel? Answer from the direction vectors alone. + The scene hides a point P at #math.equation(block: false, alt: "open parenthesis 3 , 4 , 1 close parenthesis")[$( 3 , 4 , 1 )$], which lies on L1. What single edit to L2's #math.equation(block: false, alt: "z")[$z$]-component would drag the blue line until it truly passes through P? Predict, then try it: edit the constant in 2 + t downward and watch the gap close like a dial. Reveal P to confirm. + After the repair, find the parameter value that puts L1 at P and the value that puts L2 there. They are different numbers. Does that matter? === Three equations, two unknowns The visual test has an exact algebraic mirror. Give each line its own parameter — #math.equation(block: false, alt: "t")[$t$] on L1, #math.equation(block: false, alt: "s")[$s$] on L2, and this independence matters — and demand that all three coordinates agree: #math.equation(block: true, alt: "1 plus t equals 2 plus s , 2 t equals 3 plus s , 3 minus t equals 2 plus s .")[$1 + t = 2 + s , #h(2em) 2 t = 3 + s , #h(2em) 3 − t = 2 + s .$] Three equations, two unknowns: an overdetermined system. The first two force a unique candidate — subtracting them gives #math.equation(block: false, alt: "t equals 2")[$t = 2$] and then #math.equation(block: false, alt: "s equals 1")[$s = 1$] — and the third equation becomes the verdict. Here it reads #math.equation(block: false, alt: "3 minus 2 equals 2 plus 1")[$3 − 2 = 2 + 1$], that is #math.equation(block: false, alt: "1 equals 3")[$1 = 3$], which is false. No parameter pair works, and #emph[that failure is the skewness]. The lines are not parallel (their directions #math.equation(block: false, alt: "⟨ 1 , 2 , minus 1 ⟩")[$⟨ 1 , 2 , − 1 ⟩$] and #math.equation(block: false, alt: "⟨ 1 , 1 , 1 ⟩")[$⟨ 1 , 1 , 1 ⟩$] are not proportional), so they are skew: non-parallel lines that never meet. Parallel lines fail the test earlier and differently — proportional direction vectors degenerate the system before any candidate appears. And when the third equation #emph[does] agree, the lines intersect at the point both reach, even though they generally reach it at different parameter values: the parameters are private clocks, one per line, and an intersection is a shared place, not a shared time. #examplebox("Example 1")[Certifying the repaired crossing][ Replace L2 by #math.equation(block: false, alt: "open parenthesis 2 plus s , 3 plus s , s close parenthesis")[$( 2 + s , #h(0.278em) 3 + s , #h(0.278em) s )$] — the repair from the exploration above. Show that this line meets L1 at #math.equation(block: false, alt: "open parenthesis 3 , 4 , 1 close parenthesis")[$( 3 , 4 , 1 )$]. Set the coordinates equal: #math.equation(block: false, alt: "1 plus t equals 2 plus s")[$1 + t = 2 + s$] and #math.equation(block: false, alt: "2 t equals 3 plus s")[$2 t = 3 + s$] still force #math.equation(block: false, alt: "t equals 2")[$t = 2$], #math.equation(block: false, alt: "s equals 1")[$s = 1$]. The third equation now asks whether #math.equation(block: false, alt: "3 minus t equals s")[$3 − t = s$], that is #math.equation(block: false, alt: "3 minus 2 equals 1")[$3 − 2 = 1$], which is true. So both lines pass through #math.equation(block: false, alt: "𝐫 sub 1 open parenthesis 2 close parenthesis equals open parenthesis 3 , 4 , 1 close parenthesis equals 𝐫 sub 2 open parenthesis 1 close parenthesis")[$𝐫_(1) ( 2 ) = ( 3 , 4 , 1 ) = 𝐫_(2) ( 1 )$]. The intersection is genuine — every orbit of the repaired scene shows the two lines pinned together at P — and the two parameter values 2 and 1 need not match, because each line measures progress on its own scale. ] #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ Your plane-geometry instinct says non-parallel lines must meet. That instinct is a theorem about two dimensions only. In space, #emph[miss] is the generic case, and crossing is the special event that three agreeing equations must certify. ]