|
 |
On 10/23/25 09:51, Bald Eagle wrote:
> "Bald Eagle" <cre### [at] netscape net> wrote:
>> William F Pokorny <ano### [at] anonymous org> wrote:
>>
>>> 1) I cannot find 'D = ray.Direction;' in my yuqk code? Where and in what
>>> version of source code are you seeing this?
>>
>> Right because that line is not explicitly there.
>> D is implicitly defined as the ray direction.
>>
>> Then in line 256 we do: len = D.length();
>>
>> Which is why we need to get rid of the y component for reasons explained.
>>
>> So really what we need is an extra line that REdefines the _projected_ ray
>> direction as D = <D.x, 0, D.y> before that length and normalization take place.
>>
>> - BW
>
> https://news.povray.org/web.68e8688f251da1bc1f9dae3025979125%40news.povray.org
>
> "2. The issue (*) above was a result of the ray direction being used as-is.
> When I had an angled ray, the length was too large, and overly shortened my
> perpendicular vector.
> When I only used the ray projection onto the xz plane, all of my perpendicular
> vectors were of the proper length."
>
Thanks Bill.
I think the normalization - including y - is necessary for other reasons
like the generation of the polynomials, but I also believe I see your
point about what is needed for the initial bounding cylinder check,
specifically. I'll try with branch-off code which drops the 'y'
component for the initial cylinder test only.
Aside: I'd make a moderate bet this tangled with the issues I had in
some rotation about x tests where parts (partial segments/intervals) of
the sor would drop out. IIRC, those tests included negative on curve
(between end control points, points). We'll see.
Bill P.
Post a reply to this message
|
 |