SlideShare une entreprise Scribd logo
1  sur  6
Tweening and Morphing
Tweening is a technique that allows “in-between” images to be created
between supplied key frames using linear interpolation (P=A(1-t)+Bt,
0≤t≤1). Tweening has applications on computer and hand drawn
animation and can also be extended for picture morphing.
     Morphing is a transition between fully colored images. Morphing
an image into another involves a simultaneous warping and dissolving,
which are both variations of tweening.

Keywords: tweening, morphing, tween, morph, animation, linear
interpolation, warping, dissolving, alpha channel.
Introduction:
      Tweening is a very simple concept in computer graphics that has
very powerful and visually impressive applications. In tweening, key
frames are provided and “in-between” frames are calculated to make
smooth looking animationi. Tweening has applications in both computer
animation and hand drawn animationii. It can also be extended to picture
morphing techniques where one picture convincingly changes into
another picture. Morphing has become quite popular recently and is
widely used in movies.
Tweening:
      The concept of tweening is very simple. It is simply moving a
point (or a series of points) from its initial position to a final position.
The equation for tweening along a straight line is a linear interpolation1:
P=A(1-t)+Bt 0≤t≤1
Where A is the initial location of the point, B is the final position of the
point, and t is the time from 0 to 1. A and B are also referred to as “key
frames,” and the linear interpolation creates the “in-betweens.” This
equation will create a point anywhere on the line that lies between A and
B. The images A and B are sets of points. Tweening in more than one
dimension adds no more complexity than when simple tweening in one.
The tween is simply applied to each axis in the n-dimensional coordinate
space. For example, to tween between two colors in three dimensional
color space (R,G,B), all that
would be required is for a tween to be applied to the R, G, and B values
simultaneously.
      The code required for tweening an image is very simple. It
requires only a loop that applies a linear interpolation for each point
from its initial location to its final location at the current time t. The
difficulty in tweening objects made up of many points is creating the
two key frames to be tweened. The two frames must have to have an
equal number of points and have to have a meaningful mapping from
one point to the other. A meaningful mapping is one that produces a
tween that is realistic looking. If tweening between a frog and a human,
the point that corresponds to one of the frog’s fingers should map to one
of the human’s fingers. Carefully mapping the points is crucial in
creating a realistic tween. This picture demonstrates the tweening of
two identical pictures, one with a meaningful mapping between points
that produces a realistic tween, and one with a random relationship
between points:




In both cases, in-betweens are created from A to B. Only the mapping
between the points is different. Notice that the first picture is a nice
transition from a sphere to a torus, but the second picture has a very
unnatural transition. The resulting animation makes the sphere seem to
break up into a cloud of dots that spontaneously form a torus. The
relationship between points in the images to be tweened is difficult to set
up and can only be properly created by a human. There is no algorithm
that can be used to create the relationship since “what looks best” is
open to interpretation.
       Tweening does not have to be performed on objects of different
shapes. If it is performed on two objects with the same shape, but
different size, it will create an animation that expands or contracts the
initial image. Also, if an object is tweened to an identical object in
another location, the resulting animation will be the movement of the
object from A to B with no deformation or change of shape. These
techniques are used in “Flash” software to produce animation for
transmission over the internet that require very little bandwidth. Only
two vector-based objects and a description of the tweens to be applied to
them are needed to produce complex animations.
       The effect of tweening beyond t=1 results in what is called
extrapolation1. When t is greater than 1, the resulting image results in
the tweened points moving beyond B in the direction of A to B. This
sometimes causes a caricature-like distortion.




The second image of Elizabeth Taylor is tweened into the fourth image
of John F. Kennedy, the third image is the tween. The three other
images are extrapolations. Extrapolations exaggerate the differences
between the images A and B by continuing to move the pixel past point
B along the line from A to B. Note that the major differences between
the images at t=0 and t=1 are the size of the chin and ears. The
extrapolation at t=2.0 greatly exaggerates these features.
      Tweening is not new to computer graphics. It has been used in
hand drawn animation long before computers came around. In hand
drawn animation, a highly skilled animator would draw the outlines of
the “key frames”, and the lower paid, less skilled animators would draw
the in-betweens. Afterwards yet another person would color in all the
frames. The first commercial animation system that allowed animators
to draw key frames and have the computer calculate the in-betweens was
“TWEEN.” While this software sped up the animation process, it had an
overly distinctive fluid look and the software was never widely used.
The animations did not comply with “cartoon physics.” Many of
today’s leading software packages for computer assisted 2D character
animation intentionally come without tweening functions. One such
package, Animation Stand, explains the absence in its FAQ: “Q: Why
doesn't Animation Stand do automatic inbetweening (tweens)?          A:
There's no substitute for a good artist.”
      Tweening is not only performed by linear interpolation. Tweening
means producing “in-betweens” between two images. Quadratic
interpolation can be used to created a curved path of “tweens.” A Bezier
curve is an example of a curved tween.
1




Morphing:
       A related application of tweening is morphing. The term tweening
generally only applies to the transition of points that define an image,
while morphing applies to transitions between fully colored images. The
first feature film to use digital morphing technology was Willow. It was
used to create a scene where people were morphed into pigs. While
morphing appears much more complex than tweening, it is actually an
easy to understand extension of it. The first step is to set up a mesh (or
grid) over the first image A, and also to corresponding parts of the
destination image B (the person’s eyes and the pig’s eyes if
morphing from a person to a pig). An example is:
In these two images the major features such as the eyes, nose, and mouth
have corresponding regions in the mesh and that the hair in the first
image corresponds to a very small region on the alien’s head so that it
will seem to disappear during the transition. The images are morphed by
a simultaneous process of warping and dissolving. When particular
areas of the images are isolated in the mesh, they can be meaningfully
warped and dissolved.
      Warping is similar to tweening. Linear extrapolation is used to
tween one region of mesh A into its corresponding region in mesh B. It
is performed by linearly interpolating the four vertices of each region in
A into the four vertices of the corresponding region B. This will distort
and move the grid in A into the grid in B. While this happens, the image
data inside the region is stretched and compressed accordingly.
      The dissolve is also related to tweening. Dissolving slowly fades
from image A into B. This is performed by linearly extrapolating the
alpha channel (transparency factor) to fade A while unfading B. The
warping is much more believable than the dissolve, so while the warping
is smooth throughout the animation, all of the dissolving is done very
quickly in the middle of the transition. The resulting morph looks like
this:
6

       The two images in this example are similar in both color and
features (eyes, nose, mouth, etc.) so the dissolving in the middle of the
transition is believable and can happen slowly, but most images are not
so similar. These images must have a quicker dissolve in the middle. If
it happens quickly the viewer will notice the nice warping before and
after the dissolve, but the dissolve will be too short to really notice. The
following animation involves two images that are not similar:



The dissolving is done very quickly (just a few frames) and looks very
good when it is played fast. All that is noticed is a smooth warp into an
alien, and the dissolve is barely noticed.
      Just like tweening, good morphing animations cannot be fully
automated. A skilled human is always required to produce quality
morphing animations. The user must set the grid properly, and fine tune
the warping and dissolving speeds at various stages of the morph. It
takes extensive tweaking of the values to determine what values and grid
should be applied to create a morph that “looks right.”
Conclusion:
      Tweening with the aid of computers may have fallen out of favor
with the majority of animators, but has found new uses in transmitting
low-bandwidth animations over the internet. Morphing has recently
become very popular. Michael Jackson’s “Black or White” video in
particular has done a lot to popularize the use of morphing. Few
applications in computer graphics are so simple, yet yield such
spectacular results.

Contenu connexe

Tendances

Mathematical operations in image processing
Mathematical operations in image processingMathematical operations in image processing
Mathematical operations in image processingAsad Ali
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removalPunyajoy Saha
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformationAnkit Garg
 
Raster scan system & random scan system
Raster scan system & random scan systemRaster scan system & random scan system
Raster scan system & random scan systemshalinikarunakaran1
 
Visible surface detection in computer graphic
Visible surface detection in computer graphicVisible surface detection in computer graphic
Visible surface detection in computer graphicanku2266
 
Concept of basic illumination model
Concept of basic illumination modelConcept of basic illumination model
Concept of basic illumination modelAnkit Garg
 
Back face detection
Back face detectionBack face detection
Back face detectionPooja Dixit
 
2 d geometric transformations
2 d geometric transformations2 d geometric transformations
2 d geometric transformationsMohd Arif
 
3D Transformation in Computer Graphics
3D Transformation in Computer Graphics3D Transformation in Computer Graphics
3D Transformation in Computer Graphicssabbirantor
 
Image Morphing: A Literature Study
Image Morphing: A Literature StudyImage Morphing: A Literature Study
Image Morphing: A Literature StudyEditor IJCATR
 
Lect 02 first portion
Lect 02   first portionLect 02   first portion
Lect 02 first portionMoe Moe Myint
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.Mohd Arif
 

Tendances (20)

visible surface detection
visible surface detectionvisible surface detection
visible surface detection
 
Mathematical operations in image processing
Mathematical operations in image processingMathematical operations in image processing
Mathematical operations in image processing
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
What is Digital Morphing and Its Techniques
What is Digital Morphing and Its TechniquesWhat is Digital Morphing and Its Techniques
What is Digital Morphing and Its Techniques
 
Three dimensional concepts - Computer Graphics
Three dimensional concepts - Computer GraphicsThree dimensional concepts - Computer Graphics
Three dimensional concepts - Computer Graphics
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
 
Raster scan system & random scan system
Raster scan system & random scan systemRaster scan system & random scan system
Raster scan system & random scan system
 
Visible surface detection in computer graphic
Visible surface detection in computer graphicVisible surface detection in computer graphic
Visible surface detection in computer graphic
 
Concept of basic illumination model
Concept of basic illumination modelConcept of basic illumination model
Concept of basic illumination model
 
Back face detection
Back face detectionBack face detection
Back face detection
 
2 d geometric transformations
2 d geometric transformations2 d geometric transformations
2 d geometric transformations
 
Ray tracing
 Ray tracing Ray tracing
Ray tracing
 
3 d viewing
3 d viewing3 d viewing
3 d viewing
 
3D Transformation in Computer Graphics
3D Transformation in Computer Graphics3D Transformation in Computer Graphics
3D Transformation in Computer Graphics
 
Image Morphing: A Literature Study
Image Morphing: A Literature StudyImage Morphing: A Literature Study
Image Morphing: A Literature Study
 
Lect 02 first portion
Lect 02   first portionLect 02   first portion
Lect 02 first portion
 
Animation
AnimationAnimation
Animation
 
raycasting. ppt
raycasting. pptraycasting. ppt
raycasting. ppt
 
Frame buffer
Frame bufferFrame buffer
Frame buffer
 
Line drawing algo.
Line drawing algo.Line drawing algo.
Line drawing algo.
 

En vedette

M5 - Graphical Animation - Lesson 2
M5 - Graphical Animation - Lesson 2M5 - Graphical Animation - Lesson 2
M5 - Graphical Animation - Lesson 2Jamie Hutt
 
J2ME mobile app development
J2ME mobile app developmentJ2ME mobile app development
J2ME mobile app developmentMuthu Kumar
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Wambua Wambua
 
Raster graphics
Raster graphicsRaster graphics
Raster graphicslenance
 
wireless application protocol
wireless application protocol wireless application protocol
wireless application protocol Smriti Agrawal
 
Raster animation
Raster animationRaster animation
Raster animationabhijit754
 
Chapter 9 animation
Chapter 9 animationChapter 9 animation
Chapter 9 animationshelly3160
 
Raster Vs. Vector Presentation1
Raster Vs. Vector Presentation1Raster Vs. Vector Presentation1
Raster Vs. Vector Presentation1cdoeberl
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application ProtocolSenthil Kanth
 
Animation techniques for CG students
Animation techniques for CG studentsAnimation techniques for CG students
Animation techniques for CG studentsMahith
 
Animation Techniques
Animation TechniquesAnimation Techniques
Animation TechniquesMedia Studies
 
(Computer) Animation Technique
(Computer) Animation Technique(Computer) Animation Technique
(Computer) Animation Techniquejustinesolano
 

En vedette (20)

M5 - Graphical Animation - Lesson 2
M5 - Graphical Animation - Lesson 2M5 - Graphical Animation - Lesson 2
M5 - Graphical Animation - Lesson 2
 
J2ME mobile app development
J2ME mobile app developmentJ2ME mobile app development
J2ME mobile app development
 
Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)Introduction to Mobile programming(J2ME)
Introduction to Mobile programming(J2ME)
 
J2ME
J2MEJ2ME
J2ME
 
J2ME
J2MEJ2ME
J2ME
 
J2ME
J2MEJ2ME
J2ME
 
Raster graphics
Raster graphicsRaster graphics
Raster graphics
 
WAP
WAPWAP
WAP
 
Cel Animation
Cel AnimationCel Animation
Cel Animation
 
wireless application protocol
wireless application protocol wireless application protocol
wireless application protocol
 
Raster animation
Raster animationRaster animation
Raster animation
 
Frames
FramesFrames
Frames
 
Chapter 9 animation
Chapter 9 animationChapter 9 animation
Chapter 9 animation
 
Clipping
ClippingClipping
Clipping
 
Raster Vs. Vector Presentation1
Raster Vs. Vector Presentation1Raster Vs. Vector Presentation1
Raster Vs. Vector Presentation1
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application Protocol
 
Wap ppt
Wap pptWap ppt
Wap ppt
 
Animation techniques for CG students
Animation techniques for CG studentsAnimation techniques for CG students
Animation techniques for CG students
 
Animation Techniques
Animation TechniquesAnimation Techniques
Animation Techniques
 
(Computer) Animation Technique
(Computer) Animation Technique(Computer) Animation Technique
(Computer) Animation Technique
 

Similaire à Tweening and Morphing: A Guide to Animation Techniques

Unit II & III_uncovered topics.doc notes
Unit II & III_uncovered topics.doc notesUnit II & III_uncovered topics.doc notes
Unit II & III_uncovered topics.doc notessmithashetty24
 
Comparative Study of Triangulation Based and Feature Based Image Morphing
Comparative Study of Triangulation Based and Feature Based Image MorphingComparative Study of Triangulation Based and Feature Based Image Morphing
Comparative Study of Triangulation Based and Feature Based Image Morphingsipij
 
Practical Digital Image Processing 2
Practical Digital Image Processing 2Practical Digital Image Processing 2
Practical Digital Image Processing 2Aly Abdelkareem
 
ResearchPaper
ResearchPaperResearchPaper
ResearchPaperIan Bloom
 
a survey of morphing techniques
a survey of morphing techniquesa survey of morphing techniques
a survey of morphing techniquesIJAEMSJORNAL
 
Digital image processing Tool presentation
Digital image processing Tool presentationDigital image processing Tool presentation
Digital image processing Tool presentationdikshabehl5392
 
painterly_droplets_2015
painterly_droplets_2015painterly_droplets_2015
painterly_droplets_2015Ivan Neulander
 
Motion graphics Terminology
Motion graphics TerminologyMotion graphics Terminology
Motion graphics TerminologyJoe Nasr
 
Sketch a doodle - EICS 2020
Sketch a doodle - EICS 2020Sketch a doodle - EICS 2020
Sketch a doodle - EICS 2020DonatienGrolaux
 
Computer Graphics and Virtual Reality
Computer Graphics and Virtual RealityComputer Graphics and Virtual Reality
Computer Graphics and Virtual Realitychirag patil
 
Practical Digital Image Processing 5
Practical Digital Image Processing 5Practical Digital Image Processing 5
Practical Digital Image Processing 5Aly Abdelkareem
 

Similaire à Tweening and Morphing: A Guide to Animation Techniques (20)

Unit II & III_uncovered topics.doc notes
Unit II & III_uncovered topics.doc notesUnit II & III_uncovered topics.doc notes
Unit II & III_uncovered topics.doc notes
 
Comparative Study of Triangulation Based and Feature Based Image Morphing
Comparative Study of Triangulation Based and Feature Based Image MorphingComparative Study of Triangulation Based and Feature Based Image Morphing
Comparative Study of Triangulation Based and Feature Based Image Morphing
 
Animation
AnimationAnimation
Animation
 
Dj31747750
Dj31747750Dj31747750
Dj31747750
 
Animation
AnimationAnimation
Animation
 
Multimedia chapter 5
Multimedia chapter 5Multimedia chapter 5
Multimedia chapter 5
 
427lects
427lects427lects
427lects
 
Practical Digital Image Processing 2
Practical Digital Image Processing 2Practical Digital Image Processing 2
Practical Digital Image Processing 2
 
ResearchPaper
ResearchPaperResearchPaper
ResearchPaper
 
SMOKE DETECTION ALARM.docx
SMOKE DETECTION ALARM.docxSMOKE DETECTION ALARM.docx
SMOKE DETECTION ALARM.docx
 
a survey of morphing techniques
a survey of morphing techniquesa survey of morphing techniques
a survey of morphing techniques
 
Digital image processing Tool presentation
Digital image processing Tool presentationDigital image processing Tool presentation
Digital image processing Tool presentation
 
painterly_droplets_2015
painterly_droplets_2015painterly_droplets_2015
painterly_droplets_2015
 
Motion graphics Terminology
Motion graphics TerminologyMotion graphics Terminology
Motion graphics Terminology
 
Sketch a doodle - EICS 2020
Sketch a doodle - EICS 2020Sketch a doodle - EICS 2020
Sketch a doodle - EICS 2020
 
Animation
AnimationAnimation
Animation
 
Hit and-miss transform
Hit and-miss transformHit and-miss transform
Hit and-miss transform
 
Computer Graphics and Virtual Reality
Computer Graphics and Virtual RealityComputer Graphics and Virtual Reality
Computer Graphics and Virtual Reality
 
Practical Digital Image Processing 5
Practical Digital Image Processing 5Practical Digital Image Processing 5
Practical Digital Image Processing 5
 
495Poster
495Poster495Poster
495Poster
 

Plus de Amit Kapoor

Study from where
Study from whereStudy from where
Study from whereAmit Kapoor
 
Computer graphics syllabus
Computer graphics syllabusComputer graphics syllabus
Computer graphics syllabusAmit Kapoor
 
Cg my own programs
Cg my own programsCg my own programs
Cg my own programsAmit Kapoor
 
3 d modeling of objects
3 d modeling of objects3 d modeling of objects
3 d modeling of objectsAmit Kapoor
 
C aptitude scribd
C aptitude scribdC aptitude scribd
C aptitude scribdAmit Kapoor
 
C interview question answer 2
C interview question answer 2C interview question answer 2
C interview question answer 2Amit Kapoor
 
C interview question answer 1
C interview question answer 1C interview question answer 1
C interview question answer 1Amit Kapoor
 
C notes mca i sem 2011
C notes mca i sem 2011C notes mca i sem 2011
C notes mca i sem 2011Amit Kapoor
 
User defined data type
User defined data typeUser defined data type
User defined data typeAmit Kapoor
 
2 d transformations by amit kumar (maimt)
2 d transformations by amit kumar (maimt)2 d transformations by amit kumar (maimt)
2 d transformations by amit kumar (maimt)Amit Kapoor
 

Plus de Amit Kapoor (17)

Shading
ShadingShading
Shading
 
Study from where
Study from whereStudy from where
Study from where
 
Projection
ProjectionProjection
Projection
 
Display devices
Display devicesDisplay devices
Display devices
 
Computer graphics syllabus
Computer graphics syllabusComputer graphics syllabus
Computer graphics syllabus
 
Cg my own programs
Cg my own programsCg my own programs
Cg my own programs
 
Animation
AnimationAnimation
Animation
 
3 d modeling of objects
3 d modeling of objects3 d modeling of objects
3 d modeling of objects
 
Essential c
Essential cEssential c
Essential c
 
C aptitude scribd
C aptitude scribdC aptitude scribd
C aptitude scribd
 
C in7-days
C in7-daysC in7-days
C in7-days
 
C interview question answer 2
C interview question answer 2C interview question answer 2
C interview question answer 2
 
C interview question answer 1
C interview question answer 1C interview question answer 1
C interview question answer 1
 
C notes mca i sem 2011
C notes mca i sem 2011C notes mca i sem 2011
C notes mca i sem 2011
 
C tutorials
C tutorialsC tutorials
C tutorials
 
User defined data type
User defined data typeUser defined data type
User defined data type
 
2 d transformations by amit kumar (maimt)
2 d transformations by amit kumar (maimt)2 d transformations by amit kumar (maimt)
2 d transformations by amit kumar (maimt)
 

Dernier

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Dernier (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Tweening and Morphing: A Guide to Animation Techniques

  • 1. Tweening and Morphing Tweening is a technique that allows “in-between” images to be created between supplied key frames using linear interpolation (P=A(1-t)+Bt, 0≤t≤1). Tweening has applications on computer and hand drawn animation and can also be extended for picture morphing. Morphing is a transition between fully colored images. Morphing an image into another involves a simultaneous warping and dissolving, which are both variations of tweening. Keywords: tweening, morphing, tween, morph, animation, linear interpolation, warping, dissolving, alpha channel. Introduction: Tweening is a very simple concept in computer graphics that has very powerful and visually impressive applications. In tweening, key frames are provided and “in-between” frames are calculated to make smooth looking animationi. Tweening has applications in both computer animation and hand drawn animationii. It can also be extended to picture morphing techniques where one picture convincingly changes into another picture. Morphing has become quite popular recently and is widely used in movies. Tweening: The concept of tweening is very simple. It is simply moving a point (or a series of points) from its initial position to a final position. The equation for tweening along a straight line is a linear interpolation1: P=A(1-t)+Bt 0≤t≤1 Where A is the initial location of the point, B is the final position of the point, and t is the time from 0 to 1. A and B are also referred to as “key frames,” and the linear interpolation creates the “in-betweens.” This equation will create a point anywhere on the line that lies between A and B. The images A and B are sets of points. Tweening in more than one dimension adds no more complexity than when simple tweening in one. The tween is simply applied to each axis in the n-dimensional coordinate
  • 2. space. For example, to tween between two colors in three dimensional color space (R,G,B), all that would be required is for a tween to be applied to the R, G, and B values simultaneously. The code required for tweening an image is very simple. It requires only a loop that applies a linear interpolation for each point from its initial location to its final location at the current time t. The difficulty in tweening objects made up of many points is creating the two key frames to be tweened. The two frames must have to have an equal number of points and have to have a meaningful mapping from one point to the other. A meaningful mapping is one that produces a tween that is realistic looking. If tweening between a frog and a human, the point that corresponds to one of the frog’s fingers should map to one of the human’s fingers. Carefully mapping the points is crucial in creating a realistic tween. This picture demonstrates the tweening of two identical pictures, one with a meaningful mapping between points that produces a realistic tween, and one with a random relationship between points: In both cases, in-betweens are created from A to B. Only the mapping between the points is different. Notice that the first picture is a nice transition from a sphere to a torus, but the second picture has a very unnatural transition. The resulting animation makes the sphere seem to break up into a cloud of dots that spontaneously form a torus. The relationship between points in the images to be tweened is difficult to set up and can only be properly created by a human. There is no algorithm
  • 3. that can be used to create the relationship since “what looks best” is open to interpretation. Tweening does not have to be performed on objects of different shapes. If it is performed on two objects with the same shape, but different size, it will create an animation that expands or contracts the initial image. Also, if an object is tweened to an identical object in another location, the resulting animation will be the movement of the object from A to B with no deformation or change of shape. These techniques are used in “Flash” software to produce animation for transmission over the internet that require very little bandwidth. Only two vector-based objects and a description of the tweens to be applied to them are needed to produce complex animations. The effect of tweening beyond t=1 results in what is called extrapolation1. When t is greater than 1, the resulting image results in the tweened points moving beyond B in the direction of A to B. This sometimes causes a caricature-like distortion. The second image of Elizabeth Taylor is tweened into the fourth image of John F. Kennedy, the third image is the tween. The three other images are extrapolations. Extrapolations exaggerate the differences between the images A and B by continuing to move the pixel past point B along the line from A to B. Note that the major differences between the images at t=0 and t=1 are the size of the chin and ears. The extrapolation at t=2.0 greatly exaggerates these features. Tweening is not new to computer graphics. It has been used in hand drawn animation long before computers came around. In hand drawn animation, a highly skilled animator would draw the outlines of the “key frames”, and the lower paid, less skilled animators would draw the in-betweens. Afterwards yet another person would color in all the frames. The first commercial animation system that allowed animators
  • 4. to draw key frames and have the computer calculate the in-betweens was “TWEEN.” While this software sped up the animation process, it had an overly distinctive fluid look and the software was never widely used. The animations did not comply with “cartoon physics.” Many of today’s leading software packages for computer assisted 2D character animation intentionally come without tweening functions. One such package, Animation Stand, explains the absence in its FAQ: “Q: Why doesn't Animation Stand do automatic inbetweening (tweens)? A: There's no substitute for a good artist.” Tweening is not only performed by linear interpolation. Tweening means producing “in-betweens” between two images. Quadratic interpolation can be used to created a curved path of “tweens.” A Bezier curve is an example of a curved tween. 1 Morphing: A related application of tweening is morphing. The term tweening generally only applies to the transition of points that define an image, while morphing applies to transitions between fully colored images. The first feature film to use digital morphing technology was Willow. It was used to create a scene where people were morphed into pigs. While morphing appears much more complex than tweening, it is actually an easy to understand extension of it. The first step is to set up a mesh (or grid) over the first image A, and also to corresponding parts of the destination image B (the person’s eyes and the pig’s eyes if
  • 5. morphing from a person to a pig). An example is: In these two images the major features such as the eyes, nose, and mouth have corresponding regions in the mesh and that the hair in the first image corresponds to a very small region on the alien’s head so that it will seem to disappear during the transition. The images are morphed by a simultaneous process of warping and dissolving. When particular areas of the images are isolated in the mesh, they can be meaningfully warped and dissolved. Warping is similar to tweening. Linear extrapolation is used to tween one region of mesh A into its corresponding region in mesh B. It is performed by linearly interpolating the four vertices of each region in A into the four vertices of the corresponding region B. This will distort and move the grid in A into the grid in B. While this happens, the image data inside the region is stretched and compressed accordingly. The dissolve is also related to tweening. Dissolving slowly fades from image A into B. This is performed by linearly extrapolating the alpha channel (transparency factor) to fade A while unfading B. The warping is much more believable than the dissolve, so while the warping is smooth throughout the animation, all of the dissolving is done very quickly in the middle of the transition. The resulting morph looks like this:
  • 6. 6 The two images in this example are similar in both color and features (eyes, nose, mouth, etc.) so the dissolving in the middle of the transition is believable and can happen slowly, but most images are not so similar. These images must have a quicker dissolve in the middle. If it happens quickly the viewer will notice the nice warping before and after the dissolve, but the dissolve will be too short to really notice. The following animation involves two images that are not similar: The dissolving is done very quickly (just a few frames) and looks very good when it is played fast. All that is noticed is a smooth warp into an alien, and the dissolve is barely noticed. Just like tweening, good morphing animations cannot be fully automated. A skilled human is always required to produce quality morphing animations. The user must set the grid properly, and fine tune the warping and dissolving speeds at various stages of the morph. It takes extensive tweaking of the values to determine what values and grid should be applied to create a morph that “looks right.” Conclusion: Tweening with the aid of computers may have fallen out of favor with the majority of animators, but has found new uses in transmitting low-bandwidth animations over the internet. Morphing has recently become very popular. Michael Jackson’s “Black or White” video in particular has done a lot to popularize the use of morphing. Few applications in computer graphics are so simple, yet yield such spectacular results.