Title: Neat Stuff from Vector Calculus
1Neat Stuff from Vector CalculusRelated Subjects
- Chris Hecker
- checker_at_d6.com
- definition six, inc. Maxis
2Related Subjects
scalar calculus
linear algebra
differential integral calculus
vector calculus
optimization constraints
differential geometry
classical mechanics, dynamics
3Intro Prerequisites
- this is a total hodge-podge, not a gentle
introduction - lack of rationale for caring about this stuff,
trust me? ) - stuff that I found non-intuitive or hard to
figure out - tour of fairly basic examples building on
themselves to get firm grounding and intuition in
calculus concepts for the kinds of math games do - touch on lots of different areas during tour,
many sidestreets - comfortable with algebra, linear algebra
- need to understand scalar calc, at least at the
plugnchug level of differentiating functions - f(x) ax2bxc f(x) 2ax b
4What is a Function?
- a function maps values from the domain to the
range uniquely - can be multivalued in range, but not domain
5What is a Derivative?
- derivative is another function that maps changes
in the domain to changes in the range,
normalized
6Derivatives are Linear
- the key insight of calculus the change is so
small that you can ignore it anytime its
multiplied by itself...so, you can treat any
continuous function as linear if youre zoomed in
far enough (to 1st order) - continuity keeps us from dividing by zero
- normalization makes the numbers finite
boom!
7Random but Nifty Example of Ignoring
Infinitessimals(nothing up my sleeve!)
- prove infinitessimal rotations in 3D are vectors
(add, commute, etc.) - angular velocity is a vector, cross product
differentiates rotating vectors
8Scalar Derivatives a line
- how does y (or f(x)) change for a change in x?
- for lines, the change (derivative) is constant
everywhere - drawn as red vector, but actually a scalar,
slope
a
1
9Scalar Derivatives a curve
- for curves, the derivative is position dependent
- derivative is a function itself, mapping change
in domain to change in range - both direction and magnitude, but still a scalar
10The Shape of Matrix Operations
- vectors are columns of numbers in this talk, not
rows - we right-multiply matrices by column vectors v
Mv - matrix vector ops fit together nicely
- keeping the shapes right is the key to sanity
with vector calc - m by n n by p m by p
- this is why vvM makes no sense for column
vectors - either youre using row vectors, or youre
confused - either way, youre in for some pain when trying
to do real math - because all math books use columns for vectors
and rows are special - early computer graphics books got this backwards,
and hosed everybody
11Shape of Derivativesdf needs to accept a Ddomain
linearly (ie. right-multiplied vector or scalar)
to produce a Drange
- scalar valued function of scalar
- yf(x) dy dfdx
- vector valued function of scalar
- vf(t) dv dfdt
- scalar valued function of vector
- zf(x,y)
- vector valued function of vector
- pf(u,v)
df
12Shape of Derivatives (cont.)
- scalar valued function of vector expands to row
vector - the resulting range value depends on all the
domain values - the differential needs a slot for a delta/change
in each domain dimension...so it must be a row
vector, theres no T or - zf(x,y)
- dzdfdx
-
- vector valued function of vector expands to
matrix - pf(u,v)
13Derivatives a parametric functiona vector
function of a scalar
- for a change in the parameter (domain), how does
the function (range) change? - in this case, differential is a vector
q
14Derivatives a scalar function of a
vectorheight field
- differential is not in range of function
column vector
row vector
15Derivatives a scalar function of a vector
- view height field as implicit surface in 3d
- write g(x,y,z) gt 0 above surface
- differential is surface normal (not unit)
16Derivatives a scalar function of a vector
17Derivatives a scalar function of a vector
18A Surface Normal is Not a Vector!this is why you
need to keep shapes distinct
- vector is a difference between two points
- normal is really a mapping from a vector to a
scalar
points vectors transform like this
normals transform like this
n
b
v
a
19Normals and Vectors Example
x values for y0
20Derivative of Vector Mappings
- barycentric coordinates in 2D triangle
- vector function of a vector
- if square, can invert Jacobian to find du,dv
given dp - function is linear in this case, but works
generally - determinant of Jacobian is how areas distort
under function
p2
p
e2
p1
e1
p0
Jacobian matrix
21Barycentric Coordinates in 3D Triangle
- now jacobian is 3x2
- can still find du,dv from dp with least squares
p2
p
same as projecting dp down into triangle
e2
p1
e1
p0
22Implicit Functions
- equalities (constraints) subtract off DOFs
- explicit to implicit is easy z f(x,y)
g(x,y,z) z f(x,y) 0 - implicit to explicit is hard f(x,y) 0 y
f(x) - solving nonlinear equations, sometimes multiple
or no solutions - but, inverting it differentially is easy because
of linearization
f(x,y) 0
shape/rank of jacobian will tell you how
constrained you are as well
23Product Rule for Vector Derivatives
- for scalar multiplication
- differential of a scalar function of a scalar is
a scalar
24Product Rule for Vector Derivatives
- for scalar multiplication
- differential of a scalar function of a scalar is
a scalar - for dot product its a little wackier
- if vectors in dot are functions of scalars, its
the same
25Product Rule for Vector Derivatives
- for scalar multiplication
- differential of a scalar function of a scalar is
a scalar - for dot product its a little wackier
- if vectors in dot are functions of scalars, its
the same - if vectors in dot are functions of vectors, need
to watch shape! - we know result must be row
26Product Rule for Vector Derivatives
- for scalar multiplication
- differential of a scalar function of a scalar is
a scalar - for dot product its a little wackier
- if vectors in dot are functions of scalars, its
the same - if vectors in dot are functions of vectors, need
to watch shape! - we know result must be row
use transpose picture to reason about it
27Product Rule for Vector Derivatives
- for scalar multiplication
- differential of a scalar function of a scalar is
a scalar - for dot product its a little wackier
- if vectors in dot are functions of scalars, its
the same - if vectors in dot are functions of vectors, need
to watch shape! - we know result must be row
use transpose picture to reason about it
dont want to use tensors, so we pull a fast one
with the commutativity of dot (abba)
28Dot Product Derivative Example
- derivative of squared length of vector
makes intuitive sense if dp is orthogonal,
length doesnt change
29Cross Product Works the Same Way
- if cross is a vector function of vectors...
- result must be a matrix
- use the skew symmetric picture of cross product
same problem with tensors, so we pull the same
(skew-)commutativity trick
30Cross Product Derivative Example
- differentiate a cross product of moving vector
with constant vector
n
dr
r
c
dc
again, makes intuitive sense dc changes
orthogonally to dr changes
31References
- Advanced Calculus of Several Variables
- Edwards, Dover
- Calculus and Analytic Geometry
- Thomas Finney
- Classical Mechanics
- Goldstein