POV-Ray : Newsgroups : povray.general : Roots of a function : Re: Roots of a function Server Time
23 Apr 2024 18:34:19 EDT (-0400)
  Re: Roots of a function  
From: Alain Martel
Date: 30 Sep 2019 19:04:52
Message: <5d928a14$1@news.povray.org>
Le 2019-09-29 à 08:48, William F Pokorny a écrit :

> 
> Looks workable, though a few things caught my eye.
> 
> 1)
> If thr is 0 the Starting point will be on the prism edge and I'm not 
> sure what the trace result might be in that case though expect one would 
> want 0.0 as the returned root.
> 
> 2)
> IIRC you have to look at the normal returned by the trace command to 
> really know whether it found a valid intersection. It's set on valid 
> intersections only I believe.

Trace return a nul vector if there is no intersection, as well as a 
location of <0,0,0>.

> 
> 3) And a lesson for me!
> Saw #object (which you shouldn't need for the trace) and #cylinder; 
> Thought, "Does that really work?" It does! You can also stick '#' on the 
> end on some lines or code #declare CylinderZ = #cylinder {} and nary a 
> peep or problem from the parser - new or old versions. The usual and 
> recommended syntax is object {} and cylinder {}.
> 
> A declare without the leading # works too but we get:
> 
> File 'tmp.pov' line 40: Parse Warning: Should have '#' before 'declare'.
> File 'tmp.pov' line 40: Possible Parse Error: 'declare' should be 
> changed to
>   '#declare'. Future versions may not support 'declare' and may require
>   '#declare'.

Using declare instead of #declare can result in an error at parse time.

> 
> Given this warning, I'd think we should be getting one on #object {} and 
> the like too as the other side of the syntax change push - now that I 
> understand there is another side.

#object should generate a warning.
Same for #Primitive_Name

> 
> Suppose this behavior related to Christoph's recommendation to me back 
> in February to use default {} rather than #default {} though it's the 
> latter which is still in the documentation. The idea, as I understand 
> it, is to get to where the #<token> is used only with SDL language 
> control elements.
> 
> Twenty years playing with POV-Ray and still learning.
> 
> I'm also not the brightest light bulb. I code in bash and tcl which use 
> '#' style comments. I've long been aware
> 
> # camera { Camera00 }
> 
> doesn't comment the camera and isolated #s are ignored because sometimes 
> I comment with '#' by muscle memory. I'd personally like a parse error 
> for floating '#'s. It would save me time and I can see no reason to have 
> them though '# declare Widget12 = ...' works fine today (it's treated as 
> #declare).
> 
> Bill P.
>


Post a reply to this message

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