POV-Ray : Newsgroups : povray.programming : "Photo realistic" motion, animation extension Server Time
24 Dec 2024 12:20:33 EST (-0500)
  "Photo realistic" motion, animation extension (Message 1 to 5 of 5)  
From: yogesh c
Subject: "Photo realistic" motion, animation extension
Date: 27 Jun 2001 12:57:36
Message: <3B3A127A.FF08EA23@mail.utexas.edu>
I am new to the message board thing, so I apologize if this message
doesn't come across properly.

I am interested in receiving any and all critiques of an idea I have
about an extension of POV-Ray's ability to animate.  Since I don't
really know how to program, and I have very little sense of how POV-Ray
actually works, it may be a really stupid idea--I just don't know enough
to be able to say.  Even if it is, I would appreciate hearing that so I
can put the idea to bed.

My idea has three parts:

    1.  What if the program could take information not only about the
surfaces and textures of ray traced objects, but also about their
physical characteristics.  Things such as mass, stiffness, co-efficient
of friction, viscosity, etc.

    2.  What if it could also process information about forces acting on
objects.  This type of information could include global settings such as
gravity, or wind (could this be modeled using texture map patterns?), as
well as local forces acting on specific objects.  It might do two things
with this information: first, it might set up motion vectors for objects
based on the information given in the properties statements (see 1,
above), and, second, it might deform objects based on the same
information

    3.  Finally, what if POV could process motion vectors  and
deformations from the reactions and interactions of specific groups of
objects (specified by the user) and calculate new sets of deformations
and vectors based on these new sets of data.  I mean by this that POV
would be able to calculate the interaction of specified objects,
allowing them to bounce off each other, or roll along, or otherwise
interact, or deform each other according to the individual properties of
the objects.  I don't know if the program could use its ability to "see"
surfaces by shooting rays in order to check for these interactions
between specified objects in a scene, but that is my initial thought.

In creating an animation, then, one would specify global and object
properties, specify forces at play in the scene, and let the program do
the rest of the work in calculating the motion, deformation and events
in the scene over the length of the animation in question.

One of the things that I like about this idea is that it would make many
types of impressive animation fairly simple to pull off.  A ball rolling
down a height field, or a foot stepping into wet sand might become basic
animation sequences, rather than the results of hard labor and much
skill.  I can imagine POV even pulling off complex animation such as an
object floating on the surface of the ocean, reacting realistically to
the forces at work, or the motion of wind in the leaves of a tree, some
time in the near future, when computers get fast enough and large enough
to handle this kind of complexity.

Another thing I like about it is that it seems to me like a simple
extension of the way in which POV-Ray currently works (conceptually, I
mean--making POV-Ray do this might be an entirely different story).  My
idea is that POV would simply get the ability to store Physical
Properties in the same way that it stores textures, and that it would
work with those and the forces at play in any animation to create "photo
realisitc" types of motion in its function as generator of animation,
just as it creates "photo realistic" images from its scene parser and
renderer.

Thank you for any comments you have about this idea.  I will be grateful
for anything you could say either to squelch it, express interest or
boredom with it, or improve it in any way.

my e-mail address is: eri### [at] wansnet

Thanks again for any replies,

Eric Fisher


Post a reply to this message


Attachments:
Download 'us-ascii' (4 KB)

From: David Buck
Subject: Re: "Photo realistic" motion, animation extension
Date: 27 Jun 2001 13:44:22
Message: <3B3A1B7D.B5C22FA3@simberon.com>
What you are describing is called "Physically Based Modeling".  It could
be implemented as a separate program from POV-Ray that could produce
POV-Ray files.  It's also possible (I suppose) to integrate it into
POV-Ray directly.

To do it, you need something called a "Numerical Differential Equation
Solver".  This is a software package that can take the initial positions
and velocities of the various objects and step them forward in time.
The simplest kind of differential equation solver is called Euler's
method:

   1) Calculate the forces based on the current positions of all objects

   2) Calculate the accelerations using   a = F/m
   3) Calculate the new velocities using    vNew = vOld + (a *
tDelta)     where tDelta is the time step size
   4) Calculate the new positions using    pNew = pOld + (vNew * tDelta)

   5) Repeat from step 1

Unfortunately, this technique suffers from numerical instabilities
unless all the forces are "soft and squishy".  A better technique is
called Adaptive 4th Order Runge Kutta.  It's not that hard to implement,
but it's beyond the scope of what I can describe here.

Complications:
   1) Rigid objects that can rotate require you to model the
orientation, angular momentum, and torques.  This are more complicated.
   2) Collisions are hard in general - especially if you have objects
that are in continuous contact.
   3) Many of POV-Ray's shapes cause problems for a physics modeling
system. What's the mass of an infinite plane? How do you calculate the
inertia tensor of a quadric surface?  These are hard problems.
   4) To do physical modeling of many of the objects, you'd have to
break them into polygon meshes

(PLUG:) You may be interested in looking at ElastoLab - a 2D physics
simulator I wrote.  You can download it from www.simberon.com.  If you
wish, I can answer questions offline.  Email me at dav### [at] simberoncom.

David Buck
Simberon Inc.

yogesh_c wrote:

> I am new to the message board thing, so I apologize if this message
> doesn't come across properly.
>
> I am interested in receiving any and all critiques of an idea I have
> about an extension of POV-Ray's ability to animate.  Since I don't
> really know how to program, and I have very little sense of how
> POV-Ray actually works, it may be a really stupid idea--I just don't
> know enough to be able to say.  Even if it is, I would appreciate
> hearing that so I can put the idea to bed.
>
> My idea has three parts:
>
>     1.  What if the program could take information not only about the
> surfaces and textures of ray traced objects, but also about their
> physical characteristics.  Things such as mass, stiffness,
> co-efficient of friction, viscosity, etc.
>
>     2.  What if it could also process information about forces acting
> on objects.  This type of information could include global settings
> such as gravity, or wind (could this be modeled using texture map
> patterns?), as well as local forces acting on specific objects.  It
> might do two things with this information: first, it might set up
> motion vectors for objects based on the information given in the
> properties statements (see 1, above), and, second, it might deform
> objects based on the same information
>
>     3.  Finally, what if POV could process motion vectors  and
> deformations from the reactions and interactions of specific groups of
> objects (specified by the user) and calculate new sets of deformations
> and vectors based on these new sets of data.  I mean by this that POV
> would be able to calculate the interaction of specified objects,
> allowing them to bounce off each other, or roll along, or otherwise
> interact, or deform each other according to the individual properties
> of the objects.  I don't know if the program could use its ability to
> "see" surfaces by shooting rays in order to check for these
> interactions between specified objects in a scene, but that is my
> initial thought.
>
> In creating an animation, then, one would specify global and object
> properties, specify forces at play in the scene, and let the program
> do the rest of the work in calculating the motion, deformation and
> events in the scene over the length of the animation in question.
>
> One of the things that I like about this idea is that it would make
> many types of impressive animation fairly simple to pull off.  A ball
> rolling down a height field, or a foot stepping into wet sand might
> become basic animation sequences, rather than the results of hard
> labor and much skill.  I can imagine POV even pulling off complex
> animation such as an object floating on the surface of the ocean,
> reacting realistically to the forces at work, or the motion of wind in
> the leaves of a tree, some time in the near future, when computers get
> fast enough and large enough to handle this kind of complexity.
>
> Another thing I like about it is that it seems to me like a simple
> extension of the way in which POV-Ray currently works (conceptually, I
> mean--making POV-Ray do this might be an entirely different story).
> My idea is that POV would simply get the ability to store Physical
> Properties in the same way that it stores textures, and that it would
> work with those and the forces at play in any animation to create
> "photo realisitc" types of motion in its function as generator of
> animation, just as it creates "photo realistic" images from its scene
> parser and renderer.
>
> Thank you for any comments you have about this idea.  I will be
> grateful for anything you could say either to squelch it, express
> interest or boredom with it, or improve it in any way.
>
> my e-mail address is: eri### [at] wansnet
>
> Thanks again for any replies,
>
> Eric Fisher
>
>


Post a reply to this message


Attachments:
Download 'us-ascii' (6 KB)

From: Peter Popov
Subject: Re: "Photo realistic" motion, animation extension
Date: 30 Jun 2001 01:19:36
Message: <7rnqjtg59gjejoa0m12r44sa8qgphupk89@4ax.com>
Eric,

I asked myself the same question quite some time ago. The answer is,
yes, it is possible, but it is quite memory- and cpu-intensive. I have
bitten the bullet and chose such a project for my BEng thesis, and it
(or a portion of it worth a BEng :) ) will be ready by September, when
my advisor comes back from Germany. 

Don't expect much, though. I'm done with the stress & strain code,
collisions should take about two or three weeks, but there won't be
much more to it that. Internal forces (stresses), external forces
(gravity etc.), deformations and collisions are all it will handle. I
have plans to extend it to model more complex stuff, but that will
come later.


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: Tony[B]
Subject: Re: "Photo realistic" motion, animation extension
Date: 30 Jun 2001 15:39:55
Message: <3b3e2b0b@news.povray.org>
We demand preview images in pbi! :)


Post a reply to this message

From: Peter Popov
Subject: Re: "Photo realistic" motion, animation extension
Date: 1 Jul 2001 18:27:18
Message: <qm8vjtsqcubgk98us0149ojht2v69phgd0@4ax.com>
On Sat, 30 Jun 2001 14:35:54 -0600, "Tony[B]" <ben### [at] catholicorg>
wrote:

>We demand preview images in pbi! :)

Stay online, Tony, you'll be among the first to see them when I have
something worth showing (unless you want to see a twisted & squashed
dodecahedron coming to rest... no big deal, really :( ))


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.