POV-Ray : Newsgroups : povray.binaries.images : Outline is missed in blob object Server Time
13 Aug 2024 03:21:32 EDT (-0400)
  Outline is missed in blob object (Message 1 to 5 of 5)  
From: Nikumaru
Subject: Outline is missed in blob object
Date: 1 Jun 2003 11:56:52
Message: <3eda2244@news.povray.org>
Hi,

 I made a simple blob object.
 But the outline of an element in the blob object is missed.
 The blob object's code is as follows;

//==================================
#macro CalcRadius( Radius, BlendVal )
    Radius/sqrt(1.0-sqrt(BlendVal))
#end

#local R_Body = 250;
#local R_Leg = 50;
#local Ratio_LegDist = 1.1;
#local A_Leg = 30; // degrees
#local LatitudeLeg = -70; // degrees
#local Blend = 0.2;
#local R_BodyBaseSphere = CalcRadius(R_Body, Blend);
#local R_LegBaseSphere = CalcRadius(R_Leg, Blend);
#debug concat("Body Radius = ", str(R_BodyBaseSphere, 0, 3), "\n")
#debug concat("Leg Radius = ", str(R_LegBaseSphere, 0, 3), "\n")
#local S_Body =
    blob{
        sphere{ 0, R_BodyBaseSphere, 1.0 } // <--- This element's
outline is missed !
        sphere{ -Ratio_LegDist*R_Body*z, R_LegBaseSphere, 1.0 rotate
A_Leg*y rotate LatitudeLeg*x }
        sphere{ -Ratio_LegDist*R_Body*z, R_LegBaseSphere, 1.0
rotate -A_Leg*y rotate LatitudeLeg*x }
        threshold Blend
    }
#local T_Body =
    texture{
        pigment{ color rgb 0.6 }
        #if( on=Radiosity )
            finish{ ambient 0.0 }
        #end
    }
#local O_Body = object{ S_Body texture{ T_Body } }
//==================================

 What is happening?
 Could anyone give me an advice?

 Thanks in advance.

Nikumaru


Post a reply to this message


Attachments:
Download 'a_blobobject.jpg' (13 KB) Download 'a_blobobjectwithradiosity.jpg' (33 KB)

Preview of image 'a_blobobject.jpg'
a_blobobject.jpg

Preview of image 'a_blobobjectwithradiosity.jpg'
a_blobobjectwithradiosity.jpg


 

From: Hughes, B 
Subject: Re: Outline is missed in blob object
Date: 1 Jun 2003 17:38:17
Message: <3eda7249$1@news.povray.org>
"Nikumaru" <nik### [at] ybbnejp> wrote in message
news:3eda2244@news.povray.org...
>
>  I made a simple blob object.
>  But the outline of an element in the blob object is missed.

Shadow problem of some sort. I don't know why, though.

If no_shadow is added to the O_Body object it appears okay. Sure looks like
a bug. Anyone else able to verify or dismiss?

P.S. HTML messages here at news.povray.org aren't completely acceptable,
plain text is preferred.

Bob H.


Post a reply to this message

From: Nikumaru
Subject: Re: Outline is missed in blob object
Date: 3 Jun 2003 12:05:56
Message: <3edcc764@news.povray.org>
Thanks Bob,

 This phenomenon happened on POV-Ray version 3.5. And it happend on
version 3.1g as well.
 I have tried changing the measure of the blob object as follows.

//======================================
#macro CalcRadius( Radius, BlendVal )
    Radius/sqrt(1.0-sqrt(BlendVal))
#end

#local R_Body = 0.25; // 250;
#local R_Leg = 0.05; // 50;
#local Ratio_LegDist = 1.1;
#local A_Leg = 30; // degrees
#local LatitudeLeg = -70; // degrees
#local Blend = 0.2;
#local R_BodyBaseSphere = CalcRadius(R_Body, Blend);
#local R_LegBaseSphere = CalcRadius(R_Leg, Blend);
#debug concat("Body Radius = ", str(R_BodyBaseSphere, 0, 3), "\n")
#debug concat("Leg Radius = ", str(R_LegBaseSphere, 0, 3), "\n")
#local S_Body =
    blob{
        sphere{ 0, R_BodyBaseSphere, 1.0 } // body
        sphere{ -Ratio_LegDist*R_Body*z, R_LegBaseSphere, 1.0 rotate
A_Leg*y rotate LatitudeLeg*x }
        sphere{ -Ratio_LegDist*R_Body*z, R_LegBaseSphere, 1.0
rotate -A_Leg*y rotate LatitudeLeg*x }
        threshold Blend
    }
#local T_Body =
    texture{
        pigment{ color rgb 0.6 }
        #if( on=Radiosity )
            finish{ ambient 0.0 }
        #end
    }
#local O_Body = object{ S_Body texture{ T_Body } }
//======================================

 Then the result was changed like attached file. It was not as expected
though. The joint lines were not rounded as expected.
 Is this phenomenon occurred by calculation accuracy issue?

Nikumaru

P.S. I checked the setting of message format. Then, the setting was
"text". Is also this message HTML format? If so, I have to learn more
about Outlook Express settings. ( Or character set issue? )



"Hughes, B." <omn### [at] charternet> wrote in message
news:3eda7249$1@news.povray.org...
> "Nikumaru" <nik### [at] ybbnejp> wrote in message
> news:3eda2244@news.povray.org...
> >
> >  I made a simple blob object.
> >  But the outline of an element in the blob object is missed.
>
> Shadow problem of some sort. I don't know why, though.
>
> If no_shadow is added to the O_Body object it appears okay. Sure looks
like
> a bug. Anyone else able to verify or dismiss?
>
> P.S. HTML messages here at news.povray.org aren't completely
acceptable,
> plain text is preferred.
>
> Bob H.
>
>


Post a reply to this message


Attachments:
Download 'a_blobobject2.jpg' (29 KB)

Preview of image 'a_blobobject2.jpg'
a_blobobject2.jpg


 

From: Hughes, B 
Subject: Re: Outline is missed in blob object
Date: 3 Jun 2003 13:43:31
Message: <3edcde43@news.povray.org>
First, seems I had mistaken your text as HTML because of the font change. I
use Outlook's menu View|Encoding> set to Windows European (ISO) instead of
Windows European (Western). So the ISO way is showing the text differently
from other messages. At least I think that's why. Sorry.

About that blob trouble... If anything, I would have expected a problem with
very small numbers for the radius, not larger numbers such as you are using.
In fact, your number is not really all that large and it's fairly average.
Makes this very strange. I checked by trial and error where the problem
occurs and I could use up to 316.227766 for the radius, but not more than
that. 316.2277661 or higher gave the clipped sphere. And if R_Body and R_Leg
are both multiplied by 0.94 it will also be within that limit.

Might be a good idea to pass the word around to the other people about it so
I'll do that and hopefully find out what is said about this. Again, very
small numbers have always been known to be trouble due to the internal
precision errors but I didn't think a number like 333 used as the radius of
a blob component could cause this kind of thing to happen.

Bob H.


Post a reply to this message

From: Nikumaru
Subject: Re: Outline is missed in blob object
Date: 14 Jun 2003 13:33:48
Message: <3eeb5c7c@news.povray.org>
Hi,

 I tried to avoid the phenomenon by multiplying some coefficient ("F" in
the source code). And I changed S_Body which is the strength of one
sphere in the blob object in order to make joint lines as expected.
 Then the phenomenon happend in spite of the sphere's radius was enough
large. And I found the radius of blob object's outline was not as
expected.
 So I did a simple experiment as follows.

 I added yellow circles with the radii of expected outlines and red
circles with the radii of spheres in the blob objects. And I changed
camera to orthographic camera. (The abstract of the code is attached on
this bottom.)
 And I varied the coefficient "F" and the strength "S_Body", and
rendered them as listed below.

  F  S_Body Radius Filename
 0.1  1.0    33.625...  F01B1.jpg
 1.0  1.0   336.249...  F1B1.jpg
10.0  1.0  3362.493...  F10B1.jpg
 0.1  2.0    30.233...  F01B2.jpg
 1.0  2.0   302.332...  F1B2.jpg
10.0  2.0  3023.321...  F10B2.jpg
 0.1  5.0    27.951...  F01B5.jpg
 1.0  5.0   279.508...  F1B5.jpg
10.0  5.0  2795.085... F10B5.jpg

 According to the rendered images, the phenomenon is also related to
strength?

 I checked if the formula in the macro for calculating sphere's radius
was right by making a graph using the Excel.
 Then the formula seemed correct. (The graph in case of F=1.0 and
S_Body=2.0 is attached.)

 Is this experiment helpful for investigation?

Nikumaru

/***** abstract of the source code *****/

#local F = 0.1; // 1.0; // 10.0;

#macro CalcRadius( Radius, Strength, BlendVal )
    Radius/sqrt(1.0-sqrt(BlendVal/Strength))
#end

#local R_Body = 250*F;
#local R_Leg = 50*F;
#local Ratio_LegDist = 1.1;
#local A_Leg = 30; // degrees
#local LatitudeLeg = -90; //-70; // degrees

#local S_Body = 1.0; // 2.0; //5.0;
#local S_Leg  = 1.0;
#local Blend  = 0.2;
#local R_BodyBaseSphere = CalcRadius(R_Body, S_Body, Blend);
#local R_LegBaseSphere = CalcRadius(R_Leg, S_Leg, Blend);
#debug concat("Body Radius = ", str(R_BodyBaseSphere, 0, 3), "\n")
#debug concat("Leg Radius = ", str(R_LegBaseSphere, 0, 3), "\n")
#debug concat("Factor = ", str(F, 0, 5), "\n")

#local T_TestYellow = texture{ pigment{ color rgb < 1.0, 1.0, 0.0 > }
finish{ ambient 1.0 } }
#local T_TestRed    = texture{ pigment{ color rgb < 1.0, 0.0, 0.0 > }
finish{ ambient 1.0 } }

#local O_TestBodyRadius = torus{ R_Body, 2*F texture{ T_TestYellow } }
#local O_TestLegRadius  = torus{ R_Leg,  2*F texture{ T_TestYellow } }
#local O_TestBodySphereRadius = torus{ R_BodyBaseSphere, 2*F texture{
T_TestRed } }
#local O_TestLegSphereRadius  = torus{ R_LegBaseSphere,  2*F texture{
T_TestRed } }

#local S_Body =
union{
    union{
        object{ O_TestBodyRadius }
        object{ O_TestBodySphereRadius }
        rotate -90*x
    }
    union{
        object{ O_TestLegRadius }
        object{ O_TestLegSphereRadius }
        translate -Ratio_LegDist*R_Body*z rotate  A_Leg*y rotate
LatitudeLeg*x
    }
    union{
        object{ O_TestLegRadius }
        object{ O_TestLegSphereRadius }
        translate -Ratio_LegDist*R_Body*z rotate -A_Leg*y rotate
LatitudeLeg*x
    }
    blob{
        sphere{ 0, R_BodyBaseSphere, 1.0 } // body
        sphere{ -Ratio_LegDist*R_Body*z, R_LegBaseSphere, 1.0 rotate
A_Leg*y rotate LatitudeLeg*x }
        sphere{ -Ratio_LegDist*R_Body*z, R_LegBaseSphere, 1.0
rotate -A_Leg*y rotate LatitudeLeg*x }
        threshold Blend
        sturm on
    }
}
#include "Metals.inc"
#local T_Body =
    texture{
        pigment{ color rgb 0.6 }
        #if( on=Radiosity )
            finish{ ambient 0.0 }
        #end
    }
#local O_Body = object{ S_Body texture{ T_Body } }

/***** end of abstract of the code *****/


Post a reply to this message


Attachments:
Download 'f1b5.jpg' (24 KB) Download 'f01b2.jpg' (24 KB) Download 'f01b5.jpg' (24 KB) Download 'f10b1.jpg' (22 KB) Download 'f10b2.jpg' (24 KB) Download 'f10b5.jpg' (24 KB) Download 'f1b1.jpg' (25 KB) Download 'f1b2.jpg' (24 KB) Download 'f01b1.jpg' (23 KB) Download 'densitygraph.jpg' (46 KB)

Preview of image 'f1b5.jpg'
f1b5.jpg

Preview of image 'f01b2.jpg'
f01b2.jpg

Preview of image 'f01b5.jpg'
f01b5.jpg

Preview of image 'f10b1.jpg'
f10b1.jpg

Preview of image 'f10b2.jpg'
f10b2.jpg

Preview of image 'f10b5.jpg'
f10b5.jpg

Preview of image 'f1b1.jpg'
f1b1.jpg

Preview of image 'f1b2.jpg'
f1b2.jpg

Preview of image 'f01b1.jpg'
f01b1.jpg

Preview of image 'densitygraph.jpg'
densitygraph.jpg


 

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