home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 4
/
CDPD_IV.bin
/
fish
/
911-930
/
ff921
/
minimorph
/
minimorph.doc
< prev
next >
Wrap
Text File
|
1994-05-04
|
9KB
|
258 lines
MiniMorph v1.0
by Philippe Banwarth 1993
based on VMorph Version 2 beta by Lee Wilkie 1992/93
(but nearly 50 times faster (uncompiled amos vs compiled (?!) assembler))
This version of MiniMorph is freeware. You may use and distribute as long
as you don't ask more than a small copy fee. You use it at your own risk.
It needs : ReqTools.library © Nico François
IFF.library (v23 or more) © Christian A. Weber
About this document.
As my english is very poor, and as Minimorph's user interface is inspirated
by VMorph's one much of this document is taken from VMorph's doc file.
(indicated by [] )
[ What is ] Minimorph
MiniMorph [ is a program that will allow you to create smooth morphs/warps
between two different images over a period of frames to create an
animation.
What is morphing?
Morphing is an effect whereby you take a source and destination image
and over a period of time you fade/'bend' the source image into the
destination.
What is warping?
Warping is very similar to morphing except that the destination image
is only used as a 'shape'. The source image is then warped (like my
brothers mind!) to fit this shape. This process is twice as fast as
morping as only one image is rendered per frame as opposed to two
for morphing. ]
What's not on the disk?
The disk contains the following:-
1) MiniMorph v1.0
2) IFF and ReqTools libraries.
2) Three IFF pictures for you to experiment with.
3) An example morph animation.
4) Six animation utilities for you to create/view animations.
5) This documentation.
What are MiniMorph limitations?
[ 1) Requires an Amiga - (Sorry - unavoidable I`m afraid!)
2) Requiers at least 1 meg. (Meg Ryan will do nicely thankyou!)
3) VMorph in its current version only supports sixteen colour, grey scale
images. The palette may be in any order as ] MiniMorph [ will remap
it if needed.
How does ] MiniMorph [ do it?
(deep breath!...)
To create a morph/warp you need two images, a source and a destination.
These are loaded into the program and are overlayed with a grid. Where the
lines of the grid intersect is called a point. One point on one of the
grids has a 'sister' point on the other.
What the user then does is position these points over specific parts of
each image that are common to both. For example, if you were morphing
between two faces you would postion some points around the nose on the
source grid to 'outline' it then you would place the same points around
the nose on the destination grid.
What you are left with after editing is complete is two grids that define
the shape of the source and destination images.
When rendering is finally started ] MiniMorph [ does the following for each
frame:-
1) Creates a 'frame' grid from the source and destination grids.
The shape of this is a mix of the source and destination grids
and depends on what frame is being rendered. Example:-
First frame - 100% Source/000% Dest
Half way frame - 050% Source/050% Dest
Last frame - 000% Source/100% Dest
2) Takes the image data from every square of the source grid and maps
it into the shape of the same square from the frame grid to form
image A.
3) Does the same with the destination grid to form image B
4) Mixes images A+B depending on current frame as above. Example:-
First frame - 100% image A/000% image B
Half way frame - 050% image A/050% image B
Last frame - 000% image A/100% image B
Using ] MiniMorph :
Keys :
Space ................. Toggle between source and destination grids.
Cursor keys ........... Move the picture (if greater then 320*256)
(registered version only)
F1/F2/F3 .............. Open/close one of the windows.
Edit window :
Slider button ......... Set strenght in attract/repulse mode.
Mode .................. Move/attract/repulse (it's faster for you to
try than for me to explain).
Image load ............ Load a picture, it may be truncated to match
the actual size.
Image clear ........... Clear the picture.
Grid load ............. Load a grid, it's scaled to the picture size.
Grid save ............. Save the grid (registered version only).
Reset ................. Reset the both grids AND images to the value
indicated (on the freeware version the
image size is always 320*256 (200 for NTSC))
Show moves ............ Display for each point the move from source
to destination position. Press space for
normal display.
Render window :
# of frames ........... The total number of frames including the
first one (i.e. the source image (both
modes)) and the last one (i.e. the
destination image (morph mode)). So
should be at least 2.
From .................. The first frame to be rendered. It is
senseless to 'render' frame 1 exept if
you want it to be saved with MiniMorph's
palette.Start at one (not zero)
To .................... The last frame to be rendered.
GO .................... Start the rendering. Press ESC to stop.
name .................. This is the save name. MiniMorph saves each
frame separately. A % in the name will be
replaced by the frame number (which is added
to the end if none).
Misc window :
TaskPri ............... Set the task priority. Usefull when you
want the rendering to be done as a
background task while you play a
minigame for example (they use less than
10% of a 7MHz 68000)
[ Using the editing grid.
Moving a grid point.
Click on the point with the left button to pick it up and release button
to drop it.
Adding a row to the grid.
Move the cursor to the very left edge of the SCREEN (which is not
necessary left edge of the image) between the two grid lines where you
wish to add a row and click the right button.
Adding a column to the grid.
Move the cursor to the very top edge of the screen (same remark) between
the two grid lines where you wish to add a column and click the right
button. ]
Removing a column or a row.
Go to the opposite edge and click right mouse button. The removed
row/column is the one that is left/up.
[ Things to remember when using ] MiniMorph
[ 1) When choosing two images to morph between make sure they are
of similar composition i.e if they are faces try to get two that
are roughly the same size, brightness and in similar positions
within the image. This will produce a better morph. Also cut out
both objects being morphed and paste them onto a neutral background.
2) Avoid creating 'bad' squares when editing as these will cause
incorrect results.
A bad square is defined as:-
Any point along any of its diagonals lying outsize the area
of the square itself. (confused!? - you will be!)
3) Animation frame values start at one, so for a ten frame animation
set range from one to ten.
4) When producing a morph or warp animation the first frame
will be identical to the source image. It is good idea to set
the range start to two and use the source image as the first frame.
When morphing the above is true for the last frame as this will be
the same as the destination image. So decrease range end by one and
use the destination image as the last frame.
5) When outlining an object try to make sure the edge of the object
is just inside the lines of the grid, this produces a smoother
edge during rendering.
6) The more detailed the grid the better the result.
(note - this does NOT (Wow!) slow down the rendering process)
Producing the final animation.
To create the finished animation use the supplied utility 'ANIMBuild'.
(Document included)
To make your animation smoothly `ping-pong` when using the above utility
select frames `first - last` and then `last - first` again. This uses
all the frames twice but allows the animation to `ping-pong` rather than
flick back to the start upon reaching the end.
Animations can be viewed by using the supplied utility 'View'.
(Document included) ]
The complete version cost US$ 3 (three) (see the address in the program). I
don't expect to make money, it's mainly to incite users to write me. So
please send me bug reports, suggestions, postcard, etc...
To do :
- Better IFF support (ANIM5)
- Support of AGA display modes (256 gray scale)
- Non linear transition
- Color support
Credits:
Lee Wilkie ............... Original program
Michael W. Hartman ....... Additionnal utilities
Ross Halliday ............ digitised pictures
Thanks to Jen Allen for providing me the additionnals tools
Note :
Grids are rescaled while images are just truncated so the examples
grid/images won't fit on a NTSC machines.
Message:
Mr. Boberg where do you live ? I tried to send you the LHA registration
fee but the letter was returned to me with the mention 'Flyttat, efter-
sändning upphört att gälla' (???)