Goal Butterflies are beautiful composites of wonderful fractal patterns, geometry and surface properties. Our goal was to understand and replicate some of these properties to procedurally generate, with parameterized input, a variety of butterfly models, with slightly varying reflectance/surface properties, coloration, and geometry. We planned to model the reflection/iridescence, texture, and fractal-like outline of the butterfly wings.
Gallery
of Results
Application
& Source Code
LRT application and Source
OpenGL application
|
|||
The Science of Wing Development From a developmental perspective, the formation of a butterfly wing pattern is the result of a complex coordination of processes, timing and genetics. The mechanics that determine the scales, pigmentation, pattern element size, shape, position, and symmetry, ultimately determine the pattern. Experiments have revealed pattern determination is established and finalized within the first few days after the caterpillar enters its pupal stage. At this time, the wing views, the wing shape, the epidermal membrane, pattern elements and coloration are determined. At the root of the pattern development mechanism is the diffusion of a morphogenic substance through the epidermal layers. These diffusions, controlled by activating and inhibiting enzymes, result in gradients of the morphogenic substance. Reaction thresholds based on the concentration of the morphogen determine the contours of the actual pattern elements. Some pattern elements are formed from the source position of the morphogen while others are initiated by the absence of the morphogen (concentration sink). The exact pattern shapes are usually formed from the contours generated from the addition of multiple morphogen gradient sources or inhibitions. Controlled by genetic and environmental factors, the final pattern might best be described as a developmental freeze-frame at the beginning of pupal stage when the pattern finalized. (source: http://www.bugbios.com )
|
|||
|
|
Procedurally Generating Butterflies
Wing Outline The wings were modeled using a NURBS on a plane. We wrote curve object to support cubic curves that would maintain C-2 continuity. Curve points can be specified arbitrarily and the control points automatically adjusts to maintain smoothness and C-2 continuity. We took measurements from pictures of actual butterfly wings to form the basic shape for our wing generation algorithm. The wing was broken down into a set of fundamental control points each specified by a angle and length from the butterfly's shoulder. The shape of the wing outline could be changed in three fundamental ways:
We can also specify the height and width of the wing. After specification, the NURBS outline is evaluated into a long string of line segments. Intersection with the wing outline is determined by first testing ray intersection with the finite plane in which the wing is located, and then testing whether this point of intersection is located within the segmented outline.
|
|
||
Veins Veins are also important in the wing structure, especially for texture mapping. We specify the number of veins at the shoulder edge on the wing and the number of veins at the outer edge of the wing. These two values determine the need for branching veins. We use NURBS curves to model the veins. The veins divide the wing into sections. Textures and patterns on the butterfly wing seem to align themselves to these sections. To this end, we enable a [u,v] coordinatizing of each section, so that spots, stripes, etc. will follow the curves and also align with the spots in adjacent sections. We wanted the curvature and branching of the veins to be as natural as possible. We specified the control points of the curves to emphasize the slope or curvature of the wing, with minimal modifying by random values.
|
Vening Samples
|
||
Surface The texture compositor used several stages to generate the final upper and lower wing texture.
LRT
Primitive butterfly <wing width> <wing height> <wing spread angle> <wing roughness> These parameters as well as many random factors create the final rendered image.
|
|
||
Conclusion Though we would have liked more time for the project, we were surprised and pleased with the appearance and variety of the 3D butterflies our system generated. With a little more refinement, our system could be used to populate 3D environments with multitudes of beauteous butterfly species.
Copyright 2001 � |