auto-update(nvim): 2025-02-23 18:35:38
This commit is contained in:
parent
e0624dc5f8
commit
1d31bf8ebe
2 changed files with 503 additions and 343 deletions
|
@ -1,341 +0,0 @@
|
||||||
#import "@preview/ctheorems:1.1.3": *
|
|
||||||
#import "@preview/showybox:2.0.3": showybox
|
|
||||||
|
|
||||||
#let colors = (
|
|
||||||
rgb("#9E9E9E"),
|
|
||||||
rgb("#F44336"),
|
|
||||||
rgb("#E91E63"),
|
|
||||||
rgb("#9C27B0"),
|
|
||||||
rgb("#673AB7"),
|
|
||||||
rgb("#3F51B5"),
|
|
||||||
rgb("#2196F3"),
|
|
||||||
rgb("#03A9F4"),
|
|
||||||
rgb("#00BCD4"),
|
|
||||||
rgb("#009688"),
|
|
||||||
rgb("#4CAF50"),
|
|
||||||
rgb("#8BC34A"),
|
|
||||||
rgb("#CDDC39"),
|
|
||||||
rgb("#FFEB3B"),
|
|
||||||
rgb("#FFC107"),
|
|
||||||
rgb("#FF9800"),
|
|
||||||
rgb("#FF5722"),
|
|
||||||
rgb("#795548"),
|
|
||||||
rgb("#9E9E9E"),
|
|
||||||
)
|
|
||||||
|
|
||||||
#let dvdtyp(
|
|
||||||
title: "",
|
|
||||||
subtitle: "",
|
|
||||||
author: "",
|
|
||||||
abstract: none,
|
|
||||||
bibliography: none,
|
|
||||||
paper-size: "a4",
|
|
||||||
date: "today",
|
|
||||||
body,
|
|
||||||
) = {
|
|
||||||
set document(title: title, author: author)
|
|
||||||
|
|
||||||
set std.bibliography(style: "springer-mathphys", title: [References])
|
|
||||||
|
|
||||||
show: thmrules
|
|
||||||
|
|
||||||
set page(
|
|
||||||
numbering: "1",
|
|
||||||
number-align: center,
|
|
||||||
header: locate(loc => {
|
|
||||||
if loc.page() == 1 {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
box(stroke: (bottom: 0.7pt), inset: 0.4em)[#text(
|
|
||||||
font: "New Computer Modern",
|
|
||||||
)[
|
|
||||||
*#author* --- #datetime.today().display("[day] [month repr:long] [year]")
|
|
||||||
#h(1fr)
|
|
||||||
*#title*
|
|
||||||
]]
|
|
||||||
}),
|
|
||||||
paper: paper-size,
|
|
||||||
// The margins depend on the paper size.
|
|
||||||
margin: (
|
|
||||||
left: (86pt / 216mm) * 100%,
|
|
||||||
right: (86pt / 216mm) * 100%,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
set heading(numbering: "1.")
|
|
||||||
show heading: it => {
|
|
||||||
set text(font: "Libertinus Serif")
|
|
||||||
|
|
||||||
block[
|
|
||||||
#if it.numbering != none {
|
|
||||||
text(rgb("#2196F3"), weight: 500)[#sym.section]
|
|
||||||
|
|
||||||
text(rgb("#2196F3"))[#counter(heading).display() ]
|
|
||||||
}
|
|
||||||
#it.body
|
|
||||||
#v(0.5em)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
set text(font: "New Computer Modern", lang: "en")
|
|
||||||
|
|
||||||
show math.equation: set text(weight: 400)
|
|
||||||
|
|
||||||
|
|
||||||
// Title row.
|
|
||||||
align(center)[
|
|
||||||
#set text(font: "Libertinus Serif")
|
|
||||||
#block(text(weight: 700, 26pt, title))
|
|
||||||
|
|
||||||
|
|
||||||
#if subtitle != none [#text(12pt, weight: 500)[#(
|
|
||||||
subtitle
|
|
||||||
)]]
|
|
||||||
|
|
||||||
#if author != none [#text(16pt)[#smallcaps(author)]]
|
|
||||||
#v(1.2em, weak: true)
|
|
||||||
|
|
||||||
#if date == "today" {
|
|
||||||
datetime.today().display("[day] [month repr:long] [year]")
|
|
||||||
} else {
|
|
||||||
date
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
if abstract != none [
|
|
||||||
#v(2.2em)
|
|
||||||
#set text(font: "Libertinus Serif")
|
|
||||||
#pad(x: 14%, abstract)
|
|
||||||
#v(1em)
|
|
||||||
]
|
|
||||||
|
|
||||||
set outline(fill: repeat[~.], indent: 1em)
|
|
||||||
|
|
||||||
show outline: set heading(numbering: none)
|
|
||||||
show outline: set par(first-line-indent: 0em)
|
|
||||||
|
|
||||||
show outline.entry.where(level: 1): it => {
|
|
||||||
text(font: "Libertinus Serif", rgb("#2196F3"))[#strong[#it]]
|
|
||||||
}
|
|
||||||
show outline.entry: it => {
|
|
||||||
h(1em)
|
|
||||||
text(font: "Libertinus Serif", rgb("#2196F3"))[#it]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Main body.
|
|
||||||
set par(
|
|
||||||
justify: true,
|
|
||||||
spacing: 0.65em,
|
|
||||||
first-line-indent: 2em,
|
|
||||||
)
|
|
||||||
|
|
||||||
body
|
|
||||||
|
|
||||||
// Display the bibliography, if any is given.
|
|
||||||
if bibliography != none {
|
|
||||||
show std.bibliography: set text(footnote-size)
|
|
||||||
show std.bibliography: set block(above: 11pt)
|
|
||||||
show std.bibliography: pad.with(x: 0.5pt)
|
|
||||||
bibliography
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#let thmtitle(t, color: rgb("#000000")) = {
|
|
||||||
return text(
|
|
||||||
font: "Libertinus Serif",
|
|
||||||
weight: "semibold",
|
|
||||||
fill: color,
|
|
||||||
)[#t]
|
|
||||||
}
|
|
||||||
#let thmname(t, color: rgb("#000000")) = {
|
|
||||||
return text(font: "Libertinus Serif", fill: color)[(#t)]
|
|
||||||
}
|
|
||||||
|
|
||||||
#let thmtext(t, color: rgb("#000000")) = {
|
|
||||||
let a = t.children
|
|
||||||
if (a.at(0) == [ ]) {
|
|
||||||
a.remove(0)
|
|
||||||
}
|
|
||||||
t = a.join()
|
|
||||||
|
|
||||||
return text(font: "New Computer Modern", fill: color)[#t]
|
|
||||||
}
|
|
||||||
|
|
||||||
#let thmbase(
|
|
||||||
identifier,
|
|
||||||
head,
|
|
||||||
..blockargs,
|
|
||||||
supplement: auto,
|
|
||||||
padding: (top: 0.5em, bottom: 0.5em),
|
|
||||||
namefmt: x => [(#x)],
|
|
||||||
titlefmt: strong,
|
|
||||||
bodyfmt: x => x,
|
|
||||||
separator: [. \ ],
|
|
||||||
base: "heading",
|
|
||||||
base_level: none,
|
|
||||||
) = {
|
|
||||||
if supplement == auto {
|
|
||||||
supplement = head
|
|
||||||
}
|
|
||||||
let boxfmt(name, number, body, title: auto, ..blockargs_individual) = {
|
|
||||||
if not name == none {
|
|
||||||
name = [ #namefmt(name)]
|
|
||||||
} else {
|
|
||||||
name = []
|
|
||||||
}
|
|
||||||
if title == auto {
|
|
||||||
title = head
|
|
||||||
}
|
|
||||||
if not number == none {
|
|
||||||
title += " " + number
|
|
||||||
}
|
|
||||||
title = titlefmt(title)
|
|
||||||
body = [#pad(top: 2pt, bodyfmt(body))]
|
|
||||||
pad(
|
|
||||||
..padding,
|
|
||||||
showybox(
|
|
||||||
width: 100%,
|
|
||||||
radius: 0.3em,
|
|
||||||
breakable: true,
|
|
||||||
padding: (top: 0em, bottom: 0em),
|
|
||||||
..blockargs.named(),
|
|
||||||
..blockargs_individual.named(),
|
|
||||||
[
|
|
||||||
#title#name#titlefmt(separator)#body
|
|
||||||
],
|
|
||||||
),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
let auxthmenv = thmenv(
|
|
||||||
identifier,
|
|
||||||
base,
|
|
||||||
base_level,
|
|
||||||
boxfmt,
|
|
||||||
).with(supplement: supplement)
|
|
||||||
|
|
||||||
return auxthmenv.with(numbering: "1.1")
|
|
||||||
}
|
|
||||||
|
|
||||||
#let styled-thmbase = thmbase.with(
|
|
||||||
titlefmt: thmtitle,
|
|
||||||
namefmt: thmname,
|
|
||||||
bodyfmt: thmtext,
|
|
||||||
)
|
|
||||||
|
|
||||||
#let builder-thmbox(color: rgb("#000000"), ..builderargs) = styled-thmbase.with(
|
|
||||||
titlefmt: thmtitle.with(color: color.darken(30%)),
|
|
||||||
bodyfmt: thmtext.with(color: color.darken(70%)),
|
|
||||||
namefmt: thmname.with(color: color.darken(30%)),
|
|
||||||
frame: (
|
|
||||||
body-color: color.lighten(92%),
|
|
||||||
border-color: color.darken(10%),
|
|
||||||
thickness: 1.5pt,
|
|
||||||
inset: 1.2em,
|
|
||||||
radius: 0.3em,
|
|
||||||
),
|
|
||||||
..builderargs,
|
|
||||||
)
|
|
||||||
|
|
||||||
#let builder-thmline(
|
|
||||||
color: rgb("#000000"),
|
|
||||||
..builderargs,
|
|
||||||
) = styled-thmbase.with(
|
|
||||||
titlefmt: thmtitle.with(color: color.darken(30%)),
|
|
||||||
bodyfmt: thmtext.with(color: color.darken(70%)),
|
|
||||||
namefmt: thmname.with(color: color.darken(30%)),
|
|
||||||
frame: (
|
|
||||||
body-color: color.lighten(92%),
|
|
||||||
border-color: color.darken(10%),
|
|
||||||
thickness: (left: 2pt),
|
|
||||||
inset: 1.2em,
|
|
||||||
radius: 0em,
|
|
||||||
),
|
|
||||||
..builderargs,
|
|
||||||
)
|
|
||||||
|
|
||||||
#let problem-style = builder-thmbox(
|
|
||||||
color: colors.at(11),
|
|
||||||
shadow: (offset: (x: 2pt, y: 2pt), color: luma(70%)),
|
|
||||||
)
|
|
||||||
|
|
||||||
#let exercise = problem-style("item", "Exercise")
|
|
||||||
#let problem = exercise
|
|
||||||
|
|
||||||
#let theorem-style = builder-thmbox(
|
|
||||||
color: colors.at(6),
|
|
||||||
shadow: (offset: (x: 3pt, y: 3pt), color: luma(70%)),
|
|
||||||
)
|
|
||||||
|
|
||||||
#let example-style = builder-thmbox(
|
|
||||||
color: colors.at(16),
|
|
||||||
shadow: (offset: (x: 3pt, y: 3pt), color: luma(70%)),
|
|
||||||
)
|
|
||||||
|
|
||||||
#let theorem = theorem-style("item", "Theorem")
|
|
||||||
#let lemma = theorem-style("item", "Lemma")
|
|
||||||
#let corollary = theorem-style("item", "Corollary")
|
|
||||||
|
|
||||||
#let definition-style = builder-thmline(color: colors.at(8))
|
|
||||||
|
|
||||||
// #let definition = definition-style("definition", "Definition")
|
|
||||||
#let proposition = definition-style("item", "Proposition")
|
|
||||||
#let remark = definition-style("item", "Remark")
|
|
||||||
#let observation = definition-style("item", "Observation")
|
|
||||||
|
|
||||||
// #let example-style = builder-thmline(color: colors.at(16))
|
|
||||||
|
|
||||||
#let example = example-style("item", "Example")
|
|
||||||
|
|
||||||
#let proof(body, name: none) = {
|
|
||||||
v(0.5em)
|
|
||||||
[_Proof_]
|
|
||||||
if name != none {
|
|
||||||
[ #thmname[#name]]
|
|
||||||
}
|
|
||||||
[.]
|
|
||||||
body
|
|
||||||
h(1fr)
|
|
||||||
|
|
||||||
// Add a word-joiner so that the proof square and the last word before the
|
|
||||||
// 1fr spacing are kept together.
|
|
||||||
sym.wj
|
|
||||||
|
|
||||||
// Add a non-breaking space to ensure a minimum amount of space between the
|
|
||||||
// text and the proof square.
|
|
||||||
sym.space.nobreak
|
|
||||||
|
|
||||||
$square.stroked$
|
|
||||||
v(0.5em)
|
|
||||||
}
|
|
||||||
|
|
||||||
#let fact = thmplain(
|
|
||||||
"item",
|
|
||||||
"Fact",
|
|
||||||
titlefmt: content => [*#content.*],
|
|
||||||
namefmt: content => [_(#content)._],
|
|
||||||
separator: [],
|
|
||||||
inset: 0pt,
|
|
||||||
padding: (bottom: 0.5em, top: 0.5em),
|
|
||||||
)
|
|
||||||
#let abuse = thmplain(
|
|
||||||
"item",
|
|
||||||
"Abuse of Notation",
|
|
||||||
titlefmt: content => [*#content.*],
|
|
||||||
namefmt: content => [_(#content)._],
|
|
||||||
separator: [],
|
|
||||||
inset: 0pt,
|
|
||||||
padding: (bottom: 0.5em, top: 0.5em),
|
|
||||||
)
|
|
||||||
#let definition = thmplain(
|
|
||||||
"item",
|
|
||||||
"Definition",
|
|
||||||
titlefmt: content => [*#content.*],
|
|
||||||
namefmt: content => [_(#content)._],
|
|
||||||
separator: [],
|
|
||||||
inset: 0pt,
|
|
||||||
padding: (bottom: 0.5em, top: 0.5em),
|
|
||||||
)
|
|
|
@ -98,9 +98,9 @@ $
|
||||||
kappa (t) = (||arrow(c)'(t) times arrow(c)''(t)||) / (||arrow(c)'(t)||^3)
|
kappa (t) = (||arrow(c)'(t) times arrow(c)''(t)||) / (||arrow(c)'(t)||^3)
|
||||||
$
|
$
|
||||||
|
|
||||||
== Arclength parameterization
|
== Arclength parametrization
|
||||||
|
|
||||||
Find an arc-length parameterization of $arrow(c)(t) = <e^t sin(t), e^t cos(t), 5e^t>$.
|
Find an arc-length parametrization of $arrow(c)(t) = <e^t sin(t), e^t cos(t), 5e^t>$.
|
||||||
|
|
||||||
Let $s = 0$ when $t = 0$ and let $s$ be the arc-length that has traveled along
|
Let $s = 0$ when $t = 0$ and let $s$ be the arc-length that has traveled along
|
||||||
the curve after $t$ seconds, then we can find $s$ by integrating the curve's
|
the curve after $t$ seconds, then we can find $s$ by integrating the curve's
|
||||||
|
@ -273,3 +273,504 @@ the directional derivative is zero.
|
||||||
critical points into $f$ and find the biggest/smallest.
|
critical points into $f$ and find the biggest/smallest.
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
= Midterm 2 review
|
||||||
|
|
||||||
|
I literally forgot everything...time to cram.
|
||||||
|
|
||||||
|
== Vector review
|
||||||
|
|
||||||
|
We know about functions $y = f(x)$. We can parameterize functions by expressing
|
||||||
|
them as a pair of coordinates $(x(t), y(t))$, modeling for example a particle
|
||||||
|
traveling through space with respect to time.
|
||||||
|
|
||||||
|
=== Derivative of parameterized curve
|
||||||
|
|
||||||
|
Given $(x(t), y(t))$, the derivative is given
|
||||||
|
$
|
||||||
|
(x'(t), y'(t))
|
||||||
|
$
|
||||||
|
|
||||||
|
=== Parameterizing an ellipse
|
||||||
|
|
||||||
|
Consider an ellipse
|
||||||
|
|
||||||
|
$
|
||||||
|
x^2 / n + y^2 / m = r^2
|
||||||
|
$
|
||||||
|
|
||||||
|
Then we note that this is just a circle with $x$ stretched by a factor of
|
||||||
|
$sqrt(n)$ and likewise for $y$ by a factor of $sqrt(m)$. Then we can
|
||||||
|
parameterize the ellipse by
|
||||||
|
|
||||||
|
$
|
||||||
|
(r sqrt(n) cos(theta), r sqrt(m) sin(theta))
|
||||||
|
$
|
||||||
|
|
||||||
|
A sanity check: when $n = 1$, $m = 1$, $r = 1$, we have a unit circle and the
|
||||||
|
parametrization reflects that.
|
||||||
|
|
||||||
|
#example[
|
||||||
|
Consider the ellipse $x^2/9 + y^2/4 = 16$. Then the parametrization is
|
||||||
|
$(12cos(theta), 8sin(theta))$, and this is indeed right.
|
||||||
|
]
|
||||||
|
|
||||||
|
To parameterize a line passing through points $arrow(p)_1$ and $arrow(p)_2$,
|
||||||
|
simply
|
||||||
|
$
|
||||||
|
arrow(c) (t) = arrow(p)_1 + t(arrow(p)_2 - arrow(p)_1)
|
||||||
|
$
|
||||||
|
Algebraically we can justify this by noting $t=0$ gives $arrow(p)_1$ and $t=1$ gives $arrow(p)_2$.
|
||||||
|
|
||||||
|
=== Polar coordinates
|
||||||
|
|
||||||
|
Notation: $(r,theta)$ instead of $(x,y)$. Note that this is just highlighting
|
||||||
|
that we're parameterizing a curve in terms of a radius $r$ (also called
|
||||||
|
_modulus_)and argument (angle) $theta$.
|
||||||
|
|
||||||
|
To get $r$, see that $r^2 = x^2 + y^2$ and it follows that $theta =
|
||||||
|
arctan(y/x)$. Blah blah.
|
||||||
|
|
||||||
|
To plot in terms of $x,y$, note that
|
||||||
|
$
|
||||||
|
x = r cos(theta) \
|
||||||
|
y = r sin(theta)
|
||||||
|
$
|
||||||
|
|
||||||
|
=== Vector properties
|
||||||
|
|
||||||
|
Many nonrigorous statements about vectors to add to our toolbox.
|
||||||
|
|
||||||
|
Two vectors are parallel if and only if the angle formed between them is 0.
|
||||||
|
Vectors can be added in linear combinations.
|
||||||
|
|
||||||
|
The magnitude of a vector length $n$ is given by the $n$ dimensional
|
||||||
|
Pythagorean theorem.
|
||||||
|
|
||||||
|
$
|
||||||
|
sqrt(a_1^2 + a_2^2 + dots.c + a_n^2)
|
||||||
|
$
|
||||||
|
|
||||||
|
A unit vector is a vector with magnitude 1.
|
||||||
|
|
||||||
|
=== Dot product
|
||||||
|
|
||||||
|
Dot products are useful for seeing properties about orthogonality, parallelism,
|
||||||
|
and projection.
|
||||||
|
|
||||||
|
#definition[
|
||||||
|
The dot product takes two vectors and returns a single scalar. It is sometimes
|
||||||
|
called the inner product.
|
||||||
|
]
|
||||||
|
|
||||||
|
We can view the dot product algebraically, and geometrically. In the first
|
||||||
|
sense, it's just the sum of the products of each pair of coordinates in the
|
||||||
|
vectors.
|
||||||
|
|
||||||
|
Let $A,B$ be vectors length $n$, and $a_i, b_i$ be the $i^"th"$ entry of their
|
||||||
|
respective vectors, then
|
||||||
|
$
|
||||||
|
A dot B = a_1 dot b_1 + a_2 dot b_2 + dots.c + a_n dot b_n
|
||||||
|
$
|
||||||
|
|
||||||
|
Geometrically, it's the product of the magnitudes of the vectors and the cosine
|
||||||
|
of angle between them.
|
||||||
|
|
||||||
|
$
|
||||||
|
A dot B = |A| dot |B| dot cos(theta)
|
||||||
|
$
|
||||||
|
|
||||||
|
where $theta$ is the angle between the vectors. It's nontrivial to prove this
|
||||||
|
and we don't have time.
|
||||||
|
|
||||||
|
Therefore, we know two vectors are parallel when $A dot B = |A| dot |B|$,
|
||||||
|
because $cos(theta) = 1$. We know two vectors are orthogonal if the dot product
|
||||||
|
is 0, because $cos(pi/2 + pi n)$ is 1.
|
||||||
|
|
||||||
|
Dot products are very useful for projection. Pick a normal vector $arrow(u)$.
|
||||||
|
For any vector $arrow(w)$, $arrow(u) dot arrow(w)$ gives the size of the
|
||||||
|
parallel part.
|
||||||
|
|
||||||
|
Also, note this gives the shortest distance between the tip of $arrow(w)$ and
|
||||||
|
the line passing in the direction of $arrow(u)$!
|
||||||
|
|
||||||
|
=== Normalizing vectors
|
||||||
|
|
||||||
|
Normalizing a vector means obtaining a vector pointing in the same direction,
|
||||||
|
with magnitude 1. For a nonzero vector $v$, its normalized vector is given
|
||||||
|
|
||||||
|
$
|
||||||
|
v / (|v|)
|
||||||
|
$
|
||||||
|
|
||||||
|
where $|v|$ is the magnitude.
|
||||||
|
|
||||||
|
=== Cross product
|
||||||
|
|
||||||
|
The cross product $times$ is a binary operation on vectors. For our purposes
|
||||||
|
it's only defined in $RR^3$ (in fact it's defined in some other dimensions, but
|
||||||
|
in general it is not defined).
|
||||||
|
|
||||||
|
It produces a third vector perpendicular to both original vectors. Its
|
||||||
|
direction is determined by the right hand rule.
|
||||||
|
|
||||||
|
The magnitude of the cross product is given by
|
||||||
|
|
||||||
|
$
|
||||||
|
|a times b| = |a| |b| sin theta
|
||||||
|
$
|
||||||
|
|
||||||
|
where $theta$ is the angle between $a$ and $b$. So we know two vectors are
|
||||||
|
parallel if the magnitude of the cross product is 0.
|
||||||
|
|
||||||
|
In fact this magnitude is also the area of the parallelegram spanned by the two
|
||||||
|
vectors. This is an alternative way to view the cross product being 0 implying
|
||||||
|
the vectors parallel.
|
||||||
|
|
||||||
|
We can compute the cross product by taking a determinant.
|
||||||
|
|
||||||
|
$
|
||||||
|
a times b = det mat(i,j,k; a_1, a_2, a_3; b_1,b_2,b_3)
|
||||||
|
$
|
||||||
|
|
||||||
|
The cross product is anticommutative, so $a times b = -(b times a)$.
|
||||||
|
|
||||||
|
== Vector applications, building geometric intuition
|
||||||
|
|
||||||
|
Let's build some geometric intuition for working with vectors, especially in
|
||||||
|
$RR^3$.
|
||||||
|
|
||||||
|
=== Moving the equation of a line or plane while maintaining orientation
|
||||||
|
|
||||||
|
We consider two cases. If we're working with a parametric equation, then we can
|
||||||
|
just add a vector to the equation to shift everything by said vector.
|
||||||
|
|
||||||
|
Otherwise, with an implicit equation, let's consider only the plane (since we
|
||||||
|
need two implicit equations to specify a line, and at that point it's better to
|
||||||
|
solve the system and parameterize).
|
||||||
|
|
||||||
|
The plane equation $a x + b y + c z = r$ can be shifted $n$ units in the
|
||||||
|
positive $x$, $y$, or $z$ direction by replacing all $x$, $y$, or $z$ with $x -
|
||||||
|
n$ and so on. Then we can just multiply out collect terms.
|
||||||
|
|
||||||
|
=== Moving equation of a line/plane to pass through a specific point
|
||||||
|
|
||||||
|
We want to do this without changing direction or orientation. We can just use
|
||||||
|
our technique discussed above for this.
|
||||||
|
|
||||||
|
First let's make sure the plane passes through the origin. If we have
|
||||||
|
$
|
||||||
|
3x - 2y + 7z = 12
|
||||||
|
$
|
||||||
|
we can just set the right hand to $0$
|
||||||
|
$
|
||||||
|
3x - 2y + 7z = 0
|
||||||
|
$
|
||||||
|
Note that by our technique of shifting the plane or line, we see that the
|
||||||
|
constant on the right side is determined entirely by shifts in space that
|
||||||
|
preserve direction/orientation. So we are sure that setting it to 0 does
|
||||||
|
nothing but move the plane/line through 0.
|
||||||
|
|
||||||
|
=== Equation of a line through a given point perpendicular to a
|
||||||
|
plane
|
||||||
|
|
||||||
|
Let's say we have a point $(5,2,3)$. Let's consider both parametric planes and
|
||||||
|
implicitly defined planes.
|
||||||
|
|
||||||
|
Suppose the plane is given by
|
||||||
|
$
|
||||||
|
2x + 3y + 4z = 12
|
||||||
|
$
|
||||||
|
Then observe that we need the line to be perpendicular to the plane but it
|
||||||
|
doesn't really matter where the plane is. Recall that we can easily shift a
|
||||||
|
plane around while preserving orientation. So let's just move the plane through
|
||||||
|
the origin again.
|
||||||
|
|
||||||
|
$
|
||||||
|
2x + 3y + 4z = 0
|
||||||
|
$
|
||||||
|
|
||||||
|
Now note that we can obtain a perpendicular vector to the plane by finding a
|
||||||
|
vector perpendicular to any particular vector on this plane.
|
||||||
|
|
||||||
|
Then note that $vec(2,3,4)$ is one such perpendicular vector. See this by
|
||||||
|
$
|
||||||
|
vec(2,3,4) dot vec(x,y,z) = 2x + 3y + 4z = 0
|
||||||
|
$
|
||||||
|
Then we can simply scale our perpendicular vector by a parameter $t$ to obtain
|
||||||
|
a parametric line that's perpendicular to the plane. Now we can just shift it
|
||||||
|
by our desired point, and it remains orthogonal while passing through the line
|
||||||
|
(at $t = 0$).
|
||||||
|
|
||||||
|
$
|
||||||
|
vec(5,2,3) + t vec(2,3,4)
|
||||||
|
$
|
||||||
|
|
||||||
|
Now consider when we have a parametric equation, say
|
||||||
|
$
|
||||||
|
vec(5,0,0) + s vec(2,0,-1) + t vec(0,4,-3)
|
||||||
|
$
|
||||||
|
Then as long as we're perpendicular to both of the vectors being multiplied by
|
||||||
|
$s$ and $t$, we're perpendicular. This is easy to show, just note that the
|
||||||
|
plane is given by the span of the basis vectors $vec(2,0,-1)$ (shifted by
|
||||||
|
$vec(5,0,0)$) and $vec(0,4,-3)$, so any vector perpendicular to both is
|
||||||
|
perpendicular to the entire plane.
|
||||||
|
|
||||||
|
So just take their cross product to get a desired vector.
|
||||||
|
|
||||||
|
=== Distance between point and a plane
|
||||||
|
|
||||||
|
Think geometrically. We really want to move in a perpendicular line from the
|
||||||
|
plane to the point (because that's the closest distance between them). We
|
||||||
|
should start on the point, but where do we stop on the plane?
|
||||||
|
|
||||||
|
Consider
|
||||||
|
$
|
||||||
|
4x + y + 3z = 1
|
||||||
|
$
|
||||||
|
and we want the distance to $(1,1,-5)$. The perpendicular line passing through the point is
|
||||||
|
$
|
||||||
|
vec(1,1,-5) + t vec(4,1,3)
|
||||||
|
$
|
||||||
|
The line "starts" at the point $t=0$, so let's find a value of $t$ that makes
|
||||||
|
it stop precisely on the plane. To do this, simply note that our line is really a parametric equation
|
||||||
|
$(x,y,z)$ where
|
||||||
|
$x = 1 + 4t, y = 1 + t, z = -5 + 3t$. Then we can simply plug these into the
|
||||||
|
equation of the plane and solve for $t$ to get the value of $t$ where the line
|
||||||
|
meets the plane. Then plug $t$ into our line equation (which gives a vector)
|
||||||
|
and the magnitude is the distance between the point and plane.
|
||||||
|
|
||||||
|
=== Area of a parallelogram formed by two vectors in $RR^3$
|
||||||
|
|
||||||
|
In $RR^2$ we can take the determinant. In $RR^3$ the determinant is the volume
|
||||||
|
of the parallelepiped. So instead we just take the magnitude of the cross
|
||||||
|
product.
|
||||||
|
|
||||||
|
=== Distance from point to line passing through two other points in $RR^2$
|
||||||
|
|
||||||
|
Note that there are multiple ways to do this. Let $P = (1,7)$, $A = (1,1)$, and
|
||||||
|
$B = (3,9)$. We want the distance from $P$ to the line between $A$ and $B$.
|
||||||
|
|
||||||
|
We could just find the line between them and then use a 2-dimensional version
|
||||||
|
of our point to plane technique (solve for a vector orthogonal to the line, in
|
||||||
|
the direction of $P$, passing through $P$), but since we're in $RR^2$, we can
|
||||||
|
just project $P$ onto the normalized line and do some stuff.
|
||||||
|
|
||||||
|
In particular, note that the magnitude of the cross product of $A times B$ is
|
||||||
|
$|A| dot |B| dot sin theta$. So if we want the distance from the tip of $B$ to
|
||||||
|
the line spanned by $A$, we should do $(|A times B|)/(|A|)$.
|
||||||
|
|
||||||
|
If instead we want the length of the projection of $B$ onto $A$, we should do
|
||||||
|
$(A dot B)/(|A|)$. There are multiple ways to interpret this geometrically.
|
||||||
|
|
||||||
|
== Derivative of a curve
|
||||||
|
|
||||||
|
What is the derivative of a curve? We can view the derivative at some point $x$
|
||||||
|
as the slope of the tangent line. But that doesn't give the derivative of a
|
||||||
|
parametric curve traveling through the plane.
|
||||||
|
|
||||||
|
However, this is simple. Because our curve is parameterized, each coordinate
|
||||||
|
$x,y,z$ and so on is independent of each other and given by $t$. Therefore, we
|
||||||
|
can collect another vector, taking the derivative of each coordinate, which
|
||||||
|
gives us a vector of the rates at which each coordinate is changing.
|
||||||
|
|
||||||
|
== Arclength parametrization
|
||||||
|
|
||||||
|
We want to find an arc length parametrization of a curve. That is, we want to
|
||||||
|
express a curve in terms of how far we've traveled on it.
|
||||||
|
|
||||||
|
Idea: let $s=0$ when $t=0$, and let $s$ be the arclength traveled after $t$
|
||||||
|
seconds. Then we can integrate the curve's speed over $t$ to find the arc
|
||||||
|
length.
|
||||||
|
|
||||||
|
$
|
||||||
|
s(t) = integral_0^t ||arrow(c)'(u)|| dif u
|
||||||
|
$
|
||||||
|
|
||||||
|
Then, we can solve for $t$ in terms of $s$, and plug it back into our original
|
||||||
|
vector in terms of $t$, $arrow(c)(t)$. Then its position will be expressed by
|
||||||
|
in terms of $s$, $arrow(c)(s)$, and we'll have a parametrization by arc
|
||||||
|
length.
|
||||||
|
|
||||||
|
A key notion here is now the velocity vectors are tangent, but also unit length
|
||||||
|
(since we should imagine that we are always moving at unit speed along the
|
||||||
|
curve at any given point).
|
||||||
|
|
||||||
|
What direction does the _acceleration_ vector point in, then?
|
||||||
|
|
||||||
|
For a parameterized curve $arrow(c)(t)$ with velocity $arrow(v)(t)$ and
|
||||||
|
acceleration $arrow(a)(t)$, then the speed is magnitude $|arrow(v)(t)|$. When
|
||||||
|
the speed is constant, $|arrow(v)(t)|$ doesn't change with time.
|
||||||
|
|
||||||
|
A prototypical example: consider uniform circular motion. Then the angular
|
||||||
|
velocity (speed) is always constant, yet there is always an acceleration vector
|
||||||
|
pointing perpendicular to the tangent velocity vector (the centripetal
|
||||||
|
acceleration).
|
||||||
|
|
||||||
|
== Curvature
|
||||||
|
|
||||||
|
The curvature in $RR^2$ is given by the second derivative. But this is just a
|
||||||
|
lucky coincidence. Let's think about the notion of curvature.
|
||||||
|
|
||||||
|
Somehow, the curvature measures the best-fitting second order approximation of
|
||||||
|
a curve. Curvature is a measure of concavity with respect to the direction
|
||||||
|
perpendicular to the direction of motion.
|
||||||
|
|
||||||
|
We do have a formula
|
||||||
|
|
||||||
|
$
|
||||||
|
kappa(t) = (|arrow(c)'(t) times arrow(c)'' (t)|) / (|arrow(c)'(t)|^3)
|
||||||
|
$
|
||||||
|
|
||||||
|
== Building intuition for curvature
|
||||||
|
|
||||||
|
Curvature is essentially asking how closely our curve resembles a unit circle
|
||||||
|
at a given point. It follows that a unit circle has a curvature 1, and a
|
||||||
|
straight line has curvature 0.
|
||||||
|
|
||||||
|
Let's consider a parametric curve
|
||||||
|
$
|
||||||
|
arrow(s)(t) = vec(t-sin(t), 1-cos(t))
|
||||||
|
$
|
||||||
|
Consider the unit tangent vectors to the curve at some points. We're
|
||||||
|
essentially asking "how much do these tangent vectors change direction?" and
|
||||||
|
considering points arbitrarily close. This is the essence of curvature.
|
||||||
|
|
||||||
|
Now let's think about some geometric intuition. Suppose you're moving along a
|
||||||
|
curve. It follows that if the curve is bending very sharply, the tangent
|
||||||
|
vectors are changing direction very fast, in larger increments. Likewise, if
|
||||||
|
the curve is straighter, the tangent vectors change direction less often. And
|
||||||
|
when you're traveling on a straight line, the tangent vectors don't change
|
||||||
|
direction at all.
|
||||||
|
|
||||||
|
We want a mathematical model of this notion of "changing tangent vectors." The
|
||||||
|
idea is that we can capture this with some sort of derivative, but with respect
|
||||||
|
to what? If we just want to capture when the tangent vector is changing
|
||||||
|
directions, we clearly want to ignore any change in the actual magnitude of the
|
||||||
|
tangent vector itself, since this has no bearing on the directional change. Put
|
||||||
|
another way, if you're traveling along the curved path, the speed at which you
|
||||||
|
go (the magnitude of the tangent velocity vector) really doesn't matter with
|
||||||
|
regard to curvature. We only care when the tangent velocity vector changes
|
||||||
|
direction!
|
||||||
|
|
||||||
|
So suppose $T$ is the unit tangent vector at each point. We want the rate of
|
||||||
|
change of $T$, its derivative, but _not_ $(dif T)/(dif t)$, with respect to
|
||||||
|
time. This is because we don't really care how _fast_ the tangent vector
|
||||||
|
changes with respect to time, curvature is about measuring how much the tangent
|
||||||
|
vector changes as we move some arbitrary distance on the curve!
|
||||||
|
|
||||||
|
Instead, we really want $(dif T)/(dif s)$, where $s$ is the arc length we've
|
||||||
|
traveled so far (from some arbitrarily chosen starting point). And this makes
|
||||||
|
intuitive sense, because we just want how fast the tangent vector changes
|
||||||
|
direction with regards to the distance we travel on the curve.
|
||||||
|
|
||||||
|
Now we may note that we can actually find curvature if we can find an
|
||||||
|
arc-length parametrization of $arrow(s)$! Because an arclength
|
||||||
|
parametrization always has unit speed, its derivative gives the tangent
|
||||||
|
vectors at every point, and we can differentiate with respect to arclength and
|
||||||
|
take the magnitude to obtain the curvature. That is,
|
||||||
|
$
|
||||||
|
kappa = abs((dif T) / (dif s))
|
||||||
|
$
|
||||||
|
|
||||||
|
But if we can't find an arclength parametrization, we're out of luck. Let's
|
||||||
|
continue investigating.
|
||||||
|
|
||||||
|
Consider a prototypical example:
|
||||||
|
|
||||||
|
#example[
|
||||||
|
Let $arrow(s)(t) = vec(cos(t) R, sin(t) R)$. We're drawing a circle with
|
||||||
|
radius $R$.
|
||||||
|
|
||||||
|
Let's differentiate with respect to $t$.
|
||||||
|
$
|
||||||
|
arrow(s)'(t) = vec(-sin(t) R, cos(t) R)
|
||||||
|
$
|
||||||
|
But we want unit tangent vectors, so let's normalize it. Call our unit
|
||||||
|
tangent $T$.
|
||||||
|
|
||||||
|
$
|
||||||
|
T(t) = (arrow(s)'(t)) / (|arrow(s)'(t)|)
|
||||||
|
$
|
||||||
|
We have
|
||||||
|
$
|
||||||
|
|arrow(s)'(t)| = lr(|vec(-sin(t) R, cos(t) R)|) \
|
||||||
|
= sqrt(sin^2(t) R^2 + cos^2(t) R^2) = R
|
||||||
|
$
|
||||||
|
Now we have our unit tangent vectors in terms of $t$.
|
||||||
|
$
|
||||||
|
T(t) = (arrow(s)'(t)) / R
|
||||||
|
$
|
||||||
|
We take
|
||||||
|
$
|
||||||
|
(dif T) / (dif t) = vec(-cos(t), -sin(t))
|
||||||
|
$
|
||||||
|
and the magnitude of this is just 1.
|
||||||
|
|
||||||
|
We should immediately note that not all cases will be so easy. When taking
|
||||||
|
$|arrow(s)'(t)|$, in general, we have a very disgusting square root that cannot
|
||||||
|
be simplified.
|
||||||
|
|
||||||
|
Now note:
|
||||||
|
$
|
||||||
|
abs((dif T)/(dif s)) = abs((dif T)/(dif t)) / abs((dif T)/(dif s))
|
||||||
|
$
|
||||||
|
|
||||||
|
So in fact $kappa = 1/R$!
|
||||||
|
]
|
||||||
|
|
||||||
|
The key here is this equation:
|
||||||
|
$
|
||||||
|
abs((dif T)/(dif s)) = abs((dif T)/(dif t)) / abs((dif s)/(dif t))
|
||||||
|
$
|
||||||
|
Although we didn't have an arclength parametrization of $T$, we note that its
|
||||||
|
magnitude is essentially given by the magnitude at which it's changing with
|
||||||
|
respect to time, and divided by the rate the curve is moving to "correct" for
|
||||||
|
the discrepancies introduced by taking the derivative with respect to time!
|
||||||
|
|
||||||
|
Obviously this is very nonrigorous. But I'm running out of time.
|
||||||
|
|
||||||
|
Now if we do a bunch more reasoning and nonsense we can obtain the formula
|
||||||
|
above, but at this point the goal seems to have been reached. We have an
|
||||||
|
intuitive understanding of what curvature should measure.
|
||||||
|
|
||||||
|
So recall the formula:
|
||||||
|
|
||||||
|
$
|
||||||
|
kappa(t) = (|arrow(c)'(t) times arrow(c)'' (t)|) / (|arrow(c)'(t)|^3)
|
||||||
|
$
|
||||||
|
|
||||||
|
Essentially, it's saying that the area of the parallelogram formed by the
|
||||||
|
curve's velocity and acceleration vectors, divided by the cube of the speed,
|
||||||
|
gives us the curvature. Intuitively we see that the more the acceleration
|
||||||
|
vector diverges from the velocity vector, the sharper the velocity vector is
|
||||||
|
changing direction, which gives us a notion of curvature. And somehow dividing
|
||||||
|
by the speed cubed is normalizing out any influence due to speed to give us our
|
||||||
|
curvature.
|
||||||
|
|
||||||
|
== Quadric surfaces
|
||||||
|
|
||||||
|
We really only need to know the identities and derivatives to do some integral
|
||||||
|
hacks.
|
||||||
|
|
||||||
|
The quadric surface is the generalization of the conic section to $n$ dimensions.
|
||||||
|
|
||||||
|
Now recall that one conic section is the hyperbola. It turns out we can define
|
||||||
|
analogues of the trigonometric functions that parameterize a so-called unit
|
||||||
|
hyperbola instead of the unit circle. These functions are
|
||||||
|
|
||||||
|
$
|
||||||
|
sinh(x) = (e^x -e^(-x)) / 2 \
|
||||||
|
cos(x) = (e^x + e^(-x)) / 2 \
|
||||||
|
tanh(x) = sinh(x) / cosh(x)
|
||||||
|
$
|
||||||
|
|
||||||
|
The derivatives are
|
||||||
|
|
||||||
|
$
|
||||||
|
(dif) / (dif x) sinh(x) = cosh(x) \
|
||||||
|
(dif) / (dif x) cosh(x) = sinh(x)
|
||||||
|
$
|
||||||
|
|
||||||
|
It's pretty easy to show these using their definitions, and derive the
|
||||||
|
derivative of $tanh$.
|
||||||
|
|
Loading…
Reference in a new issue