Neat Stuff from Vector Calculus Related Subjects Chris
Neat Stuff from Vector Calculus & Related Subjects Chris Hecker checker@d 6. com definition six, inc. & Maxis
Related Subjects scalar calculus linear algebra optimization & constraints vector calculus classical mechanics, dynamics differential & integral calculus differential geometry
Intro & 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 plug’n’chug level of differentiating functions – f(x) = ax 2+bx+c ® f’(x) = 2 ax + b
What is a Function? • a function maps values from the domain to the range uniquely – can be multivalued in range, but not domain q
What is a Derivative? • derivative is another function that maps changes in the domain to changes in the range, “normalized” Dy Dx
Derivatives are Linear • the key insight of calculus: the change is so small that you can ignore it anytime it’s multiplied by itself. . . so, you can treat any continuous function as linear if you’re zoomed in far enough (to 1 st order) – “continuity” keeps us from dividing by zero – normalization makes the numbers finite boom! x 0
Random but Nifty Example of Ignoring Infinitessimals (nothing up my sleeve!) • prove infinitessimal rotations in 3 D are vectors (add, commute, etc. ) – angular velocity is a vector, cross product differentiates rotating vectors finite rotation: infinitessimal rotation: infinitessimal rotations add and commute: infinitessimal rotations are vectors: 3 x 3 skew symmetric matrices are isomorphic to vectors angular velocity differentiates with cross product:
Scalar 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
Scalar 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
The 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 AB=C n • keeping the shapes right is the key to sanity with vector calc • “m by n * n by p = m by p” p Ab=c n a·b = c = a. Tb = c m • this is why “v’=v. M” makes no sense for column vectors – either you’re using row vectors, or you’re confused – either way, you’re 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
Shape of Derivatives df needs to accept a Ddomain linearly (ie. right-multiplied vector or scalar) to produce a Drange • scalar valued function of scalar – y=f(x) dy =dfdx df d • vector valued function of scalar – v=f(t) dv = dfdt • scalar valued function of vector – z=f(x, y) d d • vector valued function of vector – p=f(u, v) d
Shape 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, there’s no T or · – z=f(x, y) – dz=dfdx df = d dz = dfdx = d • vector valued function of vector: expands to matrix – p=f(u, v) df = d dp = dfdx = d
Derivatives: a parametric function “a 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
Derivatives: a scalar function of a vector “height field” • differential is not in range of function column vector row vector
Derivatives: a scalar function of a vector • view “height field” as implicit surface in 3 d – write g(x, y, z) > 0 above surface – differential is surface normal (not unit)
Derivatives: a scalar function of a vector • example plane
Derivatives: a scalar function of a vector • example sphere
A 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: n v a b normals transform like this:
Normals and Vectors Example • scaling an ellipse x values for y=0
Derivative of Vector Mappings • barycentric coordinates in 2 D 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 p 2 e 2 p p 1 e 1 p 0 Jacobian matrix
Barycentric Coordinates in 3 D Triangle • now jacobian is 3 x 2 – can still find du, dv from dp with least squares p 2 e 2 p p 1 e 1 p 0 same as projecting dp down into triangle
Implicit Functions • equalities (constraints) subtract off DOFs f(x, y) = 0 • 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: shape/rank of jacobian will tell you how constrained you are as well
Product Rule for Vector Derivatives • for scalar multiplication: • differential of a scalar function of a scalar is a scalar
Product Rule for Vector Derivatives • for scalar multiplication: • differential of a scalar function of a scalar is a scalar • for dot product it’s a little wackier • if vectors in dot are functions of scalars, it’s the same
Product Rule for Vector Derivatives • for scalar multiplication: • differential of a scalar function of a scalar is a scalar • for dot product it’s a little wackier • if vectors in dot are functions of scalars, it’s the same • if vectors in dot are functions of vectors, need to watch shape! d – we know result must be row:
Product Rule for Vector Derivatives • for scalar multiplication: • differential of a scalar function of a scalar is a scalar • for dot product it’s a little wackier • if vectors in dot are functions of scalars, it’s the same • if vectors in dot are functions of vectors, need to watch shape! d – we know result must be row: use transpose picture to reason about it: d d ? ? ?
Product Rule for Vector Derivatives • for scalar multiplication: • differential of a scalar function of a scalar is a scalar • for dot product it’s a little wackier • if vectors in dot are functions of scalars, it’s the same • if vectors in dot are functions of vectors, need to watch shape! d – we know result must be row: use transpose picture to reason about it: d d ? ? ? don’t want to use tensors, so we pull a fast one with the commutativity of dot (a·b=b·a) d d
Dot Product Derivative Example • derivative of squared length of vector q dp makes intuitive sense: if dp is orthogonal, length doesn’t change p r
Cross 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 d d ? ? ? same problem with tensors, so we pull the same (skew-)commutativity trick
Cross 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
References • Advanced Calculus of Several Variables – Edwards, Dover • Calculus and Analytic Geometry – Thomas & Finney • Classical Mechanics – Goldstein
- Slides: 31