POV-Ray : Newsgroups : povray.advanced-users : PLEASE ASSIST: Smooth Blob towards Cylinder Server Time
23 Nov 2024 15:35:13 EST (-0500)
  PLEASE ASSIST: Smooth Blob towards Cylinder (Message 1 to 6 of 6)  
From: Sven Littkowski
Subject: PLEASE ASSIST: Smooth Blob towards Cylinder
Date: 25 Mar 2015 12:48:04
Message: <5512e6c4$1@news.povray.org>
Hi,

actually, using blobs is not difficult, still, I have a case where I
self simply don't succeed to find the right values. If you like, try
yourself on it and help me with a solution.

Basically, I have a more or less cylindrical body, and wanted a smooth
transformation into a cylinder across, at its end. My own solution
doesn't look good, after days of trying.

Code:

// the cylinder
union
{
 cylinder // schmaler Außenring
 {
  < -12.5, 0.0, 0.0 > < 12.5, 0.20, 0.0 > 500.0
  pigment { White}
 }
 cylinder // dicker Innenzylinder
 {
  < -62.5, 0.0, 0.0 > < 62.5, 0.0, 0.0 > 450.0
  pigment { White}
 }
 sphere // Verdickung
 {
  < 0.0, 0.0, 0.0 > 475.0
  scale < 0.215, 1.0, 1.0 >
  pigment { White}
 }
 torus // von Vorne: links
 {
  450.0, 50.0
  rotate < 0.0, 0.0, 90.0 >
  pigment { White}
  translate < -12.5, 0.0, 0.0 >
 }
 torus // von Vorne: rechts
 {
  450.0, 50.0
  rotate < 0.0, 0.0, 90.0 >
  pigment { White}
  translate < 12.5, 0.0, 0.0 >
 }
}

// the blob
blob // Querrumpf
{
 threshold 0.75
 cylinder { <    -50.0,  0.0,   50.0 > <     50.0,  -0.0,   50.0 >
2500.0, 0.7 }
 cylinder { <    -50.0,  0.0,   100.0 > <     50.0,  -0.0,   100.0 >
600.0, 0.2 } // Querrumpf
 cylinder { <    -10.0,  0.0, 150.0 > <     10.0,  -0.0, 150.0 >  450.0,
0.2 } // Querrumpf
 cylinder { <    -10.0,  0.0, 200.0 > <     10.0,  -0.0, 200.0 >  400.0,
0.4 } // Querrumpf
 cylinder { <  -100.0,  0.0, 275.0 > <   100.0,  -0.0, 275.0 >  350.0,
1.0 } // Querrumpf
 cylinder { <  -300.0,  0.0, 400.0 > <   300.0,  -0.0, 400.0 >  300.0,
1.5 } // Querrumpf
 cylinder { < -2000.0,  0.0, 500.0 > <  2000.0,  -0.0, 500.0 >  300.0,
1.5 } // Querrumpf
 cylinder { < -2500.0,  0.0, 650.0 > <  2500.0,  -0.0, 650.0 >  300.0,
1.5 } // Querrumpf
 cylinder { <  -700.0,  0.0, 300.0 > <  -700.0,  -0.0, 900.0 >  500.0,
1.0 scale < 4.0, 1.0, 1.0 > } // Seitenauswuchtung
 cylinder { <   700.0,  0.0, 300.0 > <   700.0,  -0.0, 900.0 >  500.0,
1.0 scale < 4.0, 1.0, 1.0 > } // Seitenauswuchtung
 cylinder { <     0.0,  0.1, 1300.0 > <     0.0, -0.1, 1300.0 >  400.0,
1.0 scale < 6.0, 0.9, 0.75 > } // Mittelende
 scale < 0.25, 1.0, 1.0 >
 pigment { Red }
}

Thanks for reading, your time, good intention, and help.   :-)


Post a reply to this message

From: Cousin Ricky
Subject: Re: PLEASE ASSIST: Smooth Blob towards Cylinder
Date: 26 Mar 2015 02:07:07
Message: <5513a20b$1@news.povray.org>
On 03/25/2015 12:47 PM, Sven Littkowski wrote:
> Hi,
>
> actually, using blobs is not difficult, still, I have a case where I
> self simply don't succeed to find the right values. If you like, try
> yourself on it and help me with a solution.
>
> Basically, I have a more or less cylindrical body, and wanted a smooth
> transformation into a cylinder across, at its end. My own solution
> doesn't look good, after days of trying.

My historical tendency when faced with intractable blobs has been to 
give up on the blobs and use isosurfaces.  In fact, I got so much into 
isosurfaces (slow as they are) that I wrote several functions for 
isosurface blobbing.  Two of them are included in the Object Collection 
module RoundEdge.  They are more predictable than the blobbing methods 
described in the user manual, being formulated to seamlessly match 
POV-Ray primitives.  This way, instead of having a big, slow isosurface, 
you can reduce the render time by confining the isosurface to the join 
areas, and using the primitives for the rest of the form.

The RoundEdge module contains other functions for matching blobs to 
primitives, but those functions don't seem applicable to the shape you 
have so far.  (I'm assuming you want the red part of the shape to 
transition smoothly into the white part.)


Post a reply to this message

From: Sven Littkowski
Subject: Re: PLEASE ASSIST: Smooth Blob towards Cylinder
Date: 27 Mar 2015 04:35:00
Message: <web.55151556c83f5d805189b500@news.povray.org>
That sounds quite interesting, and I would like to have a look at them. Can you
give me a URL? Thanks.

Cousin Ricky <ric### [at] yahoocom> wrote:
> On 03/25/2015 12:47 PM, Sven Littkowski wrote:
> > Hi,
> >
> > actually, using blobs is not difficult, still, I have a case where I
> > self simply don't succeed to find the right values. If you like, try
> > yourself on it and help me with a solution.
> >
> > Basically, I have a more or less cylindrical body, and wanted a smooth
> > transformation into a cylinder across, at its end. My own solution
> > doesn't look good, after days of trying.
>
> My historical tendency when faced with intractable blobs has been to
> give up on the blobs and use isosurfaces.  In fact, I got so much into
> isosurfaces (slow as they are) that I wrote several functions for
> isosurface blobbing.  Two of them are included in the Object Collection
> module RoundEdge.  They are more predictable than the blobbing methods
> described in the user manual, being formulated to seamlessly match
> POV-Ray primitives.  This way, instead of having a big, slow isosurface,
> you can reduce the render time by confining the isosurface to the join
> areas, and using the primitives for the rest of the form.
>
> The RoundEdge module contains other functions for matching blobs to
> primitives, but those functions don't seem applicable to the shape you
> have so far.  (I'm assuming you want the red part of the shape to
> transition smoothly into the white part.)


Post a reply to this message

From: MichaelJF
Subject: Re: PLEASE ASSIST: Smooth Blob towards Cylinder
Date: 27 Mar 2015 17:50:00
Message: <web.5515cf7ac83f5d8040082e8f0@news.povray.org>
Hi Sven,

the Object Collection can be found under "Resources" at www.povray.org. Simply
hit the search button to Access all entries.

Best regards,
Michael

"Sven Littkowski" <nomail@nomail> wrote:
> That sounds quite interesting, and I would like to have a look at them. Can you
> give me a URL? Thanks.
>
> Cousin Ricky <ric### [at] yahoocom> wrote:
> > On 03/25/2015 12:47 PM, Sven Littkowski wrote:
> > > Hi,
> > >
> > > actually, using blobs is not difficult, still, I have a case where I
> > > self simply don't succeed to find the right values. If you like, try
> > > yourself on it and help me with a solution.
> > >
> > > Basically, I have a more or less cylindrical body, and wanted a smooth
> > > transformation into a cylinder across, at its end. My own solution
> > > doesn't look good, after days of trying.
> >
> > My historical tendency when faced with intractable blobs has been to
> > give up on the blobs and use isosurfaces.  In fact, I got so much into
> > isosurfaces (slow as they are) that I wrote several functions for
> > isosurface blobbing.  Two of them are included in the Object Collection
> > module RoundEdge.  They are more predictable than the blobbing methods
> > described in the user manual, being formulated to seamlessly match
> > POV-Ray primitives.  This way, instead of having a big, slow isosurface,
> > you can reduce the render time by confining the isosurface to the join
> > areas, and using the primitives for the rest of the form.
> >
> > The RoundEdge module contains other functions for matching blobs to
> > primitives, but those functions don't seem applicable to the shape you
> > have so far.  (I'm assuming you want the red part of the shape to
> > transition smoothly into the white part.)


Post a reply to this message

From: Cousin Ricky
Subject: Re: PLEASE ASSIST: Smooth Blob towards Cylinder
Date: 28 Mar 2015 09:37:30
Message: <5516ae9a$1@news.povray.org>
On 03/27/2015 04:31 AM, Sven Littkowski wrote:
> That sounds quite interesting, and I would like to have a look at them. Can you
> give me a URL? Thanks.

The URL is:
http://lib.povray.org/searchcollection/index2.php?objectName=RoundEdge&contributorTag=Cousin%20Ricky

Your threshold of 0.75 will complicate things a bit, but the math is doable.

P.S.  One of your statements is:

  cylinder // schmaler Außenring
  {
   < -12.5, 0.0, 0.0 > < 12.5, 0.20, 0.0 > 500.0
   pigment { White}
  }

I assume the 0.20 should be 0.0.  Is that right?


Post a reply to this message

From: Cousin Ricky
Subject: Re: PLEASE ASSIST: Smooth Blob towards Cylinder
Date: 28 Mar 2015 23:50:32
Message: <55177688$1@news.povray.org>
On 03/26/2015 02:06 AM, Cousin Ricky wrote:
> On 03/25/2015 12:47 PM, Sven Littkowski wrote:
>> actually, using blobs is not difficult, still, I have a case where I
>> self simply don't succeed to find the right values. If you like, try
>> yourself on it and help me with a solution.
>>
>> Basically, I have a more or less cylindrical body, and wanted a smooth
>> transformation into a cylinder across, at its end. My own solution
>> doesn't look good, after days of trying.
>
> My historical tendency when faced with intractable blobs has been to
> give up on the blobs and use isosurfaces.

Here are some isosurface functions that duplicate your forms.

--------------------[BEGIN CODE]--------------------
#include "functions.inc"
#include "roundedge.inc"

// the cylinder
#declare fn_Cylinder_part = function
{ min
   ( RE_fn_Wheel (y, max (0, abs(x) - 12.5), z, 450, 50),
     f_sphere (x / 0.215, y, z, 475) * 0.215
   )
}

// the blob
#declare fn_Cylinder1 = function // equivalent to a blob component
{ pow
   ( 1 - pow (min (f_r (max (0, abs(x) -50 ), y, z), 2500) / 2500, 2),
     2
   ) * 0.7
}
#declare fn_Cylinder7 = function // equivalent to a blob component
{ pow
   ( 1 - pow (min (f_r (max (0, abs(x) - 2000), y, z), 300) / 300, 2),
     2
   ) * 1.5
}
#declare fn_Cylinder8 = function // equivalent to a blob component
{ pow
   ( 1 - pow (min (f_r (max (0, abs(x) - 2500), y, z), 300) / 300, 2),
     2
   ) * 1.5
}
#declare fn_Blob_part = function
{ (   0.75
     - fn_Cylinder1 (x * 4, y, z - 50)
     - fn_Cylinder7 (x * 4, y, z - 500)
     - fn_Cylinder8 (x * 4, y, z - 650)
   )
}
--------------------[END CODE]--------------------

The blob section uses only the 3 components, namely those that interact 
with the cylinder, less the components that (I perceive) were used to 
model the smooth transition.

Unfortunately, I can't seem to get them to blob well together.


Post a reply to this message

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