42
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 University Faculty of Informatics June 29 - July 2, 2010 Szeged, Hungary

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 University

Embed Size (px)

Citation preview

Page 1: 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 University

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

Page 2: 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 University

Goal

Create a tool to aid the design of aesthetical, fair curves

In particular design element creator for vines, swirls, swooshes and floral components

Page 3: 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 University

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

Page 4: 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 University

Previous work

Plants generated with L-systems, proposed by Prusinkiewicz and Lindenmayer

Page 5: 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 University

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

Page 6: 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 University

Previous work

Xu and Mould created ornamental patters by simulating a charged particle's movement in a magnetic field (magnetic curves)

Page 7: 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 University

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

Page 8: 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 University

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

Page 9: 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 University

Designer control

An intuitive way to control our curves is required

Use hiearchy of circles:

Page 10: 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 University

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

Page 11: 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 University

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

Page 12: 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 University

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

Page 13: 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 University

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)

Page 14: 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 University

Designer control

• Let us use Pythagorean Hodograph spirals for the transition curves

curve curve’s hodograph

Page 15: 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 University

Let the parameterization be such that

For some integral polynomial

The arc-length

can be expressed in closed-form

Pythagorean Hodographs

Page 16: 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 University

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

Page 17: 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 University

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

Page 18: 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 University

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

Page 19: 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 University

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

Page 20: 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 University

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

Page 21: 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 University

Circle-to-circle transition

Page 22: 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 University

Circle-to-circle transition

• The circle centres have to be within a certain distance (depending on their radii)

• We have to solve

• Where

Page 23: 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 University

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

Page 24: 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 University

Circle-in-circle transition

Page 25: 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 University

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

Page 26: 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 University

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

Page 27: 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 University

Design process

Page 28: 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 University

Future work

• Integration into vector graphics systems

• More streamlined workflow

• Use of improved transition curves

Page 29: 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 University

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

Page 30: 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 University

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

Page 31: 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 University

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

Page 32: 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 University

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

Page 33: 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 University

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

Page 34: 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 University
Page 35: 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 University

Á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?

Page 36: 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 University

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

Page 37: 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 University

Our goal

In general: – creation of aesthatically pleasing curves

In particular: – smoothly curving design element creation

Page 38: 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 University

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."

Page 39: 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 University
Page 40: 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 University

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

Page 41: 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 University
Page 42: 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 University

Motivation

Ezek voltak: ...