This document summarizes techniques for editing and manipulating 3D meshes, including Laplacian mesh editing, as-rigid-as-possible shape interpolation, deformation transfer, and generalized barycentric coordinates. It discusses using Laplacian coordinates to edit meshes while preserving local details, interpolating between shapes by treating each triangle transformation as a rigid transformation, transferring deformations between meshes by applying affine transformations computed for each source triangle to corresponding target triangles, and solving the resulting optimization problem to find consistent vertex positions during deformation transfer.
Transformations in OpenGL are not drawing
commands. They are retained as part of the
graphics state. When drawing commands are issued, the
current transformation is applied to the points
drawn. Transformations are cumulative.
Transformations in OpenGL are not drawing
commands. They are retained as part of the
graphics state. When drawing commands are issued, the
current transformation is applied to the points
drawn. Transformations are cumulative.
Transformation:
Transformations are a fundamental part of the computer graphics. Transformations are the movement of the object in Cartesian plane.
Types of transformation
Why we use transformation
3D Transformation
3D Translation
3D Rotation
3D Scaling
3D Reflection
3D Shearing
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transformation:
Transformations are a fundamental part of the computer graphics. Transformations are the movement of the object in Cartesian plane.
Types of transformation
Why we use transformation
3D Transformation
3D Translation
3D Rotation
3D Scaling
3D Reflection
3D Shearing
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
2. Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation transfer
– Generalized Barycentric Coordinates
3. Editing shapes
• For animating rigid/articulated objects, we can
use previous techniques like skinning
• Let’s think of animating cloths, clay, rubber, soft
tissues, dolls, etc
4. Editing shapes
• Usually, it is easier to edit a given shape rather
than modeling it from the beginning
• What is important when editing shapes?
• Keeping the local information unchanged
–For faces, the relative location of the eyes,
nose, and mouth must be similar to the
original mesh
• As-rigid-as possible
• Laplacian coordinates
5. Surface Editing
• Must
– Be fast (interactive rate)
– Preserving the details
– > Differential coordinates – Laplacian coordinates
– Linear, invariant to scale, rotation [Sorkine ’04]
6. Laplacian coordinates
• Assuming all polygons are
split into triangles
• Every vertex vi is surrounded
by a group of vertices Ni
• Coordinate i will be
represented by the difference
between vi and the average of
its neighbors
• The transformation between
the Laplacian coordinates and
the original vertices is linear
7. Laplacian coordinates (2)
• Suppose the new position of the vertices are v'i
• We want to keep the Laplacian coordinates the same after the
deformation
• T is a homogeneous transformation of scaling, rotation, and
translation
8. Laplacian coordinates (3)
• We also want to constrain the position of some
points (keeping vi’ close to ui)
• After all, we need to minimize the following
function
• This becomes a simple quadratic optimization
problem
9. 9
Solving a quadratic problem
Rewriting this problem, it becomes like
min || c - A x ||
The optimal x can be computed by solving
AA x = A c
2
x
T T
10. Editing Surfaces by Keeping the Details
• The user specifies the region of interest (ROI)
(the area to be edited)
• The user directly moves some of the vertices
• The rest of ROI is decided by minimizing the
error function
12. It is possible to add more constraints
• Sometimes the shape might shrink as we allow
scaling for the transformation
• It might be better to keep the volume the same
13. Creating a Volumetric Graph
• Add internal vertices and edges
• Compute and preserve the details for the internal structure
15. Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation Transfer
– Generalized Barycentric Coordinates
16. What if we want to interpolate
different shapes?
– Not editing the shapes but need to morph it to
the target shape
17. As-Rigid-As Possible Shape
Interpolation [Alexa ’00]
• Interpolating the shapes of the two polygons
so that each triangle (2D) / tetrahedron (3D)
transformation appears as rigid as possible
18. Interpolating the shapes of triangles
Represent the interpolation of triangles by
rotation & scaling
• linear interpolation
• rotation & scaling
20. 20
Transformation by 2x2 Matrix
If the matrix is symmetric, can be decomposed as
A = R Λ RT
, R orthogonal, where Λ scaling matrix
(true if A is symmetric)
The eigenvectors of A are the axes of the ellipse
A
21. 21
Geometric analysis of linear transformations
If the matrix is symmetric, can be decomposed as
A = R Λ RT
, R orthogonal (true if A is symmetric)
The eigenvectors of A are the axes of the ellipse
R
RT
Λ
22. 22
General linear transformations:
Singular Value Decomposition (SVD)
In general A will also contain rotations, not just scales:
A
1 1
σ2
σ1
T
A U V
= ∑
24. Back to ARAP Deformation
Least-Distorting Triangle-to-Triangle Morphing
• Say the three vertices P=(p1,p2,p3) are
morphed to Q=(q1,q2,q3)
We want to compute a transformation that
produces (q2-q1, q3-q1)=A (p2-p1, p3-p1)
• We can apply SVD to compute the scaling and
rotation part.
• A = R S
rotation
scaling
S
R
25. Interpolation of the transformation matrix
The intermediate vertices will be computed by
V(t)=A(t) P
A is decomposed into the rotation part R(t) and
scaling part and S.
26. Keeping the transformation similar
to A{i,j,k}
• We cannot just interpolate all the triangles
independently
• We need to move the vertices, not the triangles
• A vertex configuration that minimizes the error
between A and B is computed
28. 3D objects
• The method is applicable to polyhedra
• Tetrahedralization is applied to polyhedra and
the tetrahedra are morphed so that they are as
rigid as possible
30. As-rigid-as possible shape
manipulation [Igarashi et al. 05]
• interactive manipulation of characters based on
the “as-rigid-as-possible” concept
• http://www-ui.is.s.u-tokyo.ac.jp/~takeo/research/rigid/index.html
• http://www.youtube.com/watch?v=1M_oyUEOHK8
31. Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation transfer
– Generalized Barycentric Coordinates
32. 32
Deformation Transfer
A standard approach to apply the deformation of
one object to another
Deformation Transfer fo
Triangle Meshe
a Paper (SIGGRAPH 2004) by Robert W. Sumner & Jovan Pop
presented by Roni Oesch
Source deformed Target deformed
Deformation
Transfer
33. 33
What does it do?
Given a source mesh in a reference pose and
several deformations of it:
Given another mesh, called Target in same reference
pose:
Roni Oeschger, Nov. 2005
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose:
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose:
34. 34
What does it do?
Transfer the deformation to the target
Reuse the deformation that was created with
probably a lot of effort
Roni Oeschger, Nov. 2005
4
What is it all about?
• Transfer the deformations to the target:
• Reuse of deformations which were probably
created with a lot of effort
35. 35
No need of Skeleton
Deformation Transfer is purely
mesh-based
No need for an underlying
skeleton structure
Deformation Transfer
• Deformation Transfer is
purely mesh-based
• No need for an underlying
skeleton structure
36. 36
Not skeletal-driven deformations
– non-rigid or facial deformations etc
Roni Oeschger, Nov. 2005
8
Wider Area of Application
• Not skeletal-driven deformations
– non-rigid or facial deformations etc.
Roni Oeschger, Nov. 2005
8
Wider Area of Application
• Not skeletal-driven deformations
– non-rigid or facial deformations etc.
38. 38
Approach
Deformation based on per-triangle
affine transformation
Roni Oeschger, Nov. 2005
12
Deformation Details
• Deformation based on per-triangle affine
transformation
Qv1 + d = v1
v1
Source
v1
Deformed Source
39. 39
Deformation Gradient
“Deformation Gradient” Q depends on
– triangle in reference pose
– triangle in deformed pose
12
Deformation Details
• Deformation based on per-triangle affine
transformation
Qv1 + d = v1
v1
Source
v1
Deformed Source
40. 40
Computing the Deformation
Gradient
• Let vi and vi, i ∈ 1...3, be the undeformed and
deformed vertices of the triangle
• We compute a fourth undeformed vertex as
• The deformation gradient can be then computed by
n these
l lattice
olve for
1992].
ly sized
vertices
locally
global
nds the
terpola-
hape by
ow that
transfer
mendous
mplexity
ons that
n anal-
mesh T,
n T and
form of
curves
exhibited by the source deformation onto the target. We represent
the source deformation as a collection of affine transformations tab-
ulated for each triangle of the source mesh. We use this represen-
tation because the non-translational portion of each affine transfor-
mation encodes the change in orientation, scale, and skew induced
by the deformation on the triangle. However, the three vertices of
a triangle before and after deformation do not fully determine the
affine transformation since they do not establish how the space per-
pendicular to the triangle deforms. To resolve this issue, we add a
fourth vertex in the direction perpendicular to the triangle. Let vi
and ṽi, i ∈ 1...3, be the undeformed and deformed vertices of the
triangle, respectively. We compute a fourth undeformed vertex as
v4 = v1 +(v2 −v1)×(v3 −v1)/
!
|(v2 −v1)×(v3 −v1)| (1)
and perform an analogous computation for ṽ4. We scale the cross-
product by the reciprocal of the square root of its length since
this causes the perpendicular direction to scale proportional to the
length of the triangle edges.
An affine transformation defined by the 3×3 matrix Q and dis-
placement vector d, which, for notational convenience, we write as
Q+d, transforms these four vertices as follows:
Qvi +d = ṽi, i ∈ 1...4. (2)
r d, which, for notational convenience, we write as
ms these four vertices as follows:
Qvi +d = ṽi, i ∈ 1...4. (2)
e first equation from the others to eliminate d and
matrix form treating the vectors as columns, we get
V = [v2 −v1 v3 −v1 v4 −v1]
Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1]
. (3)
xpression for Q is given by
Q = ṼV−1
. (4)
ended shape by
We show that
red for transfer
has tremendous
ical complexity
ify regions that
sed as an anal-
target mesh T,
between T and
S′. This form of
een two curves
plies in the spe-
is a continuous
ry relationship.
f the source de-
mation transfer
source and tar-
et meshes with
ion uses a neu-
the T-pose.
v4 = v1 +(v2 −v1)×(v3 −v1)/
!
|(v2 −v1)×
and perform an analogous computation for ṽ4. We
product by the reciprocal of the square root of
this causes the perpendicular direction to scale pro
length of the triangle edges.
An affine transformation defined by the 3×3 m
placement vector d, which, for notational convenie
Q+d, transforms these four vertices as follows:
Qvi +d = ṽi, i ∈ 1...4.
If we subtract the first equation from the others to
rewrite them in matrix form treating the vectors as
QV = Ṽ where
V = [v2 −v1 v3 −v1 v4 −v1]
Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1]
.
A closed form expression for Q is given by
~
41. 41
What happens if we apply Q to the
target mesh?
Roni Oeschger, Nov. 2005
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose:
Roni Oeschger, Nov. 2005
3
What is it all about?
• Given a source mesh in a reference pose and
several deformations of it:
• Given another mesh, called Target in same
reference pose: Roni Oeschger, Nov. 2005
12
Deformation Details
• Deformation based on per-triangle affine
transformation
Qv1 + d = v1
v1
Source
v1
Deformed Source
?
42. 42
Resulting Meshes
Leads to holes in the resulting mesh(B)
Because each triangle is transformed
independently…
Resulting Meshes
• Leads to holes in the resulting mesh (B)
• Used representation affords too many degrees
of freedom Q
43. 43
Consistency needed
• Preservation of consistency leads to a optimization
problem:
Roni Oeschger, Nov. 2005
15
Minimization Problem
Preservation of con-
sistency leads to a
optimization problem:
44. 44
Vertex Optimization
• Use the vertices as the variables
• Optimize the vertex locations such that the
• deformation gradient of the source S and
• deformation gradient of the target T are as
similar as possible
• We solve the following quadratic problem:
To a
Given this definition, we rewrite the minimization pro
min
ṽ1...ṽn
|M|
∑
j=1
!
!Ssj −Ttj
!
!2
F
.
Since the target transformations are defined in terms o
45. 45
Vertex Optimization (2)
Remember deformation gradient is computed by
V is known, V is unknown for T
So T is linear with respect to V
Thus the following equation is a quadratic
optimization problem with respect to V
To a
Given this definition, we rewrite the minimization pro
min
ṽ1...ṽn
|M|
∑
j=1
!
!Ssj −Ttj
!
!2
F
.
Since the target transformations are defined in terms o
wo curves
n the spe-
ontinuous
ationship.
ource de-
n transfer
e and tar-
shes with
es a neu-
-pose.
skeleton-
ue known
Qvi +d = ṽi, i ∈ 1...4.
If we subtract the first equation from the others to elimin
rewrite them in matrix form treating the vectors as colum
QV = Ṽ where
V = [v2 −v1 v3 −v1 v4 −v1]
Ṽ = [ṽ2 −ṽ1 ṽ3 −ṽ1 ṽ4 −ṽ1]
.
A closed form expression for Q is given by
Q = ṼV−1
.
2
6)
h
),
-
s
-
et
transformed to the same location.
For each target triangle, we add a fo
(Equation 1) and write the non-translatio
transformation in terms of the undeforme
T = ṼV−1. The elements of V−1 depe
formed vertices of the target shape. The e
ordinates of the unknown deformed vertic
T are linear combinations of the coordin
formed vertices.
3
̃
̃
̃
46. 46
Vertex Optimization (3)
Rewriting this problem, it becomes like
where x are the unknowns (components of v),
the rest are known
We can solve this kind of problem by solving a
linear equation
tices themselves and the continuity constraints are implicitly s
fied. Positional vertex constraints can be enforced by simply t
ing a vertex as a constant rather than as a free variable.
The solution to this optimization problem is the solution
system of linear equations. Rewriting the problem in matrix f
yields
min
ṽ1...ṽn
||c−Ax̃||2
2
where x̃ is a vector of the unknown deformed vertex locations
a vector containing entries from the source transformations, an
is a large, sparse matrix that relates x̃ to c. Setting the gradie
the objective function to zero gives the familiar normal equatio
AT
Ax̃ = AT
c
The entries in A depend only on the target mesh’s undeformed
tex locations. Furthermore, the system is separable in the sp
dimension of the vertices. Thus, for each source/target pair
compute and store the LU factorization of ATA only once. R
m of linear equations. Rewriting the problem
s
min
ṽ1...ṽn
||c−Ax̃||2
2
e x̃ is a vector of the unknown deformed vert
ctor containing entries from the source transfo
arge, sparse matrix that relates x̃ to c. Settin
bjective function to zero gives the familiar no
AT
Ax̃ = AT
c
entries in A depend only on the target mesh’s
ocations. Furthermore, the system is separab
~
̃
48. Today
– Laplacian mesh editing
– As-rigid-as possible shape interpolation
– Deformation Transfer
– Generalized Barycentric Coordinates
49. Barycentric Coordinates
Given a polygon with N vertices, the barycentric
coordinates is a N dimensional vector
We can use it to represent a position in the space with
respect to the N points of the polygon
We can also use it to interpolate attribute values defined
at the N vertices of the polygon
50. Interpolation
Geometric interpolation – derive the global
coordinates for a position in parametric cell
space
Attribute interpolation – derive the attribute
value for a position defined in parametric
cell space
are called barycentric coordinates
Demo
v
p1
p2 p3
p4
p5
v
f1
f2 f3
f4
p5
f(v)
http://www.lidberg.se/math/shapetransforms/barycentric.html
58. Mean Value Coordinates
A good and smooth barycentric coordinates
that can smoothly interpolate the boundary
values
Also works well for concave polygons
There is also a 3D version
68. Harmonic Coordinates
The problem with Mean Value Coordinates is that
their values are affected by the Euclidean
distance but not the distance that needs to be
travelled
Affected by geometrically close points
Harmonic Scalar Field
– The value depends on the distance travelled
inside the polygon
Not affected by the Euclidean distance but the
geodesic distance
69. Harmonic Coordinates :
Procedure
- For each vertex i of the cage, set the potential
value of vi to 1, and the rest to 0
- Compute the potential for all the points inside
the the polygon (pi) by solving a Laplace
equation (as taught in Lecture 12)
(p1, p2, ...., pn) is the harmonic coordinates
for each point after normalization
The global position of the point can be expressed
in the form
P = p1 v1 + p2 v2 + … + pn vn
71. Barycentric Coordinates
Summary
Triangulation / Tetrahedralization
Only C0 continuous at the boundaries
Wachspress coordinates
Can only handle convex objects
Mean value coordinates
Can handle concave objects well to some extent
Values affected by geometrically close control points
Defined outside the polygon too
Harmonic Coordinates
Can handle concave objects well
Only defined inside the polygon
73. Readings
• Alexa et al. “As-rigid-as-possible shape interpolation SIGGRAPH ’00
• Deformation Transfer for Triangle Mesh, Sumner et al. SIGGRAPH 2004
• Igarashi et al. “As-rigid-as-possible shape manipulation”, SIGGRAPH ‘05
• O. Sorkine, D. Cohen-Or, Y. Lipman, M. Alexa, C. Rössl and H.-P. Seidel,
“Laplacian Surface Editing”, Eurographics Symposium on Geometry
Processing (2004)
• Large Mesh Deformation Using the Volumetric Graph Laplacian
Kun Zhou, Jin Huang, John Snyder, Xinguo Liu, Hujun Bao, Baining Guo,
Heung-Yeung Shum. ACM SIGGRAPH 2005, 496-503.
• Harmoinc Coordinates for Character Articulation: Joshi et al. SIGGRAPH
2007
• Mean Value Coordinates for Closed Triangular Meshes, Ju et al. SIGGRAPH
2005