View
214
Download
1
Embed Size (px)
Citation preview
1
Computer-Generated Floral Ornament
Michael T. WongDouglas E. Zongker
David H. Salesin(University of Washington)
-SIGGRAPH 1998-
2
Abstract
• Principles of traditional floral ornamental design → algorithm
• Adaptive clip art - fit a particularly shaped region of plane
• Ornamental pattern– Geometry of pattern is generated as a set of t
wo-dimensional curves and filled boundaries– Geometry is rendered in any number of styles
3
Outline
• Introduction
• Principles of ornamental design
• Approach
• Implementation
• Results
• Conclusion
4
Introduction
• Book, architecture• Web documents, new printing process• Ornament be generated algorithmically
– Capture the “essence” of ornamental pattern– Encoding it as a set of rules: adaptive clip art
• Automatically tailored to any particular region
• Problem statement• Related work
5
Problem Statement
• The problem space of all possible ornamental design if simply enormous
• Taxonomy– Elements of ornamental design [Meyer 1957]
– Applications of ornament
6
Element
1. Geometrical elements- line, polygons, ovals (a)
2. Natural forms- plants (b)- animal / human forms (c)- physiographic features (d)
3. Artificial objects- shields, ribbons, torches (e)
7
Applications
1. Bands (a)- finite thickness in one dimension- infinitely repeating in the other
2. Half-open borders (b) - constrained along one or more edges- open in other directions
3. Panels (c)- arbitrary bounded regions of the plane
4. Open plane (d)- the ornament typically becomes a repeating pattern
8
Problem Statement
• Restrict the problem space to the case of producing floral growth within panels (application case (c))
• Not focus on design involving strict symmetries• Explore a series of related approaches • Principles of floral ornamental design
– Be created algorithmically
9
Related Work
1. Alexander-SIGGRAPH ’75- generate the 17 symmetry patterns in the plane
Grunbaum and Shephard-‘87- generate periodic tilings and patterns
purely geometric and
purely on the open plane !
10
Related Work2. Glassner-IEEE’96
- frieze patterns band ornaments
3. Siromoney and Siromeney-’86- kolam patterns (a form of ephemeral ornament practiced in India)
graph grammars could be used to generate such geometric patterns
11
Related Work4. Arvo and Kirk-Ausgraph ’88
- modeling of plant growth with environmentally sensitive automata
Greene-SIGGRAPH ‘89- growth of plant-like branching structures in voxel space
Prusinkiewicz et al.- SIGGRAPH ’94- generation of ornamental topiary plant forms with open L-system
adaptive to space, but not designed to grow according to conventions of 2D ornamentation
12
Related Work
5. Smith-SIGGRAPH ’84- modeling of plant growth with a class of parallel rewriting grammars—”graftals”- generate a branching structure- could then be given visual character through a postprocessing step
use a similar two-step procedure to create first the structure and then the rendering of our ornaments
13
Related Work6. Beach and Stone-SIGGRAPH ’83
- idea of procedurally generating a simple repeating border pattern that is warped to follow the path of a spline
HSsu and Lee-UIST ’93. SIGGRAPH ’94-” skeletal strokes”: warping of predefined vector clip art along a path
this paper builds on their approach by creating a higher-level mechanism for the automatic arrangement of skeletal strokes within arbitrary regions of the plane
14
Principles of Ornamental Design
• Ornament– The aesthetic enrichment of the surfaces of man-made objects
in ways not directly contributing to their functional utility– Addresses only a fraction of these principles
• Order in ornament– Repetition– Balance– Conformation to geometric constraints
• Floral ornament– Growth– Conventionalization
15
Order in Ornament
• Underlying principle of ornament– Conveyance of a sense of order or design
• Ornamentalists use three principal techniques in conveying a perception of order– repetition – Balance– Conformation to geometric constraints
16
Repetition• The most fundamental
ordering principle• When forms are repeated
– may be repeated exactly through translation and rotation (a)
– Or may be reflected about some axis, yielding bilateral symmetry (c) or glide reflection (b)
• Rotational symmetries– The point of radiation is
positioned off-center from the design elements it controls
– Leading to a bilaterally symmetric radiation (d)
(a)
(b)
(c)
(d)
17
Repetition
• A more subtle form of repetition is the use of analogy– Rhythmic controlling lines are used
to place and constrain different floral or figurative elements (e)
• The recurrence of almost any ratio, or proportion, in a design can impart a pleasing unity of form
• Color is another powerful attribute of patterns
(e)
18
Repetition
• Designs based on rigid repetition may appeal to a clean, austere aesthetic
• Patterns use variation within a class of forms to add organic dynamism to their composition (h)
• Variation may be achieved through alternation of color or form (f)
• Through scaled repetition
19
Balance• Requires that asymmetrical visual masses be made of equal
weight• Applied to several compositions (a)• Crane[1902] - each new line posing a question that require
s an answering line (b)• Both these principles at work in (c)
(a)
(b)
(c)
20
Balance
• Combined with the primal motivation for ornamentation, yields the principle of uniform density:-ornament should uniformly fill its allotted space-
• Unequal distribution can be balanced with different elements of a smaller scale– Leads to a balance within and
among levels of hierarchies of visual mass (d)
(d)
21
Conformation to Geometric Constraints
• First and foremost, a careful fitting to boundaries is a hallmark of ornament from many cultures– Provide appropriate positions for
secondary shoots to invade other portions of the ornamented region (a)
– Shapes of the design elements themselves are sometimes deformed to better fill space (b)
(a)
(b)
22
Conformation to Geometric Constraints
• Principle of tangential junction lends a powerful sense of teleological, or ends-driven, design to the composition– Cut through– Hang together– (c) (d)
(c)
(d)
23
Conformation to Geometric Constraints
• Layout of motifs is placement at signal geometric points (e)
• Filling a region that has distinct corners (f)– Growth motif: the growth is often coordinated by the skeleton
of the region to be filled
(e)
(f)
24
Conformation to Geometric Constraints
• Design of ornament proceeds through the subdivision of an area followed by the filling of the division (g)– Act of filling may be viewed as one of subdivision– Process may be recursively repeated– Leading to a many-tiered hierarchical composition in the final
design
(g)
25
Floral Ornament
• Floral ornament - any ornamental design process involving plant-like growth models– Branching structures– Plant-like elements
• Vine, leaves, flowers
• Growth– Progenitor of ornamental design
• Conventionalization– Plant-like structures can be transformed into ornamen
tal elements through the process
26
Growth
• Owen Jones - Grammar of Ornament– Whenever any style of ornament c
ommands universal admiration, it will always be found to be in concordance with the laws which regulate the distribution of form in nature
• Particularly good source for continuous patterns– Fill space– Logically transport a design in to n
ew regions
27
Growth
• Intention - ordering property– Growth tends to be more highly structured, or ordered– Aesthetic perception of teleological growth– Placement of form– Discernible from multiscale features of a design
• High-level : sub-motifs, serial, hierarchical composition• Low-level : change in curvature, line’s width, angles
– Not just the process of growth in the absence of external influences
28
Conventionalization
• Development of abstractions of natural form, a highly creative process
• Focus is to extract essential features of form from the vagaries of environmental influence
• Nature and conventional representation
29
Approach
• A given adaptive clip art pattern - a set of element
• Element– Geometric primitives - comprise the ornament– Together with a set of growth rules
• How the elements are structured in relation to one another and to the boundaries of the panel
• L-systems– Natural choice for expressing out growth rules– Have been used to model many plant-like structures
30
Using L-systems for ornament
• Develop by biologists– Seek to model the development of plants– Create realistic plant images and
animations
• Traditional L-systems vs. open L-systems
• Generation of ornament differs from the growth of real plants
SIGGRAPH ‘94
31
Open L-systems
SIGGRAPH ‘96
32
Ornament vs. Plant Growth
• Floral ornaments conventionalization elements are often connected and arranged in ways that no plant would ever produce
• Environmental feedback loop for real plant growth is indirect– L-systems loop by alternating “rule application”, “environment query”– Procedure: both query the environment and directly act on the
results of those queries
• A successful iteration of system, consists of the selection of a single element, followed by rule associated with if
33
Adaptive Clip Art
• Elements– 2D geometric primitives (flowers, leaves stems)– a collection of one or more proxies
• A relatively simple geometric shape that represents the element• Locating empty spaces and testing for intersections
• Growth rules– Procedures– Perform environmental queries and create child elements
• The framework attempts– Grow the ornament into large open space– Shifts to filling in corners of the desired region
34
Implementation
• 600 lines of Perl (preprocessor)• 3600 lines of C++ (framework)• Preprocessor reads a rule file
– Encodes an ornamental pattern
• Executable– Take a region specification and produce the ornamental pattern to f
ill that particular region
• Output generated is a PostScript file– Can be converted to paths and render with skeletal strokes
• Default rendering is provided for every element– Simply draw each proxy of the element in outline form
35
Rule Invocation
• Framework - decide which elements to “grow” with the rules in order to fill the given space
• R - region to be filled with a pattern
• Heuristic– Finds the largest circle C
• Not intersect the boundary R or any element of the design
– Tries invoking rules on the elements within a distance of that circleδ
36
Rule Invocation
• Find the desired circle C– Start small test circles at various point within the region– Increase the radius of each circle until if intersects an e
lement or boundary• Hits a boundary - discard• Hitting an element - keep
• Center and radius of C are made available within rule bodies
37
Rule Invocation
• Determine at which points to center the test circles– Perform a medial axis transformation (MAT)
• Using the Manhattan distance metric
– A circle is centered on each pixel whose transform value is at least as great as those of its neighbors
• All the rules on all the elements near a given circle C may fail to place new elements– Falling into an infinite loop– Keep a list of points - exclude list
• A point can be removed from the exclude list in two ways– A rule is successful in placing elements for a circle C– A rule body to explicitly clear the list
38
Rule Invocation-Algorithminitialize element tree with seed pointsrender boundary elements into buffercompute initial MATinitialize empty exclude listrepeat
C←FindEmptyCircle()find elements within of Ctry elements in order of distance from C
try rules in order specified in rule fileif rule succeeds, break
if some rule succeededupdate element treerender new elements into bufferincrementally update MATremove points on exclude list within of C
elseadd center of empty circle to exclude list
• FindEmptyCircle procedure locates the largest empty circle in the region, subject to the two restrictions above
δ
ε
39
Rule Invocation-Algorithm
(a) (b) (c) (d)
One iteration of the main loop
40
Elements
• Each design element has a type (available types is declared in the rule file)
• Each element type is associated with one or more proxies– circles(circle), arcs(arc), cubic Bezier segments(bezier), line
segments(linesegment), etc… • Each element contains a few standard fields
– Such as the number of children the element has
• The fields of each proxy are dependent on its type– A circle proxy, has center and radius fields
41
Rules
• Each rule file must declare the element type seed, with a single point proxy
• Seed elements are placed by the framework in user selected locations at the beginning
• Each rule specifies – what element type the rule acts on (the parent) – what types of children the rule produces
• Static vs. Dynamic
• Difference: initialize and reference within the rule body
42
Body of the Rule
• Any thing that is legal within a C++ function is legal within a rule body
• Special dollar-sign tokens provide convenient access to the fields of the parent and child elements
• Each rule returns a flag to indicate success or failure– Success
• children created by the rule are permanently added to the ornament• a new iteration begins
– Failure• Children elements are discarded• Framework proceeds to try other element/rule combinations as “rule
invocation”
43
Examples‧First dot is centered on the seed pointSubsequent dots are placed ‧ adjacent
to the existing ornamentExtend the ornament along the ‧ skeleton
of the region
‧Places a flower on top of the initial seed point (invoke only once)
Places a new flower ‧ -connect to an existing flower -with a new stem segment -add a leaf to the stem (long enough)‧Number of children produced is variable (two or three)
44
Result
‧Chinese vase
Two types of stylized ‧ flowersConnected by ‧ curving stemsSmall ‧ hook-shaped curves‧Teardrop shapes
”‧ intentional” growth
45
Result
‧Hierarchical growth
Start from ‧ seed point by growing the vinesAdd red ‧ flowers, yellow and blue shapesConnecting then to the main ‧ vine structure
(with shorter subsidiary vines)Add ‧ leaves
(attached to a vine or floating on their own)Small ‧ double-quote-shaped structure
(fill in small gaps)
‧Ordering of rule phases (by adding “state” preconditions to each rule)
46
Result
‧Willow-leaf wallpaper
Add a ‧ curved stem with alternating leaves (overlap)
‧Shortcoming-difficult to do significant global planning of a design
47
Result
‧Equal- angle spiral
Spiral is composed of ‧ multiple curved segments -use of dynamic child creation -different length require different number s of segments (smooth) -orientation opposite to that of its parent
Large-scale structures‧ -outline of boundary spaceFiner-scale details‧
-boundary space and evolving ornament
48
Result
49
Result
‧Same spiral design is rendered with four different strokes, producing a variety of effects
50
Conclusion
• A mechanism for encapsulating growth principles for ornamental design into “adaptive clip art” patterns
• Implement only a rudimentary tested for these ideas – Powerful interactive authoring system
• Essentially provide a new medium of artistic expression– “living”, dynamic patterns that adapt to their environments
• Creating better high-level, interactive tools
51
Future Research
• Ornaments over manifolds– Creating ornaments over arbitrary manifolds (3D Objects)
• Incorporating global planning strategies– Now: strategy of growth - largest empty region– Future: look at the design globally and better incorporate orname
ntal design principles (balance, symmetry)
• Putting an artist “in the loop”– Semi-automatic algorithmic design processes and user interfaces