POV-Ray : Newsgroups : povray.general : Warping a complex object Server Time
31 Oct 2024 14:12:29 EDT (-0400)
  Warping a complex object (Message 1 to 5 of 5)  
From: Bryan Heit
Subject: Warping a complex object
Date: 24 Aug 2005 13:44:04
Message: <430cb1e4$1@news.povray.org>
I am trying to create an animation of a leukocyte recruitment cascade, 
which in plain English is the process by which immune cells leave the 
blood in order to enter tissues.

Any way's, I've got the whole thing pretty much done but I've run into 
one problem which I cannot seem to lick.  At one step of the process the 
  cell I'm modeling has to squeeze through a narrow gap.  The best 
description I can think of would be squeezing a water balloon through a 
tube which is smaller then the balloon.  So you'd start with a sphere on 
one side of the "tube", mid-way you'd have two equal sized spheres on 
either side of the tube with a connecting "neck", and finally you'd end 
up with a sphere on the opposite side of the membrane.

The only way I've been able to model this in povray is to use blobs; 
this was animated by slowly expanding the size/strength of an invisible 
sphere to "pull" the other sphere through the gap.  A couple of 
negative-strength spheres maintained the proper "neck" size.  While this 
achieves the effect I desire I end up loosing the internal structure  of 
the cell.  To try and keep the image of this structure, I tried mapping 
a JPEG of the cell onto the sphere representing the cell, but it ended 
up being so distorted as to be pointless.

I also tried using the blob command to "pull" my cell through.  My cell 
is defined in a separate .inc file as a union of various basic shapes 
(plus some media, etc, to make it pretty).  I tried to use the cell 
union as the visible part of my blob, but this didn't work as blob 
appears to be limited to simple objects.

Does anyone know of a way to achieve this effect?

Thanx in advance

Bryan Heit


Post a reply to this message

From: Anthony D  Baye
Subject: Re: Warping a complex object
Date: 25 Aug 2005 13:59:57
Message: <430e071d@news.povray.org>
Bryan Heit wrote:
> I am trying to create an animation of a leukocyte recruitment cascade, 
> which in plain English is the process by which immune cells leave the 
> blood in order to enter tissues.
> 
> Any way's, I've got the whole thing pretty much done but I've run into 
> one problem which I cannot seem to lick.  At one step of the process the 
>  cell I'm modeling has to squeeze through a narrow gap.  The best 
> description I can think of would be squeezing a water balloon through a 
> tube which is smaller then the balloon.  So you'd start with a sphere on 
> one side of the "tube", mid-way you'd have two equal sized spheres on 
> either side of the tube with a connecting "neck", and finally you'd end 
> up with a sphere on the opposite side of the membrane.
> 
> The only way I've been able to model this in povray is to use blobs; 
> this was animated by slowly expanding the size/strength of an invisible 
> sphere to "pull" the other sphere through the gap.  A couple of 
> negative-strength spheres maintained the proper "neck" size.  While this 
> achieves the effect I desire I end up loosing the internal structure  of 
> the cell.  To try and keep the image of this structure, I tried mapping 
> a JPEG of the cell onto the sphere representing the cell, but it ended 
> up being so distorted as to be pointless.
> 
> I also tried using the blob command to "pull" my cell through.  My cell 
> is defined in a separate .inc file as a union of various basic shapes 
> (plus some media, etc, to make it pretty).  I tried to use the cell 
> union as the visible part of my blob, but this didn't work as blob 
> appears to be limited to simple objects.
> 
> Does anyone know of a way to achieve this effect?
> 
> Thanx in advance
> 
> Bryan Heit
Maybe a job for MegaPOV's Mechanics Simulator?  I have almost no Idea 
how you'd do it, but It's at least worth looking into.

Sorry I couldn't help more.

A.D.B.


Post a reply to this message

From: Bryan Heit
Subject: Re: Warping a complex object
Date: 25 Aug 2005 17:24:17
Message: <430e3701$1@news.povray.org>
Anthony D. Baye wrote:

> 
> Maybe a job for MegaPOV's Mechanics Simulator?  I have almost no Idea 
> how you'd do it, but It's at least worth looking into.
> 
> Sorry I couldn't help more.
> 
> A.D.B.

Thanx for the suggestion.  After a few days digging through the pov-ray 
help file I've come to the conclusion that what I want to do is probably 
not possible with povray, at least not with my current poving abilities...

However, I think I may have found a way around my problem.  I tried 
mapping a picture of the earth onto my cell, and when I used the blob 
technique to get me effect, the result looked quite good.  After a bit 
of thought I've come to the conclusion that the reason why image mapping 
didn't work the first time was due to the fact that I was using an image 
of one side of the cell, rather then a "wrap-around", and this is why 
things got so distorted.

So now all I need to do is find a way to "unwrap" my cell, such that I 
have an image which goes all the way around the cell.  If anyone has any 
good ideas of how to do this please let me know ;-)

Bryan


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Warping a complex object
Date: 25 Aug 2005 21:25:00
Message: <web.430e6ed2d27510d752d573c20@news.povray.org>
Bryan Heit <bjh### [at] NOSPAMucalgaryca> wrote:
> I am trying to create an animation of a leukocyte recruitment cascade,
> which in plain English is the process by which immune cells leave the
> blood in order to enter tissues.
>
> Any way's, I've got the whole thing pretty much done but I've run into
> one problem which I cannot seem to lick.  At one step of the process the
>   cell I'm modeling has to squeeze through a narrow gap.  The best
> description I can think of would be squeezing a water balloon through a
> tube which is smaller then the balloon.  So you'd start with a sphere on
> one side of the "tube", mid-way you'd have two equal sized spheres on
> either side of the tube with a connecting "neck", and finally you'd end
> up with a sphere on the opposite side of the membrane.
.....
> Does anyone know of a way to achieve this effect?
.....

Yes, I believe that I do. But it's a lot of work.

If you model your cells as meshes, then you can use functions to deform
them.

Just feed the x,y,z-coordinates for each triangle corner together with the
time into 3 functions, one for each axis;

x_fn(x, y, z, t), y_fn(x, y, z, t) and z_fn(x, y, z, t)

So if you have a point with these coordinates:

<x0, y0, z0>

- then at time t0 its new coordinates will be:

<x_fn(x0, y0, z0, t0), y_fn(x0, y0, z0, t0), z_fn(x0, y0, z0, t0)>

The 3 functions above can (for example) be Bezier functions or some other
polynomial spline functions.

I once used 3 NURBS functions to deform a mesh object in an animation:

http://news.povray.org/povray.binaries.animations/thread/%3CXns935EBDC874F49torolavkhotmailcom%40204.213.191.226%3E/
http://tinyurl.com/dqsat

--
Tor Olav
http://subcube.com


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Warping a complex object
Date: 25 Aug 2005 21:45:00
Message: <web.430e72ffd27510d752d573c20@news.povray.org>
"Tor Olav Kristensen" <tor### [at] REMOVETHISgmailcom> wrote:
....
> So if you have a point with these coordinates:
>
> <x0, y0, z0>
>
> - then at time t0 its new coordinates will be:
>
> <x_fn(x0, y0, z0, t0), y_fn(x0, y0, z0, t0), z_fn(x0, y0, z0, t0)>
....

I should have mentioned that at time t1 the coordinates for that point will
be:

<x_fn(x0, y0, z0, t1), y_fn(x0, y0, z0, t1), z_fn(x0, y0, z0, t1)>


And that another point with these coordinates:

<x1, y1, z1>

- at time t0 will have these coordinates:

<x_fn(x1, y1, z1, t0), y_fn(x1, y1, z1, t0), z_fn(x1, y1, z1, t0)>

(I see now that it would probably have been better if I had denoted time
values as tA, tB, tC and so on.)

--
Tor Olav
http://subcube.com


Post a reply to this message

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