|
![](/i/fill.gif) |
This is my first attempt to model a butterfly that
can flap its wings. The process I used was:
- cut out the butterfly from a picture (that is
later used for the uv-mapping)
- separate the wings and the body
- make triangulated meshes of all three.
The wings flat and the body rounded.
- stitch the components together (i.e. make the points
on the wings that connect to the body the same as
those on the body)
- rotate the wings in steps of (about) 15 degrees
I could not just rotate the vertices in the mesh
as that would disconnect the wings from the body.
so I:
- rotate all points in the wings over a line
from the end of the tail to the point on the wing/body
connection closest to the head.
- move the displaced wing/body vertices back.
- relax the mesh a bit, minimizing the curvature.
I also had to rotate a bit more than 90 degrees for
the wings to meet at the top (and then again prevent
the left and right wings to intersect).
- for all vertices from the 0/15/30/45 degrees rotation
construct a cubic interpolation through those points.
and also for the 45/60/75/90.
I knew that with two cubic splines you can get a good
approximation of a quarter circle (see e.g. my patchwork
ball)
- Output all the vertices to a pov include file as smooth
triangle with uv mapping. For the coordinates use the
cubic interpolation. At the same time create the #macro
that chooses the right interpolation (if you do not know
what I mean: look at the first lines in atalanta.inc)
So I finally ended up with a macro that can put the wings
in any position from flat to totally folded together using
one parameter that ranges from 0 to 1.
Known problems:
- It is only the upper part of the animal (well that is
what was in the picture, right?)
- I probably should have used a mesh2 struct.
- no legs nor antennae
- probably should also change the body a bit while moving
the wings.
- wings should probably be able to swing a bit down also.
Questions:
- C/C. Especially comments if I am on the right way to
solve this kind of problem, or if there is a simpler way.
- can I have bitmap on the frontside that differs from
the backside. I can not find such I feature in POV, but
maybe I overlooked. If not, I have to make a separate
backside triangulation (as opposed to using the front
side twice), because I can not get an offset that always
works right.
Andrel
Post a reply to this message
Attachments:
Download 'atalanta.zip' (138 KB)
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
andrel wrote:
> - can I have bitmap on the frontside that differs from
> the backside. I can not find such I feature in POV, but
> maybe I overlooked.
To answer my own question: yes you can, you have to
use interior_texture for that. I can hardly understand
why I did not think about that, it is so obvious ;)
Andrel
Post a reply to this message
|
![](/i/fill.gif) |