The author has a course on web: http://brickisland.net/DDGSpring2016/
It has more reading assignments and sliders which are good for you to understand ddg.
-------------------------------------------------------------
DISCRETE DIFFERENTIAL GEOMETRY : AN APPLIED INTRODUCTION
Last updated: November 19, 2015
========================================
Ch 1. INTRODUCTION
把exterior calculus作为模型处理的语言。the exterior calculus of differential forms is the modern language of differential geometry and mathematical physics
。
there is no one “right” way to discretize a given geometric quantity, but rather many different ways, each suited to a particular purpose.
。
=======================================
CHAPTER 2 A Quick and Dirty Introduction to Differential Geometry
2.1. The Geometry of Surfaces
The 【differential(d) of such a map(f), denoted by df 】, tells us how to map a vector X in the plane to the
corresponding vector df ( X ) on the surface. Loosely speaking, imagine that M is a rubber sheet and
X is a little black line segment drawn on M. As we stretch and deform M into f ( M ) , the segment
X also gets stretched and deformed into a different segment, which we call df ( X ) .
the differential simply tells you how to stretch out or “push forward” vectors as you go from one space
to another.
。
g ( X, Y ) := df ( X ) · df ( Y ) . The map g is called the 【metric】 of the surface, or 【the metric induced by f】
。
TM :the tangent bundle of M, i.e., the set of all tangent vectors.
。
a vector u ∈ R 3 is 【normal】 to the surface at a point p if df(X)·u = 0 for all tangent vectors X at p。
If we can pick a consistent direction for N then we say that M is 【orientable】.
。
The differential dN (called the 【Weingarten map】) tells us about the change in the normal direction as
we move from one point to the other.
。
2.1.1. Conformal Coordinates.
【isometric (a.k.a. arc-length or unit speed) parameterization】:no “stretching” occurs:| df ( X )| = | X |
。
an isometric parameterization does not always exist (not even locally!)(conformal maps always exist)
。
conformal coordinates在处理一些表达式时很简单。
a map f is conformal if it preserves the angle between any two vectors. df ( X ) · df ( Y ) = a < X, Y > = e^u < X, Y >
。
the 【uniformization theorem】 says that any disk can be conformally mapped to the plane. So if we consider any point p on our surface f ( M ) , we know that we can always find a conformal parameterization in some small, disk-like neighborhood around p.
.
(P65)if f is a conformal map, then lengths on M and lengths on f ( M ) are related by a positive scaling e^u .In other words, | df ( X )| = e^u | X | for some real-valued function u on M.
in other words, we don’t have to make any special assumptions about our geometry in order to use conformal coordinates in proofs or other calculations.
.
2.3. The Geometry of Curves
T = dγ ( X ), dT ( X ) = − κN,
One thing to realize is that T and N are always orthogonal. Why? Because if the change in T were
parallel to T, then it would cease to have unit length! (为什么?)(This argument is a good one to keep in mind any time you work with unit vector fields.)
.
For surfaces, however, it will often make more sense to think of curvature as the change in the normal vector, since we typically don’t have a distinguished tangent vector to work with(因为p点处有无穷多个切向量).
2.4. Curvature of Surfaces
κn of this curve is called the normal curvature in the direction X:
κn (X) =df(X) · dN(X) / |df(X)|^2
Note that normal curvature is signed, meaning the surface can bend toward the normal or away from it.
【shape operator】 which is the unique map S : TM → TM satisfying
df ( SX ) = dN ( X )
for all tangent vectors X。
The shape operator S and the Weingarten map dN essentially represent the same idea: they both tell us how the normal changes as we travel along a direction X. The only difference is that S specifies this change in terms of a tangent vector on M, whereas dN gives us the change as a tangent vector in R 3 . It’s worth noting that many authors do not make this distinction,
and simply assume an isometric identification of tangent vectors on M and the corresponding
tangent vectors in R 3 . However, we choose to be more careful so that we can explicitly account for
the dependence of various quantities on the immersion f —this dependence becomes particularly
important if you actually want to compute something! (By the way, why can we always express the
change in N in terms of a tangent vector? It’s because N is the unit normal, hence it cannot grow or
shrink in the normal direction.)
。
principal directions ,principal curvatures是S的特征值和特征向量: S Xi = κi Xi
principal directions正交: g ( X 1 , X 2 ) := df ( X 1 ) · df ( X 2 ) = 0
X1,X2张成切平面,切平面上的Y方向(与X1成θ角)上的曲率为:κn(Y) = κ1 cos²θ+ κ2 sin²θ
however, working directly with principal curvatures is fairly inconvenient—especially in the discrete setting. 因此选择mean curvature和gauss curvature。
。
H :=(κ 1 + κ 2)/2, (arithmetic mean, 粗糙的直观类比:is there curvature along at least one direction?)
K := κ1 κ2 ((square of the) geometric mean, 粗糙的直观类比:is there curvature along both directions?)
developable surfaces: K = 0
minimal surfaces: H = 0
Minimal surfaces tend to be saddle-like since principal curvatures have equal magnitude but opposite sign
umbilic point: maximum (and minimum) curvature is achieved along any direction X
。
the curvature of a surface is completely characterized by the principal curvatures, which are the maximum and minimum normal curvatures
。
I ( X, Y ) : = g ( X, Y ) := df ( X ) · df ( Y )
II ( X, Y ) : = −g(SX, Y) := −df(SX) · df(Y) := −dN(X) · df(Y)
The most important thing to realize is that I and II do not introduce any new geometric ideas
。
2.5. Geometry in Coordinates
differential df
dfp(X) = lim{h->0} (f(p+hX) -f(p))/h
When we start working with discrete surfaces we’ll see that df ( X ) often has an incredibly concrete meaning—for instance, it might correspond to an edge in our mesh(那是因为在离散的情况下,我们”事先”把df“定义为”沿(两个顶点间的)edge做差分)。But in the smooth setting a more typical representation of df is the 【Jacobian matrix】. So if you wanted to evaluate df ( X ) , you could simply apply J to some vector X = [X1 X2]$^T$
.
why to avoid explicit matrix representations?
matrices can be used to represent many different types of objects, and these objects can behave in very different ways.(矩阵里的元素缺乏context,以至于:) which makes it very easy to forget which rules they should obey!
更准确的说:
The real philosophical point here is that 【matrices are not objects】: they are merely 【representations of objects】! Or to paraphrase Plato: matrices are merely shadows on the wall of the cave, which give us nothing more than a murky impression of the real objects we wish to illuminate.
。
linear operator: f : R2 → R2 ; u → f ( u )
bilinear form: g : R2 × R2 → R; (u, v) → g(u, v)
。
I = [E F, F G]
II = I S = [e f, f g],
e = N fxx, f = N fxy, g = N fyy;
=======================================
CHAPTER 3 A Quick and Dirty Introduction to Exterior Calculus
α is a function, it eats a vector and produces a scalar. α is called a 【1-form】
α(v) = α * v = row vector * colum vector 类比于 1-form * vector
【1-form/covector】a linear function f : Rn-->R
【2-form/covector】a linear function f : Rn×Rn-->R
【3-form/covector】a linear function f : Rn×Rn×Rn-->R
.
musical isomorphisms($^#$, $^b$):
(In musical notation # indicates a half-step increase in pitch, corresponding to an upward movement on the staff.)
sharp ($^#$) : 1-form --> vector
α = α$_1$ dx$^1$ + · · · + α$_n$ dx$^n$ =u$^b$(dx$^i$是单位正交向量)
= ∂/x$^1$ dx$^1$+ · · · + ∂/x$^n$ dx$^n$
α$^#$ =(∂/x$^1$, ..., ∂/x$^n$) (raise the coordinate's indices)
令α=dφ, 则α$^#$ = (∂φ/x$^1$, ..., ∂φ/x$^n$)
flat ($^b$) : vector--> 1-form
v = v$^1$ ∂/x$^1$ + · · · + v$^n$ ∂/x$^n$ =β$^#$
=(v$^1$, ..., v$^n$) (因为∂/x$^i$是单位正交向量)
v$^b$ = v$_1$ dx$^1$ + · · · + v$_n$ dx$^n$ (lower the coordinate's indices)
(dx$^i$是单位正交向量)
α(v)可写作:u$^b$(v) 或α(β$^#$) , (v=β$^#$, u$^b$=α )
。
we want to make sure that we’re taking “measurements” in the right space. For instance, suppose we want to measure the length of a vector v along the direction of another vector u. It’s important to remember that tangent vectors get stretched out by the map f : R2 ⊃ M → R3 that takes us from the plane to some surface in R3 . Therefore, the operations # and b should satisfy relationships like
u$_b$( v ) = g ( u, v )
where g is the metric induced by f . This way we’re really measuring how things behave in the “stretched out” space rather than the initial domain M.
变换是从h:xy平面-->M, f : M-->R3. 所以,最终的f是复合函数f o h,求f沿v(x,y)方向的变化率, 其中含有坐标系的转换,jacobi矩阵表示的就是坐标系的转换(俄罗斯教材《微积分学》第三卷里有详细介绍)。
.
3.1.1. Coordinates.
we’ve tried to express geometric relationships without reference to any particular coordinate system x1 , . . . , xn。Why avoid coordinates? Because coordinate-free expressions tend to be shorter, sweeter, and easier to extract meaning from. This approach is also particularly valuable in geometry processing, because many coordinate-free expressions translate naturally to basic operations on meshes。
coordinates是不是就没用了呢?不是,因为1)有些特殊的坐标系能简化问题。2)完全没有坐标系的话,有些问题无法证明。
。
vector v can be written as a linear combination:
v = v$^1$ ∂/x$^1$ + · · · + v$^n$ ∂/x$^n$
∂/x$^1$, ..., ∂/x$^n$: (vector) basis , (unit-length orthogonal bases)
v$^1$, ..., v$^n$: (vector) coordinate
1-form can be written as a linear combination:
α = α$_1$ dx$^1$ + · · · + α$_n$ dx$^n$
dx$^1$, ..., dx$^n$: (1-form) basis,(unit-length orthogonal bases)
α$_1$ , ..., α$_n$ : (1-form) coordinate
.
The two bases dx$^i$and ∂/∂x$^i$ are often referred to as 【dual bases】, meaning they satisfy the relationship:
dx$^i$ (∂/x$^j$) = δ$^i$$_j$ ={ 1 if i = j else 0 } (dual bases的性质)
.
This relationship captures precisely the behavior we’re looking for: a vector ∂/∂x$^i$ “casts a shadow”
on the 1-form dx$^j$ only if the two bases point in the same direction:
.
Notation:
vectors and: u, v, w:
vector fields: X, Y, Z,
1-forms: α, β, γ,
Scalar fields : f, g, h
0-forms: φ, ψ
.
.
Einstein summation notation:
α$_i$ v$^i$ = ∑$_i$ α$_i$ v$^i$
.
=======================================
3.2. Differential Forms and the Wedge Product
Wedge Product α∧β (u, v) := α(u) β(v) − α(v) β(u)
(向量u,v组成的平行四边形,在1-forms α,β坐标系下的面积)
α∧β(u, v)简记为: α∧β
α ∧ β = − β ∧ α
α ∧ α = − α ∧ α ⇒ α ∧ α = 0
α ∧ β (u, v) + α ∧ γ (u, v)= ( α ∧ (β + γ))(u, v)
α ∧ β ∧ γ ( u, v, w ) : = det([u' v' w'])=
| α(u) α(v) α(w) |
| β(u) β(v) β(w) |
| γ(u) γ(v) γ(w) |
(向量u,v,w组成的平行四面体,在1-forms α,β,γ 坐标系下的体积)
α∧β∧γ(u, v, w)简记为: α∧β∧γ
• Antisymmetry: α ∧ β = (− 1 )$^{kl}$ β ∧ α
• Associativity: α ∧ ( β ∧ γ ) = ( α ∧ β ) ∧ γ
• Distributivity: α ∧ ( β + γ ) = α ∧ β + α ∧ γ
.
k-forms are “multilinear”—all this means is that if you keep all but one of the vectors fixed, then a k-form looks like a linear map. Geometrically this makes sense: k-forms are built up from k linear measurements of length (essentially just k different dot products).
.
3.2.1. Vector-Valued Forms.
3.3. Hodge Duality
a plane in R 3 can be described either by a pair of basis directions ( α, β ) , or by a normal direction γ. So rather than measuring projected area, we could instead measure how well the normal of a parallelogram ( u, v ) lines up with the normal of our plane.
we could look for a 1-form γ such that γ ( u × v ) = α ∧ β ( u, v ) .
the idea behind Hodge duality: a k-dimensional volume in an n-dimensional space can be specified either by k directions or by a complementary set of ( n − k ) directions. There should therefore be some kind of natural correspondence between k-forms and ( n − k ) -forms.
.
排列组合Cnk :n choose k。C 是choose的缩写
Cnk = Cn(n-k) means that we have a one-to-one relationship between k-forms and ( n − k ) -forms
The map ? (pronounced “star”) is called the Hodge star and captures this idea that planes can be
identified with their normals and so forth.
.
3.3.2. The Volume Form.
If we consider a region of our surface spanned by a pair of orthogonal unit vectors u, v ∈ R 2 ,
it’s clear that we don’t want the area dx 1 ∧ dx 2 ( u, v ) = 1 since that just gives us the area in the
plane. What we really want is the area of this region after it’s been “stretched-out” by the map f . In
other words, we want the size of the corresponding parallelogram in R 3 , spanned by the vectors
df ( u ) and df ( v ) .
the “stretching factor” as we go from the plane to the surface is:
| df ( u ) × df ( v )| = sqrt( det ( g ) ) = sqrt( g ( u, u ) g ( v, v ) − g ( u, v )² )
Therefore, we can measure the area of any little region on our surface by simply
scaling the volume in the plane by sqrt( det ( g ) ).
by applying the 2-form sqrt(det ( g )) dx 1 ∧ dx 2 to two vectors u, v spanning the region of interest. More generally, the n-form:
ω := sqrt(det ( g )) dx1 ∧ · · · ∧ dxn
is called the 【volume form】, and will play a key role when we talk about integration.
以上是用n-form的方式计算“stretched-out”,下面是用Hodge star来计算“stretched-out”
*1=ω
。
【inner product on k-forms】<< α, β>> := ∑i αiβi
α ∧ * β = << α, β >> ω,
Hermann Grassmann invented exterior algebra
on a flat space we can express the usual Euclidean inner product via the wedge product.
u · v = * (u^b ∧ * v^b)
( * v^b means *(v^b) 类似指数优先级高。同时,因为 ∧左右两边必须是form,所以用操作符b把u转换成form(这大概也是发明b和#的目的吧?))
It means that on a flat space we can express the usual Euclidean inner product via the wedge product.
。
u × v = ( *( u^b ∧ v^b ) )^#
。
3.4. Differential Operators
k-forms, ∧ , * 都是exterior algebra里的结构.
To turn exterior algebra into a exterior calculus, we also need to know how quantities change, as well as how to measure quantities. In other words, we need some tools for differentiation and integration.
。
the differential df of a surface f : M → R3, which tells us something about the way tangent vectors get “stretched out” as we move from the domain M to a curved surface sitting in R3 . More generally d is called 【the exterior derivative】 and is responsible for building up many of the differential operators in 【exterior calculus】. The basic idea is that d tells us how quickly a k-form changes along every possible direction.
。
gradient ∇ (pronounced “nabla”) ∇:=(∂/x¹, …, ∂/xⁿ)$^T$
divergence ∇· X ( how quickly the vector field is “spreading out”)
curl ∇× X (how much a vector field is “spinning around.”)
.
φ : Rn → R is 0-form
exterior derivative of 0-forms : differential
dφ := ∂φ/x¹ dx¹ + · · · + ∂φ/xⁿ dxⁿ (p37)
dφ = (∇φ )$^b$
∇φ = (dφ)$^#$ ($^#$仅仅表示scalar到vector的转换)
∇×X = (*dX$^b$)$^#$ (p39) (表示(*d(X^b))#,因为$^b$优先级高)
∇·X = *d * X$^b$ (p40)
∆ : = *d*d + d*d*
df(u) =u · ∇f (p38)(Directional Derivatives, f沿向量u的方向导数)
X$^b$ = X$_1$ dx$^1$ + X$_2$ dx$^2$ + X$_3$ dx$^3$ (P40)
α$^#$ = (∂/x¹, ..., ∂/xⁿ)
d(α∧β) = dα ∧β + (-1)$^k$ α∧dβ. (α is a k-form) (p39)
u · v = * (u^b ∧ * v^b)
u × v = ( *( u^b ∧ v^b ) )^#
α ∧ * β = << α, β >> ω, (<< α, β>> := ∑i αiβi )
α ∧ β = − β ∧ α
α ∧ α = 0
α ∧ β = ( α$_i$ dx$^i$ ) ∧ ( β$_j$ dx$^j$ ) = α$_i$β$_j$ dx$^i$∧dx$^j$
How do derivatives of arbitrary k-forms behave? For one thing, we expect d to be linear.(
这就决定了不能用多个1-form连续点乘的方式: 1-form · 1-form · … · 1-form。
从( f ( x ) g ( x ))' = f'( x ) g( x ) + f( x ) g'( x )受到启发,得出d ( α ∧ β ) = dα ∧ β + (− 1 ) k α ∧ dβ,(好像没严格证明这个是怎么得到的)
最终,借助线性代数的方法,把多个1-form组合成(定义成)k-form
α is a 1-form, then:
dα
:= d ( α₁ dx¹ + α₂ dx² + α₃ dx³ )
= d ( α 1 dx 1 ) + d ( α 2 dx 2 ) + d ( α 3 dx 3 ) (因为我们把d定义成线性的了)
αj dxj 可看作αj∧dxj(因为直角坐标系下∧等价于点乘), 然后借助d(α∧β) = dα∧β +(−1)^k α∧dβ(好像没严格证明这个是怎么得到的)得:
d(αj∧dxj) = (dαj)∧dx j + α j ∧ ( ddx j )(第二项为0) = (∂αj/xi dxi)∧dxj (约定求和规则).
展开d(α1∧dx1) 是下面第一行,d(α2∧ dx2)是第二行,d(α3∧ dx3) 是第三行, 得:
.
3.4.6. The Laplacian
∆ : = ∇ · ∇ (the divergence of the gradient.)
∆ : = *d*d + d*d* (if δ : = *d*, then ∆ := δd + dδ. δ is called the codifferential), 特别的, 0-form ∆ = *d*d
.
3.5. Integration and Stokes’ Theorem
∫$_Ω$ φ dA = ∫$_Ω$ φ dx¹∧dx²
The factor sqrt(det(g)) reminds us that we can’t simply measure the volume in the domain M—we also have to take into account any “stretching” induced by the map f:M→R2 . Of course, when we integrate a function on a surface, we should also take this stretching into account.
In the case of a conformal parameterization things become even simpler—since sqrt(det(g))=a, where a : M → R is the scaling factor.
∫$_Ω$ φ dx¹∧dx² = ∫$_Ω$ φ sqrt(det(g)) dx¹∧dx²
dA = sqrt(det(g)) dx¹∧dx² represents the area of some suitably deformed version of the initially planar region.
.
Divergence Theorem(“what goes in must come out theorem”):
∫$_Ω$ ∇ · X dA = ∫$_{∂Ω}$ n · X dl <==>∫$_Ω$ d *X^b = ∫$_{∂Ω}$ *X^b
Green’s theorem:
∫$_Ω$ ∇×X dA = ∫$_{∂Ω}$ t · X dl <==> ∫$_Ω$ d*dX^b = ∫$_{∂Ω}$ X^b (是否正确?)
3.5.4. Fundamental Theorem of Calculus.
In the discrete case we’ll see that this boundary flux interpretation is the only notion of divergence—in other words, there’s no concept of divergence at a single point.
3.6. Discrete Exterior Calculus
The big secret about DEC is that it’s literally nothing more than the continuous exterior calculus we’ve been learning about, except that we integrate differential forms over elements of our mesh.
1-form在离散边上计算,而不是在离散点上。â$_e$ := ∫$_e$ a
the (ˆ) is meant to suggest a 【discrete quantity】
how integration of a 1-form works: at each point along the edge we take the vector tangent to the edge, stick it into the 1-form α, and sum up the resulting values
a k-form that has been integrated over each k-dimensional cell (edges in 1D, faces in 2D, etc.) is called a 【discrete differential k-form】.
3.6.3. The Discrete Exterior Derivative.
One of the main advantages of working with integrated (i.e., “discrete”) differential forms instead of point samples is that we can easily take advantage of Stokes’ theorem.
An edge as an ordered pair ( i, j ) , meaning that we always integrate from i to j
an 【oriented k-simplex σ】, i.e., a collection of k + 1 vertices p i ∈ R n given in some fixed order ( p 1 , . . . , p k + 1 )
The geometry associated with σ is the convex combination of these points:
{∑λi pi | ∑ λi = 1, λi ≥ 0 }⊂ Rn (以pi为重心坐标,做插值得到的那些点)
If a simplex σ 1 is a (not necessarily proper) subset of another simplex σ 2 , then we say that σ 1 is a face of σ
2 .
To keep yourself sane while working with meshes, the most important thing is to pick an orientation and stick with it!
differential forms don’t have to be real-valued.
dˆ : the discrete exterior derivative。 i.e. dˆaˆ,有时也会省去ˆ
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
d的表示这里介绍的不是很清楚,可参考论文<Building Your Own DEC at Home>
∂1=(d0)$^T$,
∂2相当于(d1)$^T$
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
3.6.4. Discrete Hodge Star.
A dual mesh is an orthogonal dual if primal and dual elements are contained in orthogonal linear subspaces.
primal forms: Discrete forms on the primal mesh
dual forms:discrete forms on the dual mesh
discrete form aˆ and its Hodge dual *ˆaˆ
diagonal Hodge star是一种discrete Hodge star。
用form a来计算form *a: *ˆ aˆ = | σˆ |/| σ | aˆ (为什么这么定义“:the primal and dual quantities
should have the same density)
This particular Hodge star is called diagonal since the ith element of the dual differential form depends only on the ith element of the primal differential form
d, ∧ , *, Lx (Lie derivative), iα(interior product) 之间的相互操作,还在研究。
=======================================
CHAPTER 4 Topological Invariants of Discrete Surfaces
A polygonal disk is any topological disk constructed out of simple polygons.
a topological sphere is any shape resembling the standard sphere,
a polyhedron is a sphere made of polygons
a piecewise linear surface is any surface made by gluing together polygons along their edges;
a simplicial surface is a special case of a piecewise linear surface where all the faces are triangles.
The boundary of a piecewise linear surface is the set of edges that are contained in only a single face
g: number of handles
Euler-Poincar ́e formula: V − E + F = 2 − 2g
The 【valence】 of a vertex in a piecewise linear surface is the number of faces that contain that vertex.
A vertex of a simplicial surface is said to be 【regular】 when its valence is 6. Many numerical algorithms (such as subdivision) exhibit ideal behavior only in the regular case。
.
angle defect d ( v ) = 2π - ∑$_{f ∈ Fv }$ ∠$_f$ ( v )
Discrete Gauss-Bonnet Theorem: ∑$_{v ∈ V}$ d(v) = 2πχ
.
The basic idea behind interpolation
is to find some nice, smooth function that exactly passes through a given collection of data points.
Once we have this function, we can evaluate it and its derivatives at any point analytically. In some
sense, it is our “best guess” for what the original object looked like, before it was sampled into a
finite collection of points.
two different sequences of progressively finer meshes:
irregular meshes, which are not structured in any particular way,
semi-regular meshes, which are obtained by repeatedly subdividing an initial mesh.
=======================================
CHAPTER 5 Normals of Discrete Surfaces
用Stokes’ theorem证明多边形面积公式 (p62)
A more general version of the situation we just looked at with polygon areas is the 【vector area】 of
a surface patch f : M → R 3 , which is defined as the integral of the surface normal over the entire
domain: Nv :=∫$_M$ NdA = ½ ∫$_{∂M}$ f∧df
it depends only on the shape of the boundary ∂M, the physical intuition here is that the 【vector area measures the total flux through the boundary curve】.
.
area gradient: ∇p Aσ =1/2 u$_⊥$
5.2. Area Gradient(和Volume Gradient 定义的vertex normal是一致的)
cotan formula: ∇pi A = ½ ∑$_j$ (cot αj + cot βj)(pj − pi)
the vertex normals we get from the mean curvature vector are precisely the same as the ones we get from the area gradient.
∆ f = 2HN
用conformal parameterization离散化∆
The reason conformal coordinates are useful when talking about Laplace-Beltrami is that we can write
∆ as simply a rescaling of the standard Laplacian in the plane:
∆φ = ( d(dφ(X )) (X) + d(dφ(Y)) (Y) ) /e^(2u)
since ∆ is a sum of second derivatives, it’s no surprise that it tells us something about the mean curvature!
5.3. Volume Gradient
volume gradient points in the same direction as the vector area Nv
=======================================
CHAPTER 6 The Laplacian
Poisson problem:∆φ = ρ
- 物理意义:
如果ρ表示密度分布函数,那么 φ就是ρ产成的重力场函数;
如果ρ表示电荷分布函数,那么 φ就是ρ产成的电场函数;
- 几何意义(能做如下事情):
smoothing a surface,
computing a vector field with prescribed singularities,
computing the geodesic distance on a surface
。
A twice-differentiable function φ : M → R is called 【harmonic】 if it sits in the kernel of the Laplacian, i.e., ∆φ = 0.
Argue that the only harmonic functions on a compact domain without boundary are the constant functions.
This fact is quite important because it implies that we can add a constant to any solution to a Poisson equation. In other words, if φ satisfies ∆φ = ρ, then so does φ + c
。
A separate fact is that on a compact domain without boundary, constant functions are not in the image of ∆. In other words, there is no function φ such that ∆φ = c. Why? it tells us when a given Poisson equation admits a solution.
.
L2 inner product <,>
<f, g>:= ∫$_Ω$ f(x) g(x) dx 衡量f和g的相关度
<X, Y>:= ∫$_Ω$ X(x) Y(x) dx 衡量X和Y的相关度
.
Green’s first identity: <∆f, g>= −<∇f , ∇g> + <N·∇f, g>$_∂$
where < ,>$_∂$ denotes the inner product on the boundary and N is the outward unit normal.
.
∆ is positive-semidefinite: <∆φ, φ> ≥ 0
为什么positive-semidefinite 矩阵重要?because it’s easy to find the minimum of the quadratic functions they describe。
Same goes for positive-semidefinite linear operators like the Laplacian ∆, which can often be thought
of as sort of infinite-dimensional matrices (if you take some time to read about the 【spectral theorem】,
you’ll find that this analogy runs even deeper).
。
6.2. Discretization via FEM
The basic idea behind the finite element method (FEM) is to pick a smaller space of functions and try to find the best possible solution from within this space. More specifically, if u is the true solution to a problem and { φ i } is a collection of basis functions, then we seek the linear combination of these functions
u ̃ = ∑ xi φi, xi ∈ R
such that the difference || u ̃ − u || is as small as possible with respect to some norm.
。
假设有∆u = f, 对于给定的解u ̃,如何判断u ̃是最好的解?
类比最小二乘法,x ̃ - x 与所有基向量正交,如果不正交,相关度有多大(相关度越小,x ̃越准确)。
∆u ̃−f 与所有基函数φj正交,如果不正交,相关度有多大(相关度越小,u ̃越准确)。于是得方程组:
<∆u ̃−f , φj>= 0
对于mesh,φj取为hat functions,由Green’s identity。若mesh无边界,则与边界相关得项为0。
经推导,得到:讨论∆u就等于讨论<∇ u, ∇ φ j>
同时u是基函数 φ j的组合。所以<∇ u, ∇ φ j>=∑{i} xi <∇φi, ∇φj>,这就出现了一个矩阵A ij := <∇φi, ∇φj>
解方程组:Ax = b , bi = <f, φi>,最后u = ∑xi φj
。
cotan formula:
6.3. Discretization via DEC
如何离散化∆ –-- cotangent discretization of Laplace
6.4. Meshes and Matrices
为了解方程∆u = f,所以把∆做成矩阵形式,即∆ 的matrix representation
继而需要作出vi的边邻接矩阵
6.5. The Poisson Equation
6.6. Implicit Mean Curvature Flow
use heat equation(diffusion equation) to smooth mesh
∂ f/ ∂ t = ∆ f = 2HN 直观描述:“move the surface in the direction of the normal, with strength proportional to mean curvature.” it describes a 【mean curvature flow】
=======================================
CHAPTER 7 Surface Parameterization
Thinking of the imaginary unit i as a 90-degree rotation will be essential in our discussion of conformal maps.
。
7.1. Conformal Structure
用×表示向量旋转90度, Y = N × X
df (J X ) = N × df ( X )
The map J is called the 【conformal structure(or linear complex structure)】 induced by the immersion f .
A Riemann surface is a surface with a complex structure, i.e., it is a surface where we know how to measure angles between tangent vectors (but possibly not their length).
J$^2$ = − id , where id just denotes the identity.
do i and J exactly the same thing?
7.2. The Cauchy-Riemann Equation
d z(JX) = i d z(X) (rotate then map = map then rotate)
z is a 【holomorphic】 function, meaning that it preserves both angles and orientation (dz ( X ) × dz (J X ) sticks “out” of the plane
Maps that preserve angles but reverse orientation are called 【antiholomorphic】
。
7.3. Differential Forms on a Riemann Surface
Hodge star on 1-forms is closely connected to the conformal structure J。
1-form Hodge star(on Riemann surface): *α ( X ) := α (JX ) (X : tangent vector field )
2-form Hodge star(on Riemann surface): *ω : = ω ( X, JX ) (ω: 2-form on M, X: unit vector field)
。
【norm of 1-form 】|| α || := sqrt(<<α, α >>)
。
7.3.1. Complex Differential Forms
u:=a+bi; c ̄:=a-bi
u ̄·v = u·v +(u× v)i
.
实数范围,inner products 是 symmetric
复数范围,inner products 是 Hermitian: <u, v> := u ̄·v = (<v, u>) ̄
.
1-forms的共轭 :(α ̄)(X) : = (α(X)) ̄
2-forms的共轭 :(α∧β) ̄(X, Y) := (α∧β(X, Y)) ̄ = α ̄∧β ̄(X, Y)
。
7.4. Conformal Parameterization
dz(JX) = idz(X) <==> *dz = idz
*dz rotates its argument by 90 degrees before mapping it to the plane;
idz rotates vectors by 90-degrees after mapping them into the plane.
.
conformal energy: Ec(z):= 1/4 ||*dz − idz||² (判断一个map是否是conformal的程度)
计算一个conformal map,只需要解:min{z} Ec(z)
Ec(z)可以转换为Laplacian形式:Ec(z) = 1/2<<∆z, z>> + i/2 ∫$_M$ dz ̄∧dz :=ED ( z ) − A( z ) ,便于应用到离散情况。(ED( z ):Dirichlet energy)
。
harmonic functions , holomorphic map
the minimizer of conformal energy subject to fixed boundary conditions is harmonic。
every conformal map is harmonic, not every harmonic map is conformal
7.5. Eigenvectors, Eigenvalues, and Optimization(利用linear operator及其eigenfunction,来生成conformal map。)
Ae = λe
特征值,特征向量的几何直观解释。
(代数解释:降维。就是在方向e上,把n维矩阵作用结果等效为1维的λ的作用结果。)
如果A是对称阵,则ei相互正交。
。
Laplacian ∆ is a linear operator, 因为: ∆ ( aφ + bψ ) = a∆φ + b∆ψ
。
an 【eigenfunction of a linear operator】 is any function that changes only by a scalar multiple when we hit it with the operator. 例如,∆φ = k φ,∆是 linear operator, φ就是对应的 eigenfunction。
。
利用linear operator及其eigenfunction,来设计conformal map。
。
A be a linear operator。A∗:adjoint of A。 self-adjoint if A∗ = A。<<Ax, y>> = <<x, A∗ y>>
Let A be a self-adjoint linear operator. Ae = λe, 则<<ei, ej>>= 0
。
一个足够好的 linear operator,类似于一个矩阵。在几何处理时,用(离散、有限维的)矩阵来代替 (连续、无穷维的)linear operator。
用这个思路,解决上面提到的优化问题:A是对称正定阵,|x|=1, 求极值min x$^T$Ax的解与Ax = λx的解一致。极小值就是对应的λ。
。
power method来求特征值的极大极小值。几何解释:the unit sphere is gets squashed more and more until it ends up looking like a thin spindle along the direction of the largest eigenvector。
。
.
.
CHAPTER 8 Vector Field Decomposition and Design
8.1. Hodge Decomposition
linear operator可以有相关联的vector space:
image:im ( A ) : = { v ∈ V | Au = v, u ∈ U }
cokernel:coker(A) : = im(A)⊥ , (⊥ denotes the orthogonal complement,i.e., all vectors in V orthogonal to im ( A ))
kernel:ker ( A ) : = { u ∈ U | Au = 0 }
。
U −A→ V −B→ W, this sequence is 【exact】 if B ◦ A = 0
我们喜欢研究这种关系,因为这会显示出V的一些有趣的性质。
im(A) ∩ im (B∗) = 0 (p102)
im(A) ∩ ker(A∗ ) = 0 (p107)
。
如何分解一个向量空间.
δ : = *d* (【codifferential】 of d)
d and δ are adjoint: <<dα, β>>= <<α, δβ>>
δδ = 0 (因为δδ = *d**d* = *dd* = 0)
.
8.1.2. Helmholtz-Hodge Decomposition.
【de Rham complex】 is an exact sequence:Ωk-1 --d--> Ωk --d--> Ωk+1
。
any k-form ω can be expressed as:
ω = dα (exact) + δβ (coexact) + γ (harmonic/closed&co-closed)
α: scalar potential,
*β:vector potential
• exact if it can be expressed as the image of the exterior derivative (e.g., dα),
• coexact if it can be expressed as the image of the codifferential (e.g., δβ), and
• harmonic if it is in the kernel of both d and δ—in other words, a harmonic form is both closed (dγ = 0) and co-closed (δγ = 0).
如果ω 是close,则可表示为ω = dα + γ;
如果ω 是 exact,则可表示为ω = δβ + γ;
。
。
X = ∇ φ(curl-free) + (∇u) ⊥ (div-free) + Y (harmonic/curl-free& div-free)
.
de Rham complex can also be expressed in terms of vector calculus: C∞ −∇→ M −∇×→ C∞
.
γ is harmonic if and only if ∆γ = 0
.
8.1.3. Computing a Decomposition
Helmholtz-Hodge Decomposition(可用discrete differential operators来实现):
1:Solve δdα = δω
2:Solve dδβ = dω
3:γ ← ω − dα − δβ
Q:离散形式的Helmholtz-Hodge Decomposition为什么是对的?
A:the sequence of vector spaces corresponding to the discrete exterior derivatives d 0 and d 1 is exact 。
把连续形式转换为离散形式,我们的处理思路是:our discretization should preserve the most essential structural properties of a smooth theory, so that we can directly apply all the same theorems and results without doing any additional work.
。
8.2. Homology Generators and Harmonic Bases
The phenomenon you’ve (hopefully) just observed is something called the 【holonomy of the connection】, i.e., the failure of the connection to preserve the direction of a vector as we go around a closed loop.
。
离散情况下,从face i到face j上,跨越priml edge时旋转角度θ ij,对应于oriented dual edge旋转角度φ ij。
起点到终点,途经的路线上所有φ ij被称为discrete connection。
【holonomy】 is the difference in angle between an initial and final vector that has been transported around a closed loop。
To construct a consistently-defined vector field, we must ensure that our connection has zero holonomy around every loop. Such a connection is called a 【trivial connection】.
Show that parallel transport by a trivial connection is path-independent.
a 【parallel vector field】 is a field where (at least according to the connection) every vector is parallel to every other vector.
parallel vector fields on surfaces are a generalization of constant vector fields in the plane.
。
any vector field can be considered parallel—as long as we choose the right connection
。
the 【curvature of a connection】 (smooth or discrete) over a topological disk D ⊂ M is given by the holonomy around the region boundary ∂D.
。
.
finding the smoothest vector field with prescribed singularities costs about as much as solving a single scalar Poisson problem
.
if treated correctly, many of the fundamental geometry processing tasks we’re interested in basically boil down to solving a Poisson equation.
=======================================
preserve vector length(意味着angle,area): orthogonal
preserve vector length+ orientation: rotation(Special Orthogonal)
preserve vector length+ not orientation: reflection
Euclidean Isometry:locally orthogonal transformation.
Euclidean motions are extremely rigid!
=======================================
REF
Mathieu Desbrun, Anil Hirani, Melvin Leok, and Jerrold Marsden. Discrete Exterior Calculus. ArXiv
e-prints, 2005
Anil Hirani. Discrete Exterior Calculus. PhD thesis, Pasadena, CA, USA, 2003.
=========================================
----------------------------------------------
º¹²³⁴ⁿ₁₂₃₄·∶αβγδεζηθικλμνξοπρστυφχψω∽≌⊥∠⊙∈∩∪∑∫∞≡≠±≈$㏒㎡㎥㎎㎏㎜
∈⊂∂Δ
∧