POV-Ray : Newsgroups : povray.binaries.images : Torus problem (69KB) Server Time
2 Oct 2024 16:29:19 EDT (-0400)
  Torus problem (69KB) (Message 1 to 10 of 24)  
Goto Latest 10 Messages Next 10 Messages >>>
From: Tor Olav Kristensen
Subject: Torus problem (69KB)
Date: 20 Apr 2000 23:06:38
Message: <38FFC5BF.757B1EBB@hotmail.com>
I have made the "fence" in the image below 
from two different shapes, both made with
a torus.

But there seems to be a problem with the 
light reflections from the texture, 
(which is common to the two shapes; 
Soft_Silver with a Red pigment):

The reflection normal of the surfaces
appears to make a sudden change of 
direction in the region where the two
shapes meet. 
(There is only one light source.)

Is this correct behaviour?

(I'm using standard POV-Ray v3.1g for 
Windows.)

And also: Does anyone know of any other 
basic shapes in POV-Ray, or a quartic 
equations, that can be used to make a 
"cigar" shape (like the "convex cylinder") 
in my image ?

Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message


Attachments:
Download 'invtorus07.jpg' (69 KB)

Preview of image 'invtorus07.jpg'
invtorus07.jpg


 

From: Bob Hughes
Subject: Re: Torus problem (69KB)
Date: 20 Apr 2000 23:34:34
Message: <38ffcc4a@news.povray.org>
Apparently you have the end parts of each tube piece made with the inside
donut hole of the torus.  Try 'inverse' in those.  What texture is used exactly?
Is there a 'normal' statement involved or is it just a 'finish'?

Bob

"Tor Olav Kristensen" <tor### [at] hotmailcom> wrote in message
news:38FFC5BF.757B1EBB@hotmail.com...
|
| I have made the "fence" in the image below
| from two different shapes, both made with
| a torus.
|
| But there seems to be a problem with the
| light reflections from the texture,
| (which is common to the two shapes;
| Soft_Silver with a Red pigment):
|
| The reflection normal of the surfaces
| appears to make a sudden change of
| direction in the region where the two
| shapes meet.
| (There is only one light source.)
|
| Is this correct behaviour?
|
| (I'm using standard POV-Ray v3.1g for
| Windows.)
|
| And also: Does anyone know of any other
| basic shapes in POV-Ray, or a quartic
| equations, that can be used to make a
| "cigar" shape (like the "convex cylinder")
| in my image ?
|
| Tor Olav
| --
| mailto:tor### [at] hotmailcom
| http://www.crosswinds.net/~tok/tokrays.html


--------------------------------------------------------------------------------


Post a reply to this message

From: Mike Metheny
Subject: Re: Torus problem (69KB)
Date: 21 Apr 2000 05:34:49
Message: <390020b9@news.povray.org>
I think the texture difference; while perhaps unintended, looks very cool :>


--


Mike Metheny
lon### [at] vtedu
http://www.loneshepherd.com/


"When one's words are no better than silence, one should keep silent."


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Torus problem (69KB)
Date: 21 Apr 2000 17:33:11
Message: <3900C930.F7039ED4@hotmail.com>
Bob Hughes wrote:
> 
> Apparently you have the end parts of each tube piece made with the inside
> donut hole of the torus.

Yes the 'end'-part is done that way: The concave 
shape is a difference between a sphere and a torus.

> Try 'inverse' in those.  

I have now tried to replace the difference with an 
intersection of a sphere and a torus with the 
'inverse' keyword. (Is this what you meant?)

==> Same result. No change in the reflections. :(


> What texture is used exactly?

  texture { Soft_Silver }
  pigment { color Red }

> Is there a 'normal' statement involved or is it just a 'finish'?

No. Just the above two statements.

Extract from the 'texture.inc' file that came 
with POV-Ray:

#declare Silver1_Colour = color  rgb <0.94, 0.93, 0.83>;

#declare Soft_Silver = 
texture {
    pigment { Silver1_Colour }
    finish {
        metallic
        ambient 0.2
        diffuse 0.35
        specular 0.85
        roughness 0.01
        reflection 0.45
        brilliance 1.5
    }
}


Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Torus problem (69KB)
Date: 21 Apr 2000 17:35:45
Message: <3900C9CE.ECF0E25E@hotmail.com>
Mike Metheny wrote:
> 
> I think the texture difference; while perhaps unintended, looks very cool :>

Heh! :)

I was so focused on the problem that I did not see that!

Thank you.


Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message

From: Bob Hughes
Subject: Re: Torus problem (69KB)
Date: 21 Apr 2000 22:13:00
Message: <39010aac@news.povray.org>
"Tor Olav Kristensen" <tor### [at] hotmailcom> wrote in message
news:3900C930.F7039ED4@hotmail.com...
|
| I have now tried to replace the difference with an
| intersection of a sphere and a torus with the
| 'inverse' keyword. (Is this what you meant?)
|
| ==> Same result. No change in the reflections. :(

Nope.  I was talking about the torus surface itself, maybe if it's inversed then
perhaps the reflection will right itself by then being on the "outside".
Realize though that by turning the torus inside-out then the CSG will
change too.  I think that a inverse used in the intersection or difference
should cancel that change.
Rather than try and make guesses I just tried to make such a thing myself
and I couldn't even see any reversed (or whatever) reflection:

light_source { <-5,10,-10> color rgb 1.5
}
camera {
  location  <-1,1,-10>
  angle 25
  look_at   <0, 0, 0>
}
sphere {0,1
        pigment {gradient y color_map {
                [0,1 color rgb <.9,.2,.1> color rgb <.2,.4,.8>]
        }} scale 30
}

#declare Connector=
union {
difference { // torus core, capped
        sphere {0,1}
        torus {1.5,1}
      translate -y*.6615 // approximation only
}
difference { // torus anti-core
        torus {1.5,1}
        sphere {0,1 inverse}
      translate y*.6615 // approximation only
}
        pigment {rgb <.25,1,.25>}
        finish {reflection .5}
}

object {Connector
         scale <.5,2,.5> rotate <-30,70,-90> translate -y
}
object {Connector
         scale <.5,2,.5> rotate <30,-70,90> translate y
}


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Torus problem (69KB)
Date: 22 Apr 2000 10:56:34
Message: <3901BDA8.C6F8691D@hotmail.com>
Bob Hughes wrote:
> 
> Rather than try and make guesses I just tried to make such a thing myself
> and I couldn't even see any reversed (or whatever) reflection:

First: Thank you very much for trying to help me!

I'm quite frustrated, because I need the reflections from this 
middle "cigar" shape to behave correctly(?) in other scenes.

I have now included some of my source code below so that you can see 
what I'm actually doing.

Note that my convex "cigar" shape is made with a torus that has a 
greater minor radius than major radius.

And I now wonder if this could cause the odd change in reflections?

(As I understand from your code, you are making a similar shape by 
scaling a sphere along an axis.)

Regards

Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#version 3.1;

#include "colors.inc"
#include "textures.inc"

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare v3Origo = <0, 0, 0>;

#macro Pythagoras(hyp, kat)

 sqrt(hyp*hyp - kat*kat)

#end // macro Pythagoras

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare RadW = 1.0; // Max Radius for Wide   part (Cigar Shape)
#declare RadN = 0.5; // Min Radius for Narrow part (Spoke shape)

#declare RadMinC = 26; // Minor Radius for Cigar shape
#declare RadMinS = 26; // Minor Radius for Spoke shape

#declare HoleClearing = 0.1;

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7

#declare RadMajC = RadMinC - RadW; // Major Radius for Cigar shape
#declare RadMajS = RadMinS + RadN; // Major Radius for Spoke shape

#declare ss = Pythagoras(RadMinC + RadMinS, RadMajC + RadMajS);
#declare tt = ss*RadMinS/(RadMinC + RadMinS);

#declare DistBetween = 2*ss; // RadW + RadN

#declare Cigar =
difference {
  sphere { v3Origo, Pythagoras(RadMinC, RadMajC) }
  torus { RadMajC, RadMinC }
  cylinder { (RadW + RadN)*x, -(RadW + RadN)*x, RadN + HoleClearing }
//  plane {  y, tt - ss }
//  plane { -y, tt - ss }
}

#declare Spoke =
difference {
  sphere { v3Origo, vlength(<RadMajS, RadMinS>) }
  torus { RadMajS, RadMinS }
  plane {  y, -tt }
  plane { -y, -tt }
}

//#declare SpkCig =
merge { 
  object { Cigar translate +ss/2*y }
  object { Spoke translate -ss/2*y }
  texture { Soft_Silver }
  pigment { color Red }
}

// ===== 1 ======= 2 ======= 3 ======= 4 ======= 5 ======= 6 ======= 7


Post a reply to this message

From: Bob Hughes
Subject: Re: Torus problem (69KB)
Date: 22 Apr 2000 20:02:16
Message: <39023d88$1@news.povray.org>
I checked out what you had there and also didn't see any way of getting the inside to
become outside, which is the case for that torus with the larger minor radius than
major.
Not that it was going to be possible using inverse or variations thereof (I even gave
scale -1 a try), but as it turns out I couldn't even get the MegaPov
'interior_texture' to
put it right.
This means to me that something goes wrong with that torus.  Not a complete surprise
either since it's been said before by other people how that particular shape isn't
reliable.
The problem is in the inner part of the torus, even though usually an outer surface,
ends
up inside itself.  So the raytracer must be confusing it entirely.

Bob


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Torus problem (69KB)
Date: 24 Apr 2000 21:40:28
Message: <3904F7A6.AF260EC3@hotmail.com>
Bob Hughes wrote:
>
> This means to me that something goes wrong with that torus.  Not a complete surprise
> either since it's been said before by other people how that particular shape isn't
> reliable.
> The problem is in the inner part of the torus, even though usually an outer surface,
ends
> up inside itself.  So the raytracer must be confusing it entirely.

So it is the "ciagar" shape that messes up the 
reflections. 

That's a pity. =(

Is this to be considered as a bug ? 

And if so, do you know if the other people you 
mentioned have posted a bug report on the subject?

I have also noticed that this shape is hollow. 
And therefore it doesn't behave in CSG operations.

Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message

From: Bob Hughes
Subject: Re: Torus problem (69KB)
Date: 24 Apr 2000 21:55:43
Message: <3904fb1f@news.povray.org>
I don't know if it's a mathematic problem with the torus and if not then it must be
related to the raytracer.
Maybe there's a possible fix but I'm not one who could even begin to guess the answer.
I think it might have been said to be a "bug", but again I couldn't say.  Straining to
remember
I think people were conceding it to be a problem with the raytraced surface and might
not
be
easily fixed.  Takes those math geniuses out there (and here) I'm sure.

Bob

"Tor Olav Kristensen" <tor### [at] hotmailcom> wrote in message
news:3904F7A6.AF260EC3@hotmail.com...
|
| Bob Hughes wrote:
| >
| > This means to me that something goes wrong with that torus.  Not a complete
surprise
| > either since it's been said before by other people how that particular shape isn't
| > reliable.
| > The problem is in the inner part of the torus, even though usually an outer
surface,
ends
| > up inside itself.  So the raytracer must be confusing it entirely.
|
| So it is the "ciagar" shape that messes up the
| reflections.
|
| That's a pity. =(
|
| Is this to be considered as a bug ?
|
| And if so, do you know if the other people you
| mentioned have posted a bug report on the subject?
|
| I have also noticed that this shape is hollow.
| And therefore it doesn't behave in CSG operations.
|
| Tor Olav
| --
| mailto:tor### [at] hotmailcom
| http://www.crosswinds.net/~tok/tokrays.html


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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