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)
|
||||
$
|
||||
|
||||
== 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
|
||||
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.
|
||||
|
||||
]
|
||||
|
||||
= 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