cs 563 advanced topics in computer graphics the wonderful world of birds and feathers by brad...
TRANSCRIPT
CS 563 Advanced Topics in Computer Graphics
The Wonderful World of Birds and Feathers
by Brad Goodwin
Introduction
Mimic the complexity of nature Two tasks
Model and render an individual feather (covered in all techniques) Growing Feathers on birds(covered only by L-systems)
Feather Types
Four main types:
A) Filoplume
Specialized
B) Contour
Flying
C) Plume
Barbs longer than rachis
D) Semiplume
Contour/plume
First Technique
Only models a single feather
Bezier Curves
Parameters of Feather (biological)
Rendering
Bezier Curves
Simple Math Four points
Two endpoints Two control points
Two equations One for Y and one for X
All controlled by time t
If you need more than that check out: http://www.moshplant.com/direct-or/bezier/
Defineing Bezier Curves
Bezier for both Vanes with 5 control points
Bezier for Rachis
Define a single barb with four points
P0, P3 on vane and rachis
Random (v1,v2)(v3,v4) determine P1, P2
Parameters that affect barbs
Parameters Continued
Fpv – Use to vary the length of the barbs So 0 is no change and 1 is the largest change
Parameters Continued
Fb -Used to control v1, v2, v3, v4 for each barb So affects P1, P2 scaling the distance from P0 to P3
Boolean Parameters
Sv -T or F symmetry of vanes
Uf -T or F uniform barbs (same shape or dif)
Uc -T or F modify length for each barb If T then Fpv isn’t modified for each barb
Is -(not boolean) allows the division of Rachis into two segments to create an irregular feather.
Rendering
Non-photorealistic No texture map Just a stick figure
Photorealistic Texture map Set up with map for both sides Two parameters s,t S is 0 to 1 along the barb T is 0 at base and 1 at top
L-System Technique
Individual and growing Mesostructure including barbules Modeling and Rendering with BTF
(Bidirectional Texture Function)
Shape interface control
Allows user a lot of control on the shape of the feather
1 -rachis; 2 -left and right barbs; 3 –texture; 4 -outline
Curve Illustration
O -Outline left and right
b -Barb left and right
r -Rachis
All are controlled in the User interface
L-System Model
N – length of feather and density of Barbs
ML and MR – Define lengths of left and right Barbs
R(0) generates feather based on Rachis and barb curves
P1 generates first segment of rachis and two barbs
P2 generates left barb segment
P3 generates right barb segment
L-System Continued
This set up is modified to take into account variations in the feather
Example if a twig were to brush through the barbs
Little hooks called cilium that hold barbs Good for fiying
Final L-System
Random force Fe which if it exceeds threshold of FL or FR then the barb is rotated by some random degree theta
BTF
BTF – Bidirectional Texture Function 6 Dimensions
Viewing direction v Lighting direction l at surface point (x, y)
BTF - Continued
Set on X axis so only 5D but renders just as well in most cases
Considers Opacity and difuse and Specular Relflections
Allows for detail up close Can model Oil film interference and
iridescence
Growing Positions
Tried just at poly-mesh vertices and looked bad
Used turk’s algorithm to divide polygons
Recursive Collision Detection
Rotates until no collision and moves along the edge to a connected vertex
References
Chen Y et al, "Modeling and rendering of realistic feathers ", Proc. ACM SIGGRAPH 2002
Franco C.G. and Walter M., "Modeling and Rendering of Individual Feathers", Proc. SIBGRAPI 2002
Franco C.G. and Walter M., "Modeling the Structure of Feathers", Proc. SIBGRAPI 2001
http://www.moshplant.com/direct-or/bezier/
http://www.geocities.com/cocoo_chen/