POV-Ray : Newsgroups : povray.advanced-users : Vector handling : Re: Vector handling Server Time
7 Jun 2025 16:45:12 EDT (-0400)
  Re: Vector handling  
From: Tor Olav Kristensen
Date: 4 Jun 2025 00:20:00
Message: <web.683fc8652f29ff143a63f5189db30a9@news.povray.org>
"Bald Eagle" <cre### [at] netscapenet> wrote:
>...
> There's no way to really assign a value to the individual vector component
> Vector.z, ...

I'm not sure if I understand what you mean.

I just tried this - and it seems to work like I expected.


#declare v2D = <2, 3>;
#declare NewV = -33;

#declare v2D = <v2D.u, NewV>;
PrintSCalarOrVector(2, v2D)
#debug "\n"

#declare v2D = v2D*u + NewV*v;
PrintSCalarOrVector(2, v2D)
#debug "\n"

#declare v2D = v2D*<1, 0> + <0, NewV>;
PrintSCalarOrVector(2, v2D)
#debug "\n"


#declare v3D = <3, 4, 5>;
#declare NewZ = -55;

#declare v3D = <v3D.x, v3D.y, NewZ>;
PrintSCalarOrVector(3, v3D)
#debug "\n"

#declare v3D = v3D*(x + y) + NewZ*z;
PrintSCalarOrVector(3, v3D)
#debug "\n"

#declare v3D = v3D*<1, 1, 0> + <0, 0, NewZ>;
PrintSCalarOrVector(3, v3D)
#debug "\n"


#declare v4D = <4, 5, 6, 7>;
#declare NewT = -77;

#declare v4D = <v4D.x, v4D.y, v4D.z, NewT>;
PrintSCalarOrVector(4, v4D)
#debug "\n"

#declare v4D = v4D*(x + y + z) + NewT*t;
PrintSCalarOrVector(4, v4D)
#debug "\n"

#declare v4D = v4D*<1, 1, 1, 0> + <0, 0, 0, NewT>;
PrintSCalarOrVector(4, v4D)
#debug "\n"


#declare v5D = <5, 6, 7, 8, 9>;
#declare NewTransmit = -99;

#declare v5D = <v5D.red, v5D.green, v5D.blue, v5D.filter, NewTransmit>;
PrintSCalarOrVector(5, v5D)
#debug "\n"

#declare v5D = v5D*<1, 1, 1, 1, 0> + <0, 0, 0, 0, NewTransmit>;
PrintSCalarOrVector(5, v5D)
#debug "\n"

--
Tor Olav
http://subcube.com
https://github.com/t-o-k


Post a reply to this message

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