#set document(title: "2.3 Cylindrical and Spherical Coordinates", 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")) == 2.3#h(0.6em)Cylindrical and Spherical Coordinates #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Objectives] - Recognize the coordinate surfaces of spherical coordinates — sphere, cone, and half-plane — by shape alone. - Determine which faces of a box in spherical coordinates are curved, and why it can never have six flat faces. - Connect the size of a spherical box face to the sine factor that will appear in spherical volume integrals. ] Rectangular coordinates measure three straight distances. #strong[Cylindrical coordinates] #math.equation(block: false, alt: "open parenthesis r , θ , z close parenthesis")[$( r , θ , z )$] keep the vertical axis but describe the horizontal plane by polar coordinates; #strong[spherical coordinates] #math.equation(block: false, alt: "open parenthesis ρ , ϕ , θ close parenthesis")[$( ρ , ϕ , θ )$] go further and measure one distance and two angles: #math.equation(block: false, alt: "ρ")[$ρ$] is distance from the origin, #math.equation(block: false, alt: "ϕ")[$ϕ$] is the angle down from the positive #math.equation(block: false, alt: "z")[$z$]-axis, and #math.equation(block: false, alt: "θ")[$θ$] is the azimuth around that axis, the same angle cylindrical coordinates use. The conversion to rectangular is #math.equation(block: true, alt: "x equals ρ sin ϕ cos θ , y equals ρ sin ϕ sin θ , z equals ρ cos ϕ .")[$x = ρ sin ϕ cos θ , #h(2em) y = ρ sin ϕ sin θ , #h(2em) z = ρ cos ϕ .$] The character of a coordinate system lives in its #strong[coordinate surfaces]: the sets you get by freezing one coordinate and letting the other two roam. For rectangular coordinates all three families are flat planes. For spherical coordinates they are far more interesting, and the figure below shows all three at once. {"camera":{"fov":50,"position":\[7,5,4.5\],"projection":"perspective","target":\[0,0,1\]},"grid":{"axisColors":{"x":"\#ef4444","y":"\#22c55e","z":"\#3b82f6"},"divisions":10,"gridColor":"\#e5e7eb","showAxes":true,"showLabels":true,"size":10,"visible":true},"id":"40edcc86-029e-43b9-a082-b2f885c7f05a","metadata":{"alt\_text":"Three intersecting wireframe surfaces: a transparent sphere of radius 2.5 centered at the origin, an upward-opening 45-degree cone with its tip at the origin, and a vertical half-plane rising from the z-axis at 60 degrees from the x-axis. A fourth object, hidden at first, is a small curved mesh patch on the sphere marking one face of a spherical box.","created\_at":"2026-07-07T00:00:00.000Z","description":"Workbook scene: the three spherical coordinate surfaces rho=2.5 (sphere), phi=pi/4 (cone), theta=pi/3 (half-plane) as wireframe parametric surfaces, plus a hidden sphere patch that is the outer (rho=2.5) face of the spherical box 1.5\<=rho\<=2.5, pi/6\<=phi\<=pi/3, pi/6\<=theta\<=pi/3.","tags":\["workbook","calc3","spherical-coordinates","coordinate-surfaces"\],"updated\_at":"2026-07-07T00:00:00.000Z"},"objects":\[{"id":"2fb45687-ecfb-481a-bbb6-faace700fab8","kind":"parametric-surface","label":{"text":"rho = 2.5 (sphere)","visible":true},"resolution":48,"style":{"colormap":"viridis","doubleSided":true,"opacity":0.3,"wireframe":true,"wireframeColor":"\#475569"},"uDomain":\[0,6.283185307179586\],"vDomain":\[0,3.141592653589793\],"visible":true,"xExpr":"2.5\*cos(u)\*sin(v)","yExpr":"2.5\*sin(u)\*sin(v)","zExpr":"2.5\*cos(v)"},{"id":"472ec448-feab-46aa-8da5-70d900a1cfa9","kind":"parametric-surface","label":{"text":"phi = pi/4 (cone)","visible":true},"resolution":40,"style":{"colormap":"plasma","doubleSided":true,"opacity":0.45,"wireframe":true,"wireframeColor":"\#475569"},"uDomain":\[0,3.5\],"vDomain":\[0,6.283185307179586\],"visible":true,"xExpr":"0.7071067811865476\*u\*cos(v)","yExpr":"0.7071067811865476\*u\*sin(v)","zExpr":"0.7071067811865476\*u"},{"id":"85321ee9-a5f2-41ad-8dd4-2f6e7de67b5e","kind":"parametric-surface","label":{"text":"theta = pi/3 (half-plane)","visible":true},"resolution":24,"style":{"colormap":"grayscale","doubleSided":true,"opacity":0.5,"wireframe":true,"wireframeColor":"\#475569"},"uDomain":\[0,3\],"vDomain":\[-2.5,2.5\],"visible":true,"xExpr":"0.5\*u","yExpr":"0.8660254037844386\*u","zExpr":"v"},{"id":"f0597058-c1f9-415f-a0e8-69d6ef5c08a6","kind":"parametric-surface","label":{"text":"spherical box face","visible":true},"resolution":24,"style":{"colormap":"inferno","doubleSided":true,"opacity":0.9,"wireframe":true,"wireframeColor":"\#475569"},"uDomain":\[0.5235987755982988,1.0471975511965976\],"vDomain":\[0.5235987755982988,1.0471975511965976\],"visible":false,"xExpr":"2.5\*cos(u)\*sin(v)","yExpr":"2.5\*sin(u)\*sin(v)","zExpr":"2.5\*cos(v)"}\],"title":"Spherical coordinate surfaces: sphere, cone, half-plane","version":1} Three intersecting coordinate surfaces: the sphere #math.equation(block: false, alt: "ρ equals 2.5")[$ρ = 2.5$], the cone #math.equation(block: false, alt: "ϕ equals π / 4")[$ϕ = π / 4$], and the half-plane #math.equation(block: false, alt: "θ equals π / 3")[$θ = π / 3$]. A fourth object — one face of a spherical box — hides in the object list until you reveal it. === Explore + Cover the labels and match each surface to its frozen coordinate. How does the shape alone give each one away? Why is the #math.equation(block: false, alt: "θ")[$θ$] surface only #emph[half] a plane? + The mesh lines on the sphere are the curves where the other two coordinates are constant. Which family — horizontal circles or pole-to-pole arcs — is constant #math.equation(block: false, alt: "ϕ")[$ϕ$], and which is constant #math.equation(block: false, alt: "θ")[$θ$]? + Predict what happens to the cone as #math.equation(block: false, alt: "ϕ")[$ϕ$] grows from #math.equation(block: false, alt: "π / 4")[$π / 4$] toward #math.equation(block: false, alt: "π / 2")[$π / 2$], then edit the cone's components to test it (replace the constant #math.equation(block: false, alt: "sin open parenthesis π / 4 close parenthesis")[$sin ( π / 4 )$] and #math.equation(block: false, alt: "cos open parenthesis π / 4 close parenthesis")[$cos ( π / 4 )$] factors with #math.equation(block: false, alt: "sin")[$sin$] and #math.equation(block: false, alt: "cos")[$cos$] of your new angle). What surface does the cone flatten into at exactly #math.equation(block: false, alt: "ϕ equals π / 2")[$ϕ = π / 2$]? + Reveal the hidden bright patch: the outer face of the spherical box #math.equation(block: false, alt: "1.5 less than or equal to ρ less than or equal to 2.5")[$1.5 ≤ ρ ≤ 2.5$], #math.equation(block: false, alt: "π / 6 less than or equal to ϕ less than or equal to π / 3")[$π / 6 ≤ ϕ ≤ π / 3$], #math.equation(block: false, alt: "π / 6 less than or equal to θ less than or equal to π / 3")[$π / 6 ≤ θ ≤ π / 3$]. Orbit close and examine its four edges. Are any of them straight? + In the patch's domain fields, slide the #math.equation(block: false, alt: "ϕ")[$ϕ$]-interval down toward the equator, keeping its width the same. The face grows. The angular intervals did not change — so what did? === The box with almost no flat sides A "box" in any coordinate system is a region where each coordinate runs between two constants, so its faces are patches of coordinate surfaces. In spherical coordinates that means: two sphere patches (inner and outer), two cone patches, and two half-plane patches. Only the half-plane faces are flat. Of the twelve edges, only the four radial ones are straight segments — all the others are arcs of circles. The spherical box is a bite taken out of an orange: curved skin, curved core, flat cuts only where the knife followed a meridian. The exploration's last step is the one to remember. A face with the #emph[same] spread of angles is small near the pole and large near the equator, because the meridians crowd together as #math.equation(block: false, alt: "sin ϕ")[$sin ϕ$] shrinks. A patch at radius #math.equation(block: false, alt: "ρ")[$ρ$] spanning #math.equation(block: false, alt: "Δ ϕ")[$Δ ϕ$] by #math.equation(block: false, alt: "Δ θ")[$Δ θ$] has area approximately #math.equation(block: false, alt: "ρ squared sin ϕ Δ ϕ Δ θ")[$ρ^(2) sin ϕ Δ ϕ Δ θ$] — and that #math.equation(block: false, alt: "sin ϕ")[$sin ϕ$] is exactly the factor that will appear in the spherical volume element #math.equation(block: false, alt: "d V equals ρ squared sin ϕ d ρ d ϕ d θ")[$d V = ρ^(2) sin ϕ d ρ d ϕ d θ$] when we integrate in the final chapter. You have now #emph[seen] the reason before ever meeting the formula. #examplebox("Example 1")[Naming surfaces from equations][ Identify each set in spherical coordinates: (a) #math.equation(block: false, alt: "ρ equals 4")[$ρ = 4$]; (b) #math.equation(block: false, alt: "ϕ equals π / 2")[$ϕ = π / 2$]; (c) #math.equation(block: false, alt: "θ equals 0")[$θ = 0$]; (d) #math.equation(block: false, alt: "ρ cos ϕ equals 1")[$ρ cos ϕ = 1$]. (a) All points at distance 4 from the origin: a sphere of radius 4. (b) The angle down from the #math.equation(block: false, alt: "z")[$z$]-axis is a right angle: the entire #math.equation(block: false, alt: "x y")[$x y$]-plane — the degenerate cone your edit in the exploration flattened into. (c) The half-plane hinged on the #math.equation(block: false, alt: "z")[$z$]-axis containing the positive #math.equation(block: false, alt: "x")[$x$]-axis. (d) Since #math.equation(block: false, alt: "z equals ρ cos ϕ")[$z = ρ cos ϕ$], this is the horizontal plane #math.equation(block: false, alt: "z equals 1")[$z = 1$] — a plane that spherical coordinates describe awkwardly, which is the point: each coordinate system makes its own family of surfaces simple, and choosing coordinates is choosing which surfaces you want to be easy. ]