Upload
coral-cain
View
223
Download
3
Tags:
Embed Size (px)
Citation preview
Conference of PhD Students in Computer Science
Employing Pythagorean Hodograph Curves for Artistic Patterns
Gergely Klár, Gábor Valasek
Eötvös Loránd UniversityFaculty of Informatics
June 29 - July 2, 2010Szeged, Hungary
Goal
Create a tool to aid the design of aesthetical, fair curves
In particular design element creator for vines, swirls, swooshes and floral components
Previous work
Floral components are popular elements in both ornamental and contemporary abstract design
Tools can aid among other things:– Generation of ornamental elements
– Generation of ornamental patterns
Previous work
Plants generated with L-systems, proposed by Prusinkiewicz and Lindenmayer
Previous work
Wong et. al. proposed a method for filling a region of interest with ornaments using proxy objects that can be replaced by arbitrary ornamental elements
Previous work
Xu and Mould created ornamental patters by simulating a charged particle's movement in a magnetic field (magnetic curves)
Our focus
We concentrate on using polynomial curves for element design
Let us presume that a pleasing curve has a smooth and monotone curvature Farin's definition:
A curve is fair if its curvature plot is continuous and consists of only a few monotone pieces
A fair curve should only have curvature extrema where the designer explicitly wishes so
Our focus
• To satisfy the fairness conditions we use G2 splines, that consist of spiral segments
• A spiral is a curved line segment whose curvature varies monotonically with arc-length
Designer control
An intuitive way to control our curves is required
Use hiearchy of circles:
Designer control – an alternative
• If we let the user specify the curve segment’s starting- and endpoints on the control circles, we can formulate the problem as geometric Hermite interpolation
Designer control – an alternative
• Given are position, tangent, and curvature data at each the endpoint
• Find a Bézier curve which reconstructs these quantities at it’s endpoints
• These are 2x4 scalar constraints on each segment
Position: 2 scalarTangent: 1 scalarCurvature: 1 scalar
Designer control – an alternative Cubic Bézier solution for GH
• A cubic Bézier curve has 8 scalar degrees of freedom
• A depressed quartic equation results from
Designer control – an alternative Cubic Bézier solution for GH
• With appropriate geometric constraints on position, tangent and curvature the following system has positive real roots
• No spiral (cubic Bézier spirals have 5 degrees of freedom)
Designer control
• Let us use Pythagorean Hodograph spirals for the transition curves
curve curve’s hodograph
Let the parameterization be such that
For some integral polynomial
The arc-length
can be expressed in closed-form
Pythagorean Hodographs
Theorem: the Pythagorean condition
for polynomials holds if and only if they can be expressed in terms of other polynomials as
where u(t) and v(t) are relatively prime.
Pythagorean Hodographs
Pythagorean Hodographs
PH curves’ hodographs satisfy:
PH curves of degree n have n+3 degrees of freedom
General polynomials of degree n have 2n + 2 degrees of freedom
Pythagorean Hodographs
Arc-length is a polynomial
Offset of a degree n PH curve is a rational polynomial of degree 2n-1
For practical usage Cubic PH curves cannot have an inflection point
We use quintic PH curves We need to find u(t), v(t) quadratic polynomials in
Bézier form
Method
• Let the user create a hierarchy of control circles
• Create spiral segments between a node and its descendants– Three cases are possible:
• Circles can be connected by an S-shaped circle-to-circle curve
• Circles can be connected by a C-shaped circle-in-circle curve
• The circles cannot be connected
Circle-to-circle transition
• The circles have to be non-touching and non-overlapping
• We used the work of Walton and Meek to define the quintic PH curve’s control points
Circle-to-circle transition
Circle-to-circle transition
• The circle centres have to be within a certain distance (depending on their radii)
• We have to solve
• Where
Circle-in-circle transition
• A fully contained circle is joined to its ancestor if such transition is possible
• The conditions and the derivation of control points can be found in Habib and Sakai’s work
Circle-in-circle transition
Circle-in-circle transition
• Constraints on the radius of the smaller circle and its distance from the big circle
• In our tool the user only specifies that a circle is needed within a given control circle, it’s position and radius will be computed automatically
• The resulting smaller circle can be adjusted within the valid range of solutions
Export
• Since most vector graphics systems support cubic Bézier curve’s we provide export in such format
• The quintic Bézier curve is approximated by cubic Bézier segments
Design process
Future work
• Integration into vector graphics systems
• More streamlined workflow
• Use of improved transition curves
Pythagorean Hodographs
Theorem (Farouki): It is not possible to parameterize any plane curve, other than a straight line, by rational functions of its arc length.
No unit-speed parameterizationArc-length in closed form:
Degree 2: possible with logarithmic termsDegree 3: possible, but only with elliptic functions
Let us use a subset of polynomial curves that has closed form for arc-length
Pottmann introduced the RPRO set of curves
The rational curve is obtained as the envelope of its tangent line:
Where h(t) is the signed distance of the tangent line from the origin and n(t) is a rational unit normal vector to the tangent line g(t) given by
Rational polynomials with rational offsets
Rational polynomials with rational offsets
The envelope of g(t) family can be found by solving a linear system for g(t) and g’(t) for x and y as a function of t
This subset of rational polynomials is closed under offsetting
The offset curve’s degree is the same as that of the curve to be offset
Arc-length is not a rational function, in general
Rational polynomials with rational offsets
Evolute:
where
Theorem: the rational curves c(t), whose arc-length parameter s(t) is a rational function of t, are exactly the rational offsets of the RPRO curves’ evolutes.
The evolutes of polynomial or rational polynomial curves are always rational polynomials
Previous work
• Definition of “fair” is not obvious:– Farin: "A curve is fair if its curvature plot is
continuous and consists of only a few monotone pieces."
• A spiral's curvature varies monotonically with arc-length
Ábrák
Circle to circle S C
Circle in circle Valami egész ábrás bigyó Esetleg egy visszafogott, oldalra kirakandó
ábra, pl. sarokba vmi növény?
Bevezetés Miről lesz szó, nagyjából a poszter lényege
Motiváció, korábbi munkák A cikkek amiket küldtél meg még?
Saját munka: Kör hierarchia Körök közti különböző átmenetek Gyakorlati megfontolások (köbös Bézier konverzió meg
hasonlók) További teendők
Our goal
In general: – creation of aesthatically pleasing curves
In particular: – smoothly curving design element creation
Our goal
Transition curves between two circular arcs For design of highways: G2 with few
curvature extrema Farin: "A curve is fair if its curvature plot is
continuous and consists of only a few monotone pieces."
Introduction and background• Pythagorean hodograph• curves with no curvature extrema for an S-shaped transition
• single curvature extremum for a C-shaped transition• are suitable for the design of fair curves
Motivation
Ezek voltak: ...