|
 |
William F Pokorny <ano### [at] anonymous org> wrote:
> On 10/20/25 03:53, kurtz le pirate wrote:
> > Let an array of "4D" vectors.
> > This code works well :
> >
> > #write ( FH, Array[i].x,",",Array[i].y,",",Array[i].z,",",Array[i].filter )
>
> Below the contents of a documentation scene I'm adding to the next yuqk
> release (R20). What's going on is part of a larger tangle due when and
> how the features involved were implemented over time.
>
> Bill P.
>
> //---
> // Odd behavior with 'write' and 5D color vectors...
>
> #declare V2 = <1,2>;
> #declare V3 = <1,2,3>;
> #declare V4 = <1,2,3,4>;
> #declare V5 = <1,2,3,4,5>; // Internally this a 'color vector'
>
> #fopen FH "zzz" write
>
> // These are OK in yuqk or in v3.8 beta 2
> #write (FH,V3.x,",",V3.y,",",V3.z)
> #write (FH,V4.x,",",V4.y,",",V4.z,",",V4.t)
> #write (FH,(V5.x),",",(V5.y),",",(V5.z))
> #write (FH,(V5.x),",",(V5.y),",",(V5.z)",",(V5.t))
> #write (FH,(V5.x),",",(V5.y),",",(V5.z)",",(V5.t)",",(V5.transmit))
> #write (FH,V2)
> #write (FH,V3)
> #write (FH,V4)
>
> // This fails in yuqk and in v3.8 beta 2 because 'write' only
> // supports 2D, 3D and 4D vectors.
> #if (0)
> #write (FH,V5)
> #end
>
> // This fails in v3.8 beta 2 because 'write' only supports 2D, 3D
> // and 4D vectors. Due how the dot operator works, incorrectly,
> // for the v3.8 tuple feature the V5.transmit is first seen as a 5D
> // color vector - before it is seen as a float due the dot operator.
> #if (0)
> #write (FH,V5.transmit)
> #end
>
> // These fail in yuqk due fixes with the tuple assignment feature of
> // v3.8 which changes how the dot operators are evaluated. The yuqk
> // fork always sees 'V5' before it thinks about the dot operator. In
> // other words, with yuqk you must wrap all, 5D color vector, element
> // to float conversions in ()s with write!
> #if (0)
> #write (FH,V5.x,",",V5.y,",",V5.z)
> // #write (FH,V5.x,",",V5.y,",",V5.z,",",V5.t)
> // #write (FH,V5.x,",",V5.y,",",V5.z,",",V5.transmit)
> #end
>
> #fclose FH
>
> #error "Stop early"
> //---
>
> Bill P.
So,
I'm curious about all of this.
There seems to be an awful lot of bouncing around under the hood, and a fair
amount of replicated code for things like splines, etc.
How are the vector components stored, and why do they need to be recast into
floats?
I see that there is no 5d vector defined in math/vector.h - it is in
base/colour.h
Can we somehow consolidate/unify the colors and the vectors, or do we want to
somehow completely separate them with a means to interconvert as per clipka?
#write converts everything to strings first?
Post a reply to this message
|
 |
|
 |
hi,
"Bald Eagle" <cre### [at] netscape net> wrote:
> "jr" <cre### [at] gmail com> wrote:
> > a wiki page, with simple "bullet" list ?
> This would likely suffice, if there were someone to compile the present list,
> and it were editable by a sufficiently wide user list.
> Maybe a talk page or something.
to begin with, I think, getting "the list" going is priority, as one of your
pages perhaps. medium to long-term, and when the details are fixed, we can move
the page.
> I could likely write a simple spreadsheet to list keyword, file, macro,
> whatever, who reported the bug, the link to the thread, who volunteered to fix
> it, date, present status, etc.
> That could be updated periodically to reflect the state of things.
> Or maybe there's a way to format data on the wiki for retrieval by a spreadsheet
> so that any local copies of the spreadsheet that people download can get
> updated.
we do have tables. I also think that the list(ing) should be kept simple,
mostly just a reference/index providing links to the details (like "who
volunteered").
> A record of the code development history - even as a simple text file - ought to
> be provided in the distribution.
back when s/wares used to provide a 'ChangeLog' file, for the exact purpose.
regards, jr.
Post a reply to this message
|
 |