E N D
1. 3D Euler Spirals for 3D Curve Completion Gur Harary
Ayellet Tal
Presented at the ACM Symposium on Computational Geometry (SoCG), 2010
2. Keypoints Introduction
Related work
Mathematical background
3D Euler spirals definition
Properties of 3D Euler spirals
Curve construction algorithm
Results and applications
Conclusion
Paper analysis
3. Introduction A practical solution to the problem of completing curves in three dimensions
Shape completion is an important tast in computational geometry.
Most work has focused on completing or repairing polyhedra and CAD models.
The paper presents a practical solution to the problem of completing curves in three dimensions
This is shown with 2 applications, backed by real life data
Shape completion is an important tast in computational geometry.
Most work has focused on completing or repairing polyhedra and CAD models.
The paper presents a practical solution to the problem of completing curves in three dimensions
This is shown with 2 applications, backed by real life data
4. Introduction – Paper Contribution 3D Euler spiral definition
Algorithm for its computation
Use of the spiral in two curve completion applications First the paper defines 3d euler spiral and proves that it satisfies desirable properties that have been claimed to produce eye-pleasing curves
In particular we prove that our curves are invariant to
similary transformation
Are symetric
Extensible (refinable)
Smooth
Round (if boundary conditions lie on a circle, then the curve is a circle (see next slide)
Second: an algorithm without a need for parameters
Third: as aboveFirst the paper defines 3d euler spiral and proves that it satisfies desirable properties that have been claimed to produce eye-pleasing curves
In particular we prove that our curves are invariant to
similary transformation
Are symetric
Extensible (refinable)
Smooth
Round (if boundary conditions lie on a circle, then the curve is a circle (see next slide)
Second: an algorithm without a need for parameters
Third: as above
5. Given two point-tangent pairs, one way to complete is using Hermite splines [7,10] Introduction (cont’d) Given two point-tangent pairs, one way to complete is with splines.
Not always good results!
This is supported by psychological studies [30]
Our curves are not only appealingGiven two point-tangent pairs, one way to complete is with splines.
Not always good results!
This is supported by psychological studies [30]
Our curves are not only appealing
6. Introduction (cont’d) Euler spirals are aesthetic curves: their curvature varies linearly with arc-length [16, 20, 21]
Proposed curve: curvature and torsion changing linearly Curve fairness: shown to be closely related to how little and how smoothly a curve bends
[25]Moreton and Sequin. Functional optimization for fair surface design
Our Proposed curve is an extension of the planar Euler spirals, with both curvature and torsion changing linearlyCurve fairness: shown to be closely related to how little and how smoothly a curve bends
[25]Moreton and Sequin. Functional optimization for fair surface design
Our Proposed curve is an extension of the planar Euler spirals, with both curvature and torsion changing linearly
7. Introduction - Applications Complete missing curves from edge detection algorithm
Completion of broken archeological artifacts Completion of broken archeological artifacts (currently done manually and in 2D)
Completion of broken archeological artifacts (currently done manually and in 2D)
8. Related work Curve completion, using cubic Hermite spline:
+ Fast and easy to compute
- Not always aesthetic
9. Related work (cont’d)2D Curve properties Invariance to rigid transformations
Smoothness
Minimization of total curvature
Extensibility
Ullman suggested properties that 2D curves should satisfy to be pleasing to the human eye
Smoothness – tangent defined at every point
Minimization of curvature – kame she pajot shinuim – slower rate of change
Extensibility – for every point Xm between Xo and Xf on curve C, the curve C1 (Xo, Xm) and C2 (Xm, Xf) coincide with C, each in their own section
This led to biarc solution (next slide)Ullman suggested properties that 2D curves should satisfy to be pleasing to the human eye
Smoothness – tangent defined at every point
Minimization of curvature – kame she pajot shinuim – slower rate of change
Extensibility – for every point Xm between Xo and Xf on curve C, the curve C1 (Xo, Xm) and C2 (Xm, Xf) coincide with C, each in their own section
This led to biarc solution (next slide)
10. Biarc curves (two circular arcs)
+ Smooth and invariant to rigid transformations
- Minimal total curvature not guaranteed
- Not extensible [5]
Related work (cont’d) Rigid transforms: scaling, rotating, translating
Biarcs are generalized to 3D in [6, 29]
Rigid transforms: scaling, rotating, translating
Biarcs are generalized to 3D in [6, 29]
11. Elastica: a curve that minimizes the total square curvature of the curve [14, 19, 24, 26]
+ Smoothest 2D curve, according to Horn
+ Extensible
- Not round, nor scale-variant Related work (cont’d) S is arc length parameter and Kappa(s) is the curvature
Defined for 3D in [24]
In 2D this curve is the 2D euler spiral, discussed next, which has linear curvature. In 3D, the curvature of this curve is an hyperbola (already discussed in 1906!) by [4] Born. Untersuchungen uber die Stabilitat der elastichen
S is arc length parameter and Kappa(s) is the curvature
Defined for 3D in [24]
In 2D this curve is the 2D euler spiral, discussed next, which has linear curvature. In 3D, the curvature of this curve is an hyperbola (already discussed in 1906!) by [4] Born. Untersuchungen uber die Stabilitat der elastichen
12. Related work (cont’d) 2D Euler spirals:
Discovered by Bernoulli (1694), Euler (1744) and Talbot (1890) independently
Talbot used them to design railroad tracks. They found that it’s more comfy for the passengers when the acceleration changes linearly
Also known as Cornu spirals (after cornu who plotted them) and Clothoid (after clothoid who wove the thread of humanity)Talbot used them to design railroad tracks. They found that it’s more comfy for the passengers when the acceleration changes linearly
Also known as Cornu spirals (after cornu who plotted them) and Clothoid (after clothoid who wove the thread of humanity)
13. 2D Euler spirals Defined as the curves that penalize curvature variation
Closer to how the human eye interpolates, according to [30] Ks is derivative of Kappa (curvature)
Outperforms parabolic and circular curvesKs is derivative of Kappa (curvature)
Outperforms parabolic and circular curves
15. 3D Euler spirals [13] presents an attempt to generalize Euler spirals to 3D
Uses polygon refinement (result is discrete)
Ignores torsion
A given polygon is refined, such that the polygon satisfies both arc-length parameterization and linear distribution of the discrete curvature binormal vector.
The algorithm ignores the torsion, despite being an important characteristic of 3D curves.A given polygon is refined, such that the polygon satisfies both arc-length parameterization and linear distribution of the discrete curvature binormal vector.
The algorithm ignores the torsion, despite being an important characteristic of 3D curves.
16. Proposed 3D Euler spiral Continous rather than discrete
Takes both curvature and torsion into account
Does not require an initial polygon
Satisfies properties of fairness
Reduces to 2D Euler in planar case Conforms to 2D spiral (when torsion is 0)
Properties: invariance to transformations
Symetry (exchange of endpoints gives same curve)
Extensibility (C = C1 + C2) x0 -> xm -> xf
Smoothness (C-infinity smooth)
RoundnessConforms to 2D spiral (when torsion is 0)
Properties: invariance to transformations
Symetry (exchange of endpoints gives same curve)
Extensibility (C = C1 + C2) x0 -> xm -> xf
Smoothness (C-infinity smooth)
Roundness
17. Keypoints Introduction
Related work
Mathematical background
3D Euler spirals definition
Properties of 3D Euler spirals
Curve construction algorithm
Results and applications
Conclusion
Paper analysis
18. Mathematical BackgroundFrenet-Serret Equations A spatial curve C(s) is determined by its curvature K(s) and torsion tau(s). Intuitively, a curve can be obtained from a straight line by bending (curvature) and twisting (torsion)
These equations will be needed to derive the 3D Euler spirals
Given a curvature Kappa(s) > 0 and a torsion Tau(s), according to the fundamental theorem
of the local theory of curves [9], there exists a unique (up to
rigid motion) spatial curve, parameterized by the arc-length
s, defined by its Frenet-Serret equationsA spatial curve C(s) is determined by its curvature K(s) and torsion tau(s). Intuitively, a curve can be obtained from a straight line by bending (curvature) and twisting (torsion)
These equations will be needed to derive the 3D Euler spirals
Given a curvature Kappa(s) > 0 and a torsion Tau(s), according to the fundamental theorem
of the local theory of curves [9], there exists a unique (up to
rigid motion) spatial curve, parameterized by the arc-length
s, defined by its Frenet-Serret equations
19. Mathematical BackgroundFrenet-Serret Equations The curve is defined by: Given a curvature Kappa(s) > 0 and a torsion Tau(s), according to the fundamental theorem
of the local theory of curves [9], there exists a unique (up to
rigid motion) spatial curve, parameterized by the arc-length
s, defined by its Frenet-Serret equationsGiven a curvature Kappa(s) > 0 and a torsion Tau(s), according to the fundamental theorem
of the local theory of curves [9], there exists a unique (up to
rigid motion) spatial curve, parameterized by the arc-length
s, defined by its Frenet-Serret equations
20. Math BackgroundEuler-Lagrange Equation Useful for solving optimization problems
Given some functional, one seeks the function that optimizes it.
q satisfies the Euler-Lagrange equations: The function q that optimizes this functional given above, satisfies the Euler-Lagrange equations:The function q that optimizes this functional given above, satisfies the Euler-Lagrange equations:
21. 3D Euler spiral definition Intuition: a functional that penalizes change in curvature and torsion along the curve.
Minimize the following integral:
L is curve length, Ks derivate of curvature, Ts derivative of torsion. In planar case T = 0, conforming to 2D spiralL is curve length, Ks derivate of curvature, Ts derivative of torsion. In planar case T = 0, conforming to 2D spiral
22. 3D Euler spiral definition (cont’d) L is curve length, Ks derivate of curvature, Ts derivative of torsion. In planar case T = 0, conforming to 2D spiralL is curve length, Ks derivate of curvature, Ts derivative of torsion. In planar case T = 0, conforming to 2D spiral
23. The corresponding equations are:
Integrating twice: 3D Euler spiral definition (cont’d) we have shown that the curve that minimizes our functional (Equation (5)) is a curve whose curvature
and torsion change linearly along the curve
Because of this it is a special case of Bertrand curves [12] Graustein. Differential Geometry.
But this doesn’t help deriving the properties nor provides a method for constructing them
we have shown that the curve that minimizes our functional (Equation (5)) is a curve whose curvature
and torsion change linearly along the curve
Because of this it is a special case of Bertrand curves [12] Graustein. Differential Geometry.
But this doesn’t help deriving the properties nor provides a method for constructing them
24. Curve and conditions that satisfy equation 6 3D Euler spiral definition (cont’d) Given initial conditions: a point xo, a tangent To at xo and a normal No the curve is defined by:
1 is definition of tangent
2-4 Frenet serret equations
5 Initial conditionsGiven initial conditions: a point xo, a tangent To at xo and a normal No the curve is defined by:
1 is definition of tangent
2-4 Frenet serret equations
5 Initial conditions
25. This proves the existence of the curve and uniqueness up to a rigid transformation
By definition of the curvature of curves in R3, K(S) = abs(d2C/ds2) >= 0
According to fundamental theorem of local theory of curves, for every diff function with K(s)>0 and tau(s0
Exists a regular parametrized curve, where k(s) is curvature and t(s) is torsion, and s is the arc length parameter [9]
Any other curve satisfying the same condtions differs by a rigid motion
If k(s) = 0, the curve is a straight line, which is unique up to transfrom
This proves the existence of the curve and uniqueness up to a rigid transformation
By definition of the curvature of curves in R3, K(S) = abs(d2C/ds2) >= 0
According to fundamental theorem of local theory of curves, for every diff function with K(s)>0 and tau(s0
Exists a regular parametrized curve, where k(s) is curvature and t(s) is torsion, and s is the arc length parameter [9]
Any other curve satisfying the same condtions differs by a rigid motion
If k(s) = 0, the curve is a straight line, which is unique up to transfrom
26. Keypoints Introduction
Related work
Mathematical background
3D Euler spirals definition
Properties of 3D Euler spirals
Curve construction algorithm
Results and applications
Conclusion
Paper analysis
27. Properties of 3D Euler spirals Invariance to similarity transformations
Symmetry
Extensibility
Smoothness
Roundness Symmetry: The curve leaving the point x0 with tangent ~ T0 and reaching the point xf with tangent ~ Tf , coincides with the curve leaving the point xf with tangent ~ Tf and reaching the point x0 with tangent ~ T0.
Extensibility: For every point xm E C between points x0 and xf , the curves C1 between x0 and xm and C2 between xm and xf coincide with C, each in its own section
Smoothness: The tangent is defined at every point, i.e., @C/@s is finite. (In fact, our curves are C-inf smooth.)
Roundness: If C interpolates two point-tangent pairs lying on a circle, then C is a circle. The importance of this property is demonstrated in Figures 1,6{7, where our spirals are both appealing and correct, since the boundary conditions indicate completion by a circular arc.
The paper then proceeds to prove each of this point. I’ll show one of these proofs (first one, invariance to scaling)Symmetry: The curve leaving the point x0 with tangent ~ T0 and reaching the point xf with tangent ~ Tf , coincides with the curve leaving the point xf with tangent ~ Tf and reaching the point x0 with tangent ~ T0.
Extensibility: For every point xm E C between points x0 and xf , the curves C1 between x0 and xm and C2 between xm and xf coincide with C, each in its own section
Smoothness: The tangent is defined at every point, i.e., @C/@s is finite. (In fact, our curves are C-inf smooth.)
Roundness: If C interpolates two point-tangent pairs lying on a circle, then C is a circle. The importance of this property is demonstrated in Figures 1,6{7, where our spirals are both appealing and correct, since the boundary conditions indicate completion by a circular arc.
The paper then proceeds to prove each of this point. I’ll show one of these proofs (first one, invariance to scaling)
28. Properties of 3D Euler spirals 1) Invariance to similarity transformations (translation, rotation and scaling) Translation/rotation results from Proposition 4.1
Scale is proven in paper (need to show that C_lambda(s)=lambda*C(s) -> meaning same curve just multiplied by factor)Translation/rotation results from Proposition 4.1
Scale is proven in paper (need to show that C_lambda(s)=lambda*C(s) -> meaning same curve just multiplied by factor)
29. Properties of 3D Euler spirals 2) Symmetry
The curve leaving the point x0 with tangent T0 and reaching the point xf with tangent Tf , coincides with the curve leaving the point xf with tangent -Tf and reaching the point x0 with tangent -T0. Symmetry: The curve leaving the point x0 with tangent ~ T0 and reaching the point xf with tangent ~ Tf , coincides with the curve leaving the point xf with tangent ~ Tf and reaching the point x0 with tangent ~ T0.
Proof in appendixSymmetry: The curve leaving the point x0 with tangent ~ T0 and reaching the point xf with tangent ~ Tf , coincides with the curve leaving the point xf with tangent ~ Tf and reaching the point x0 with tangent ~ T0.
Proof in appendix
30. Properties of 3D Euler spirals 3) Extensibility
For every point xm E C between points x0 and xf , the curves C1 between x0 and xm and C2 between xm and xf coincide with C, each in its own section Extensibility: For every point xm E C between points x0 and xf , the curves C1 between x0 and xm and C2 between xm and xf coincide with C, each in its own section
Proof in appendixExtensibility: For every point xm E C between points x0 and xf , the curves C1 between x0 and xm and C2 between xm and xf coincide with C, each in its own section
Proof in appendix
31. Properties of 3D Euler spirals 4) Smoothness
The tangent is defined at every point, i.e., is finite.
(In fact, our curves are smooth.) Smoothness: The tangent is defined at every point, i.e., @C/@s is finite. (In fact, our curves are C-inf smooth.)
According to proposition 4.1, there is a solution for the Frenet Serret equations. Therefore dC/ds = T(s) is defined for every s (0,L)Smoothness: The tangent is defined at every point, i.e., @C/@s is finite. (In fact, our curves are C-inf smooth.)
According to proposition 4.1, there is a solution for the Frenet Serret equations. Therefore dC/ds = T(s) is defined for every s (0,L)
32. Properties of 3D Euler spirals 5) Roundness
If C interpolates two point-tangent pairs lying on a circle, then C is a circle Roundness: If C interpolates two point-tangent pairs lying on a circle, then C is a circle. The importance of this property is demonstrated in Figures 1,6{7, where our spirals are both appealing and correct, since the boundary conditions indicate completion by a circular arc.
Proof: given two point tangent pairs lying on a circle, the circle defined by K(s) = const, Tau(s)=0 is solution for the Frenet Serret equationRoundness: If C interpolates two point-tangent pairs lying on a circle, then C is a circle. The importance of this property is demonstrated in Figures 1,6{7, where our spirals are both appealing and correct, since the boundary conditions indicate completion by a circular arc.
Proof: given two point tangent pairs lying on a circle, the circle defined by K(s) = const, Tau(s)=0 is solution for the Frenet Serret equation
33. Curve construction algorithm In practice we are given a start and end point and their tangents (xo, To) (xf, Tf)
We must find the parameters that define the 3D spiral that starts at xo, To, and minimizes the difference between C(s=L) and xf Attemp to minimize this error
Other weights of Ex and Et were experimented, but were not proven benificial
Attemp to minimize this error
Other weights of Ex and Et were experimented, but were not proven benificial
34. Algorithm (using Gradient-descent approach) Guarantees convergence to a local minimum:Guarantees convergence to a local minimum:
35. Algorithm (using Gradient-descent approach) Initialized with planar Euler spiral
Torsion parameters are zero Define the plane with xo, xf and To (2 vectors, To and xo-xf)
Since it lies on a plane, torsion (tau_0 and lambda) are 0
Our Experiments show this is good approx to kappa_0 and gamma, they hardly change afterwards
Other init methods (3d biarc, hermite) proved less succesfulDefine the plane with xo, xf and To (2 vectors, To and xo-xf)
Since it lies on a plane, torsion (tau_0 and lambda) are 0
Our Experiments show this is good approx to kappa_0 and gamma, they hardly change afterwards
Other init methods (3d biarc, hermite) proved less succesful
36. Algorithm (using Gradient-descent approach) Curve is set of diff equation, cannot find gradient explicitly
Instead the parameters are modified by +-Delta, comparing the spirals that result from changing one parameter
And all parameters, and choose the one with minimum error E.
Each candidate is solved numerically with Frenet Serret equations, by taking uniform values of s of the curve and solving the equations at these points,
Using the euler method (only needs the preceding point)Curve is set of diff equation, cannot find gradient explicitly
Instead the parameters are modified by +-Delta, comparing the spirals that result from changing one parameter
And all parameters, and choose the one with minimum error E.
Each candidate is solved numerically with Frenet Serret equations, by taking uniform values of s of the curve and solving the equations at these points,
Using the euler method (only needs the preceding point)
37. Algorithm (using Gradient-descent approach) Step size is modified. If the error E is smaller than before, it’s unchanged, otherwise it’s decreased to ľ delta
Then parameters are updated. If delta didn’t change, the parameters that determined the gradient direction are updated according
to the chosen direction
Bound on L: since curve is spiral can have multiple revolutions. At most should need one for the input we have
Aproximate the max length with with the length of spiral whose tangent angle is Theta(s)=…+theta_0Step size is modified. If the error E is smaller than before, it’s unchanged, otherwise it’s decreased to ľ delta
Then parameters are updated. If delta didn’t change, the parameters that determined the gradient direction are updated according
to the chosen direction
Bound on L: since curve is spiral can have multiple revolutions. At most should need one for the input we have
Aproximate the max length with with the length of spiral whose tangent angle is Theta(s)=…+theta_0
38. Algorithm (using Gradient-descent approach) In our experiments, delta starts at 0.1 until delta < 1e-5 or error < 1e-6
Smaller values don’t give much of a differenceIn our experiments, delta starts at 0.1 until delta < 1e-5 or error < 1e-6
Smaller values don’t give much of a difference
39. Implementation issues Candidate curves are calculated numerically solving F-S equations and can be expensive
Too many samples ? Long computation time
Too few ? Accuracy problems
To accelerate computation, the region of interest is scaled to the box (-1, -1, -1), (1,1,1) prior to algorithm, then scaled back Proposition 5.1 allows us to scale back and forth
In practice problem is translated by –x0
Then scaled by D = max(deltax, deltay, deltaz)
Deltax=xf-xo
Then 100 samples are used along the curveProposition 5.1 allows us to scale back and forth
In practice problem is translated by –x0
Then scaled by D = max(deltax, deltay, deltaz)
Deltax=xf-xo
Then 100 samples are used along the curve
40. Keypoints Introduction
Related work
Mathematical background
3D Euler spirals definition
Properties of 3D Euler spirals
Curve construction algorithm
Results and applications
Conclusion
Paper analysis
41. Results and Applications Complete missing curves from edge detection algorithm
Completion of broken archeological artifacts (currently done manually and in 2D)
42. Results and applications Incomplete curves from edge detection Entire model is given, but edge detection generates incomplete curves.
The user only chooses endpoints, since the tangent can be automatically computed from the existing lines at the endpoints.
Red is ours, Green is Hermite splines
Remark on S shapesEntire model is given, but edge detection generates incomplete curves.
The user only chooses endpoints, since the tangent can be automatically computed from the existing lines at the endpoints.
Red is ours, Green is Hermite splines
Remark on S shapes
43. Results and applications (cont’d) Incomplete curves from edge detection Red is ours, Green is Hermite splines
Remark on circular arcsRed is ours, Green is Hermite splines
Remark on circular arcs
44. Results and applications (cont’d) Incomplete curves from edge detection Red is ours, Green is Hermite splines
Remark on S shapes
Hermite splines depend on magnitude of tangent, so automatic scaling is used
Curves should lie on the surface here, so the produced 3D curves are projected to the surface
This is done by projecting each point on the curve to its closest point on the mesh
Though straightforward, it yields good results
Red is ours, Green is Hermite splines
Remark on S shapes
Hermite splines depend on magnitude of tangent, so automatic scaling is used
Curves should lie on the surface here, so the produced 3D curves are projected to the surface
This is done by projecting each point on the curve to its closest point on the mesh
Though straightforward, it yields good results
45. Results and applications (cont’d) Shape illustration in archeology
46. Results and applications (cont’d) Shape illustration in archeology
47. Results and applications (cont’d) Shape illustration in archeology
48. Running time Implemented in Matlab and C
Tested on a 2 Ghz Intel Core 2 Duo processor with 2 Gb RAM
Running time, depending on the complexity, is 0.01-0.5 second for the curves in the paper
The further the curve from being planar, the longer the time required Probably due to initializing torsion to 0
Size of model has little to do
The projection is quick and straightforwardProbably due to initializing torsion to 0
Size of model has little to do
The projection is quick and straightforward
49. Conclusion Extension of 2D Euler spiral to 3D
Satisfies aesthetic properties
Presents a novel technique for generating the curves, based on gradient-descent approach
The utility is shown in two applications: edge completion and for incomplete artifact illustration Propertis: invariance to transform
Symettry
Extensibility
Smoothness
Roundness
Gradient descent: given boundary conditionsPropertis: invariance to transform
Symettry
Extensibility
Smoothness
Roundness
Gradient descent: given boundary conditions
50. Future work Prove the existence of the curves given point-tangent boundary conditions
An algorithm in 2D was established in [16] and proven in [34]
51. Paper analysisIs the paper clearly written? The paper is well written: every point is explained and referenced
52. Paper analysisIs it self-contained? It is self-contained: none of the references were necessary to understand the paper.
53. Paper analysisHow novel is the solution? The novel part is the consideration of torsion as an important factor. The rest is very much inspired by the previous work The novel part is considering torsion for the 3d case. The rest is very much inspired by the previous work (using euler curves for completion, The novel part is considering torsion for the 3d case. The rest is very much inspired by the previous work (using euler curves for completion,
54. Paper analysisIs the solution technically sound? The solution is technically sound and should be reproducible: the algorithm is well explained, up to the parameters the author found that yield better results
55. Paper analysisHow well is the solution evaluated? The correctness of the solution is more in the eye of the observer
No cases where Hermite splines give similar results to 3D Euler spirals are shown… are there any? The correctness of the solution is more in the eye of the observer, since this is a problem in aesthetics, but then again so are most of the problems in shape analysis
Even though a study was already done for 2D euler curves, this is an extension to the definition, and a comparative study to other methods could be doneThe correctness of the solution is more in the eye of the observer, since this is a problem in aesthetics, but then again so are most of the problems in shape analysis
Even though a study was already done for 2D euler curves, this is an extension to the definition, and a comparative study to other methods could be done