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


:= ∂φ/x¹ dx¹ + · · · + ∂φ/xⁿ dxⁿ (p37)


= (∇φ )$^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 ( α₁ 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.

=========================================

----------------------------------------------

º¹²³⁴ⁿ₁₂₃₄·∶αβγδεζηθικλμνξοπρστυφχψω∽≌⊥∠⊙∈∩∪∑∫∞≡≠±≈$㏒㎡㎥㎎㎏㎜

∈⊂∂Δ

Discrete.Differential.Geometry-An.Applied.Introduction(sig2013) 笔记的更多相关文章

  1. Discrete.Differential.Geometry-An.Applied.Introduction(sig2008)笔记

    -------------------------------------------------------------- Chapter 1: Introduction to Discrete D ...

  2. <<Differential Geometry of Curves and Surfaces>>笔记

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  3. Some elementary algorithms on discrete differential geometry(DDGSpring2016 Demos)

    I studied the on-line course(http://brickisland.net/DDGSpring2016/) by myself, and here are the scre ...

  4. <Differential Geometry of Curves and Surfaces>(by Manfredo P. do Carmo) Notes

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  5. 图书源代码下载: Modern Differential Geometry of CURVES and SURFACES with Mathematica

    http://alpha01.dm.unito.it/personalpages/abbena/gray/ Contents   1. Curves in the Plane |   2. Famou ...

  6. Reinforcement Learning: An Introduction读书笔记(3)--finite MDPs

     > 目  录 <  Agent–Environment Interface Goals and Rewards Returns and Episodes Policies and Val ...

  7. 离散数学及其应用(Discrete Mathematica With Application 7th)学习笔记 第一章

    目前本人只进行到了第五章的章末补充练习,应该是从4月6号开始学习的,又是英文版,而且基本就下班回家抽2个小时左右去学,所以进度较慢. 由于本质是数学,除了一些程序处理和大计算量的问题,基本上一本草稿本 ...

  8. Differential Geometry之第五章曲面的内蕴几何学

    第五章.曲面的内蕴几何学 1.曲面的等距变换 2.曲面的协变微分 协变微分: 3.测地曲率与测地线 4.测地坐标系 4.1.测地平行坐标系 4.2.测地极坐标系和法坐标系 5.Gauss-Bonnet ...

  9. Differential Geometry之第四章标架与曲面论的基本定理

    第四章.标架与曲面论的基本定理 1.活动标架 2.自然标架的运动方程 爱因斯坦求和约定(Einstein summation convention) 3.曲面的结构方程 4.曲面的存在唯一性定理 5. ...

随机推荐

  1. codeforces 732D(二分)

    题目链接:http://codeforces.com/contest/732/problem/D 题意:有m门需要过的课程,n天的时间可以选择复习.考试(如果的d[i]为0则只能复习),一门课至少要复 ...

  2. 缺少动态连接库.so--cannot open shared object file: No such file or directory

    总结下来主要有3种方法:1. 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边 ln -s /where/you/install/lib/*.so /usr/lib sud ...

  3. 在ubuntu14.04 64位虚拟机中安装mysql

    因为在win10 系统上手贱的将mysql卸载掉了之后有个插件一直无法正常删除导致只能将mysql装到ubuntu虚拟机上, 宝宝心里都是累啊,所以记录下来自己的安装过程2333 命令行操作: &qu ...

  4. Android SDK Manager中不显示未下载的api解决方案

    Android SDK 在线更新镜像服务器资源用户评价:  / 14 Android SDK 在线更新镜像服务器资源:大连东软信息学院镜像服务器地址:http://mirrors.neusoft.ed ...

  5. LINQ To SQL

    议程 1.LINQ To SQL概述 2.LINQ To SQL对象模型 3.LINQ To SQL查询 用到的数据库 SQL Server 2005,数据库名为Test. 两张表,分别为Studen ...

  6. 学习RaphaelJS矢量图形包--Learning Raphael JS Vector Graphics中文翻译(一)

    (原文地址:http://www.cnblogs.com/idealer3d/p/LearningRaphaelJSVectorGraphics.html) 前面3篇博文里面,我们讲解了一本叫做< ...

  7. WEP算法的安全性

    翻译自http://www.isaac.cs.berkeley.edu/isaac/wep-faq.html WEP算法的安全性 这篇文章讲述了我们对有线等效加密协议(WEP, 802.11标准的一部 ...

  8. ICTCLAS 汉语词性标注集

    以前使用jieba分词时,并没有注意到词性标注集到底包含哪些,刚好最近学习自然语言处理,涉及到分词以及词性标注,将ICTCLAS 词性标注集记录如下: ICTCLAS 汉语词性标注集 代码 名称 帮助 ...

  9. C#的数组

    一维数组: 定义数组 int[] 变量名=new int [n]; 例一:输入班级人数,再输入每个人的姓名. 例二:输入班级人数,输入每个人的分数,求平均分 冒泡排序: 二维数组: 定义二维数组 in ...

  10. EXCEL导入(反射)

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...