discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Fwd: Re: Adding vectors of unequal length

RW
Raymond West
Mon, Sep 4, 2023 10:18 AM

If want the y,z plane, what then? [,2,3]?

if a 2d represents an apple, and 3d a pear. You can't add them to make
pears or apples. You can concat, to make them fruit.

It depends if you're buying or selling.

If want the y,z plane, what then? [,2,3]? if a 2d represents an apple, and 3d a pear. You can't add them to make pears or apples. You can concat, to make them fruit. It depends if you're buying or selling.
NH
nop head
Mon, Sep 4, 2023 10:41 AM

They are not apples and pears. 2D is XY and 3D is XYZ so a superset, so if
they are representing geometry they can be added. If they are representing
something else then it might not make sense. It is for the programmer to
decide if it makes sense, not the language.

To move an XY translation into the YZ plane you would need to rotate around
the X axis which isn't a simple addition, you would need to swizzle.

On Mon, 4 Sept 2023 at 11:19, Raymond West raywest@raywest.com wrote:

If want the y,z plane, what then? [,2,3]?

if a 2d represents an apple, and 3d a pear. You can't add them to make
pears or apples. You can concat, to make them fruit.

It depends if you're buying or selling.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

They are not apples and pears. 2D is XY and 3D is XYZ so a superset, so if they are representing geometry they can be added. If they are representing something else then it might not make sense. It is for the programmer to decide if it makes sense, not the language. To move an XY translation into the YZ plane you would need to rotate around the X axis which isn't a simple addition, you would need to swizzle. On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> wrote: > > If want the y,z plane, what then? [,2,3]? > > if a 2d represents an apple, and 3d a pear. You can't add them to make > pears or apples. You can concat, to make them fruit. > > It depends if you're buying or selling. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Fri, Sep 8, 2023 5:43 PM

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1] assuming z
represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to keep
track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

They are not apples and pears. 2D is XY and 3D is XYZ so a superset, so if
they are representing geometry they can be added. If they are representing
something else then it might not make sense. It is for the programmer to
decide if it makes sense, not the language.

To move an XY translation into the YZ plane you would need to rotate
around the X axis which isn't a simple addition, you would need to swizzle.

On Mon, 4 Sept 2023 at 11:19, Raymond West raywest@raywest.com wrote:

If want the y,z plane, what then? [,2,3]?

if a 2d represents an apple, and 3d a pear. You can't add them to make
pears or apples. You can concat, to make them fruit.

It depends if you're buying or selling.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

And if you have 2 apples and 3 pears represented by [2,3] and you add another apple, a pear and a banana then you would have [3,4,1] assuming z represents bananas. And in OpenSCAD you can do: apples = 2; pears = 3; mixed_fruit = apples + pears; The language has no consent of type, it is up to the programmer to keep track of it. On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: > They are not apples and pears. 2D is XY and 3D is XYZ so a superset, so if > they are representing geometry they can be added. If they are representing > something else then it might not make sense. It is for the programmer to > decide if it makes sense, not the language. > > To move an XY translation into the YZ plane you would need to rotate > around the X axis which isn't a simple addition, you would need to swizzle. > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> wrote: > >> >> If want the y,z plane, what then? [,2,3]? >> >> if a 2d represents an apple, and 3d a pear. You can't add them to make >> pears or apples. You can concat, to make them fruit. >> >> It depends if you're buying or selling. >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >
RW
Raymond West
Sat, Sep 9, 2023 10:52 AM

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears, z =
number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d
should not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are not

On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1]
assuming z represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to
keep track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

 They are not apples and pears. 2D is XY and 3D is XYZ so a
 superset, so if they are representing geometry they can be added.
 If they are representing something else then it might not make
 sense. It is for the programmer to decide if it makes sense, not
 the language.

 To move an XY translation into the YZ plane you would need to
 rotate around the X axis which isn't a simple addition, you would
 need to swizzle.

 On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com>
 wrote:


     If want the y,z plane, what then? [,2,3]?

     if a 2d represents an apple, and 3d a pear. You can't add them
     to make
     pears or apples. You can concat, to make them fruit.

     It depends if you're buying or selling.
     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

that's a different representation of apples and pears. I think you are saying that x=number of apples, y = number of pears, z = number of bananas I was implying that  apples= x,y and  pears = x,y,z to show that a 2d should not be added into a 3d to make 2 off 3d (or 2 off 2d) Also, it just happens that xy is favoured over yz, or xz , since translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are not On 08/09/2023 18:43, nop head wrote: > And if you have 2 apples and 3 pears represented by [2,3] and you add > another apple, a pear and a banana then you would have [3,4,1] > assuming z represents bananas. > > And in OpenSCAD you can do: > > apples = 2; > pears = 3; > mixed_fruit = apples + pears; > > The language has no consent of type, it is up to the programmer to > keep track of it. > > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: > > They are not apples and pears. 2D is XY and 3D is XYZ so a > superset, so if they are representing geometry they can be added. > If they are representing something else then it might not make > sense. It is for the programmer to decide if it makes sense, not > the language. > > To move an XY translation into the YZ plane you would need to > rotate around the X axis which isn't a simple addition, you would > need to swizzle. > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> > wrote: > > > If want the y,z plane, what then? [,2,3]? > > if a 2d represents an apple, and 3d a pear. You can't add them > to make > pears or apples. You can concat, to make them fruit. > > It depends if you're buying or selling. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
NH
nop head
Sat, Sep 9, 2023 11:37 AM

XY is favoured because it is a subset and x in x,y,x is the same as x in
x.y, etc, so no reason not to add them.

On Sat, 9 Sept 2023 at 11:53, Raymond West raywest@raywest.com wrote:

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears, z =
number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d
should not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are not
On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1] assuming z
represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to keep
track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

They are not apples and pears. 2D is XY and 3D is XYZ so a superset, so
if they are representing geometry they can be added. If they are
representing something else then it might not make sense. It is for the
programmer to decide if it makes sense, not the language.

To move an XY translation into the YZ plane you would need to rotate
around the X axis which isn't a simple addition, you would need to swizzle.

On Mon, 4 Sept 2023 at 11:19, Raymond West raywest@raywest.com wrote:

If want the y,z plane, what then? [,2,3]?

if a 2d represents an apple, and 3d a pear. You can't add them to make
pears or apples. You can concat, to make them fruit.

It depends if you're buying or selling.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

XY is favoured because it is a subset and x in x,y,x is the same as x in x.y, etc, so no reason not to add them. On Sat, 9 Sept 2023 at 11:53, Raymond West <raywest@raywest.com> wrote: > that's a different representation of apples and pears. > > I think you are saying that x=number of apples, y = number of pears, z = > number of bananas > > I was implying that apples= x,y and pears = x,y,z to show that a 2d > should not be added into a 3d to make 2 off 3d (or 2 off 2d) > > Also, it just happens that xy is favoured over yz, or xz , since > translate([1,1]) is accepted, but translate ([,1,1]) or ([1,,1]) are not > On 08/09/2023 18:43, nop head wrote: > > And if you have 2 apples and 3 pears represented by [2,3] and you add > another apple, a pear and a banana then you would have [3,4,1] assuming z > represents bananas. > > And in OpenSCAD you can do: > > apples = 2; > pears = 3; > mixed_fruit = apples + pears; > > The language has no consent of type, it is up to the programmer to keep > track of it. > > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: > >> They are not apples and pears. 2D is XY and 3D is XYZ so a superset, so >> if they are representing geometry they can be added. If they are >> representing something else then it might not make sense. It is for the >> programmer to decide if it makes sense, not the language. >> >> To move an XY translation into the YZ plane you would need to rotate >> around the X axis which isn't a simple addition, you would need to swizzle. >> >> On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> wrote: >> >>> >>> If want the y,z plane, what then? [,2,3]? >>> >>> if a 2d represents an apple, and 3d a pear. You can't add them to make >>> pears or apples. You can concat, to make them fruit. >>> >>> It depends if you're buying or selling. >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RW
Rogier Wolff
Sat, Sep 9, 2023 3:18 PM

I agree that apples and pears are different. I agree that 2D vectors
are not 3D vectors.

However, as 2D vectors can be "upgraded" with a 0 third component to
a 3D vector, I think that the operation add (2D-vector, 3D-vector) can
reasonably return a 3D vector.

The current behaviour of the 3D vector being DOWNgraded... I don't
like it. That is not the proper behaviour. However given that this
behaviour has been "in the field" for... over a decade? it has become
impossible to change existing behaviour.

Roger. 

On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote:

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears, z =
number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d should
not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are not

On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1] assuming
z represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to keep
track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

 They are not apples and pears. 2D is XY and 3D is XYZ so a
 superset, so if they are representing geometry they can be added.
 If they are representing something else then it might not make
 sense. It is for the programmer to decide if it makes sense, not
 the language.

 To move an XY translation into the YZ plane you would need to
 rotate around the X axis which isn't a simple addition, you would
 need to swizzle.

 On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com>
 wrote:


     If want the y,z plane, what then? [,2,3]?

     if a 2d represents an apple, and 3d a pear. You can't add them
     to make
     pears or apples. You can concat, to make them fruit.

     It depends if you're buying or selling.
     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.

I agree that apples and pears are different. I agree that 2D vectors are not 3D vectors. However, as 2D vectors can be "upgraded" with a 0 third component to a 3D vector, I think that the operation add (2D-vector, 3D-vector) can reasonably return a 3D vector. The current behaviour of the 3D vector being DOWNgraded... I don't like it. That is not the proper behaviour. However given that this behaviour has been "in the field" for... over a decade? it has become impossible to change existing behaviour. Roger. On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote: > that's a different representation of apples and pears. > > I think you are saying that x=number of apples, y = number of pears, z = > number of bananas > > I was implying that  apples= x,y and  pears = x,y,z to show that a 2d should > not be added into a 3d to make 2 off 3d (or 2 off 2d) > > Also, it just happens that xy is favoured over yz, or xz , since > translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are not > > On 08/09/2023 18:43, nop head wrote: > > And if you have 2 apples and 3 pears represented by [2,3] and you add > > another apple, a pear and a banana then you would have [3,4,1] assuming > > z represents bananas. > > > > And in OpenSCAD you can do: > > > > apples = 2; > > pears = 3; > > mixed_fruit = apples + pears; > > > > The language has no consent of type, it is up to the programmer to keep > > track of it. > > > > > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: > > > > They are not apples and pears. 2D is XY and 3D is XYZ so a > > superset, so if they are representing geometry they can be added. > > If they are representing something else then it might not make > > sense. It is for the programmer to decide if it makes sense, not > > the language. > > > > To move an XY translation into the YZ plane you would need to > > rotate around the X axis which isn't a simple addition, you would > > need to swizzle. > > > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> > > wrote: > > > > > > If want the y,z plane, what then? [,2,3]? > > > > if a 2d represents an apple, and 3d a pear. You can't add them > > to make > > pears or apples. You can concat, to make them fruit. > > > > It depends if you're buying or selling. > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email todiscuss-leave@lists.openscad.org > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org -- ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** f equals m times a. When your f is steady, and your m is going down your a is going up. -- Chris Hadfield about flying up the space shuttle.
NH
nop head
Sat, Sep 9, 2023 4:24 PM

Depends if you regard it as a bug as I do. If we are not going to fix bugs
due to backwards compatibility then there is no hope for OpenSCAD
getting better, just more complicated.

On Sat, 9 Sept 2023 at 16:18, Rogier Wolff R.E.Wolff@bitwizard.nl wrote:

I agree that apples and pears are different. I agree that 2D vectors
are not 3D vectors.

However, as 2D vectors can be "upgraded" with a 0 third component to
a 3D vector, I think that the operation add (2D-vector, 3D-vector) can
reasonably return a 3D vector.

The current behaviour of the 3D vector being DOWNgraded... I don't
like it. That is not the proper behaviour. However given that this
behaviour has been "in the field" for... over a decade? it has become
impossible to change existing behaviour.

     Roger.

On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote:

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears, z =
number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d

should

not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are not

On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1] assuming
z represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to keep
track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

 They are not apples and pears. 2D is XY and 3D is XYZ so a
 superset, so if they are representing geometry they can be added.
 If they are representing something else then it might not make
 sense. It is for the programmer to decide if it makes sense, not
 the language.

 To move an XY translation into the YZ plane you would need to
 rotate around the X axis which isn't a simple addition, you would
 need to swizzle.

 On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com>
 wrote:


     If want the y,z plane, what then? [,2,3]?

     if a 2d represents an apple, and 3d a pear. You can't add them
     to make
     pears or apples. You can concat, to make them fruit.

     It depends if you're buying or selling.
     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110
**
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Depends if you regard it as a bug as I do. If we are not going to fix bugs due to backwards compatibility then there is no hope for OpenSCAD getting better, just more complicated. On Sat, 9 Sept 2023 at 16:18, Rogier Wolff <R.E.Wolff@bitwizard.nl> wrote: > > I agree that apples and pears are different. I agree that 2D vectors > are not 3D vectors. > > However, as 2D vectors can be "upgraded" with a 0 third component to > a 3D vector, I think that the operation add (2D-vector, 3D-vector) can > reasonably return a 3D vector. > > The current behaviour of the 3D vector being DOWNgraded... I don't > like it. That is not the proper behaviour. However given that this > behaviour has been "in the field" for... over a decade? it has become > impossible to change existing behaviour. > > Roger. > > On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote: > > that's a different representation of apples and pears. > > > > I think you are saying that x=number of apples, y = number of pears, z = > > number of bananas > > > > I was implying that apples= x,y and pears = x,y,z to show that a 2d > should > > not be added into a 3d to make 2 off 3d (or 2 off 2d) > > > > Also, it just happens that xy is favoured over yz, or xz , since > > translate([1,1]) is accepted, but translate ([,1,1]) or ([1,,1]) are not > > > > On 08/09/2023 18:43, nop head wrote: > > > And if you have 2 apples and 3 pears represented by [2,3] and you add > > > another apple, a pear and a banana then you would have [3,4,1] assuming > > > z represents bananas. > > > > > > And in OpenSCAD you can do: > > > > > > apples = 2; > > > pears = 3; > > > mixed_fruit = apples + pears; > > > > > > The language has no consent of type, it is up to the programmer to keep > > > track of it. > > > > > > > > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: > > > > > > They are not apples and pears. 2D is XY and 3D is XYZ so a > > > superset, so if they are representing geometry they can be added. > > > If they are representing something else then it might not make > > > sense. It is for the programmer to decide if it makes sense, not > > > the language. > > > > > > To move an XY translation into the YZ plane you would need to > > > rotate around the X axis which isn't a simple addition, you would > > > need to swizzle. > > > > > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> > > > wrote: > > > > > > > > > If want the y,z plane, what then? [,2,3]? > > > > > > if a 2d represents an apple, and 3d a pear. You can't add them > > > to make > > > pears or apples. You can concat, to make them fruit. > > > > > > It depends if you're buying or selling. > > > _______________________________________________ > > > OpenSCAD mailing list > > > To unsubscribe send an email to > discuss-leave@lists.openscad.org > > > > > > > > > _______________________________________________ > > > OpenSCAD mailing list > > > To unsubscribe send an email todiscuss-leave@lists.openscad.org > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > -- > ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 > ** > ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** > f equals m times a. When your f is steady, and your m is going down > your a is going up. -- Chris Hadfield about flying up the space shuttle. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Sat, Sep 9, 2023 5:06 PM

The problem is that you regard it as a bug but propose a conflicting
behavior that is not obviously right.  If the current behavior (which is
actually useful for certain situations) is changed it can break existing
code in a way that is hard to find and fix.  Your position is not
universal:  I think most people agree that the current behavior is a bug,
but I suspect that most people also believe that the correct behavior is to
behave like "every other good language" (as another poster put it) and
issue a warning when adding vectors of different length.  Probably undef
should be returned like what happens if you multiply incompatible
vectors/matrices.

On Sat, Sep 9, 2023 at 12:25 PM nop head nop.head@gmail.com wrote:

Depends if you regard it as a bug as I do. If we are not going to fix bugs
due to backwards compatibility then there is no hope for OpenSCAD
getting better, just more complicated.

On Sat, 9 Sept 2023 at 16:18, Rogier Wolff R.E.Wolff@bitwizard.nl wrote:

I agree that apples and pears are different. I agree that 2D vectors
are not 3D vectors.

However, as 2D vectors can be "upgraded" with a 0 third component to
a 3D vector, I think that the operation add (2D-vector, 3D-vector) can
reasonably return a 3D vector.

The current behaviour of the 3D vector being DOWNgraded... I don't
like it. That is not the proper behaviour. However given that this
behaviour has been "in the field" for... over a decade? it has become
impossible to change existing behaviour.

     Roger.

On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote:

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears, z =
number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d

should

not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are

not

On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1]

assuming

z represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to

keep

track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

 They are not apples and pears. 2D is XY and 3D is XYZ so a
 superset, so if they are representing geometry they can be added.
 If they are representing something else then it might not make
 sense. It is for the programmer to decide if it makes sense, not
 the language.

 To move an XY translation into the YZ plane you would need to
 rotate around the X axis which isn't a simple addition, you would
 need to swizzle.

 On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com>
 wrote:


     If want the y,z plane, what then? [,2,3]?

     if a 2d represents an apple, and 3d a pear. You can't add them
     to make
     pears or apples. You can concat, to make them fruit.

     It depends if you're buying or selling.
     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110
**
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233
**
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

The problem is that you regard it as a bug but propose a conflicting behavior that is not obviously right. If the current behavior (which is actually useful for certain situations) is changed it can break existing code in a way that is hard to find and fix. Your position is not universal: I think most people agree that the current behavior is a bug, but I suspect that most people also believe that the correct behavior is to behave like "every other good language" (as another poster put it) and issue a warning when adding vectors of different length. Probably undef should be returned like what happens if you multiply incompatible vectors/matrices. On Sat, Sep 9, 2023 at 12:25 PM nop head <nop.head@gmail.com> wrote: > Depends if you regard it as a bug as I do. If we are not going to fix bugs > due to backwards compatibility then there is no hope for OpenSCAD > getting better, just more complicated. > > On Sat, 9 Sept 2023 at 16:18, Rogier Wolff <R.E.Wolff@bitwizard.nl> wrote: > >> >> I agree that apples and pears are different. I agree that 2D vectors >> are not 3D vectors. >> >> However, as 2D vectors can be "upgraded" with a 0 third component to >> a 3D vector, I think that the operation add (2D-vector, 3D-vector) can >> reasonably return a 3D vector. >> >> The current behaviour of the 3D vector being DOWNgraded... I don't >> like it. That is not the proper behaviour. However given that this >> behaviour has been "in the field" for... over a decade? it has become >> impossible to change existing behaviour. >> >> Roger. >> >> On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote: >> > that's a different representation of apples and pears. >> > >> > I think you are saying that x=number of apples, y = number of pears, z = >> > number of bananas >> > >> > I was implying that apples= x,y and pears = x,y,z to show that a 2d >> should >> > not be added into a 3d to make 2 off 3d (or 2 off 2d) >> > >> > Also, it just happens that xy is favoured over yz, or xz , since >> > translate([1,1]) is accepted, but translate ([,1,1]) or ([1,,1]) are >> not >> > >> > On 08/09/2023 18:43, nop head wrote: >> > > And if you have 2 apples and 3 pears represented by [2,3] and you add >> > > another apple, a pear and a banana then you would have [3,4,1] >> assuming >> > > z represents bananas. >> > > >> > > And in OpenSCAD you can do: >> > > >> > > apples = 2; >> > > pears = 3; >> > > mixed_fruit = apples + pears; >> > > >> > > The language has no consent of type, it is up to the programmer to >> keep >> > > track of it. >> > > >> > > >> > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: >> > > >> > > They are not apples and pears. 2D is XY and 3D is XYZ so a >> > > superset, so if they are representing geometry they can be added. >> > > If they are representing something else then it might not make >> > > sense. It is for the programmer to decide if it makes sense, not >> > > the language. >> > > >> > > To move an XY translation into the YZ plane you would need to >> > > rotate around the X axis which isn't a simple addition, you would >> > > need to swizzle. >> > > >> > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> >> > > wrote: >> > > >> > > >> > > If want the y,z plane, what then? [,2,3]? >> > > >> > > if a 2d represents an apple, and 3d a pear. You can't add them >> > > to make >> > > pears or apples. You can concat, to make them fruit. >> > > >> > > It depends if you're buying or selling. >> > > _______________________________________________ >> > > OpenSCAD mailing list >> > > To unsubscribe send an email to >> discuss-leave@lists.openscad.org >> > > >> > > >> > > _______________________________________________ >> > > OpenSCAD mailing list >> > > To unsubscribe send an email todiscuss-leave@lists.openscad.org >> >> > _______________________________________________ >> > OpenSCAD mailing list >> > To unsubscribe send an email to discuss-leave@lists.openscad.org >> >> >> -- >> ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 >> ** >> ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 >> ** >> f equals m times a. When your f is steady, and your m is going down >> your a is going up. -- Chris Hadfield about flying up the space shuttle. >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Sat, Sep 9, 2023 9:42 PM

So you also regard it as a bug but have written code to make use of it that
would be broken! I think you deserve to have yourcode broken.

I am forever getting my code broken by the increase in warnings. The one
that annoys me most was len() warning for use on scalars when it was
documented to return undef, which I made use of. Other changes are things
like zero dimensions used to not produce geometry, which made sense to me
but now it gives warnings. All these things make my code longer and slower.
Is that progress, I think not.

On Sat, 9 Sept 2023 at 18:06, Adrian Mariano avm4@cornell.edu wrote:

The problem is that you regard it as a bug but propose a conflicting
behavior that is not obviously right.  If the current behavior (which is
actually useful for certain situations) is changed it can break existing
code in a way that is hard to find and fix.  Your position is not
universal:  I think most people agree that the current behavior is a bug,
but I suspect that most people also believe that the correct behavior is to
behave like "every other good language" (as another poster put it) and
issue a warning when adding vectors of different length.  Probably undef
should be returned like what happens if you multiply incompatible
vectors/matrices.

On Sat, Sep 9, 2023 at 12:25 PM nop head nop.head@gmail.com wrote:

Depends if you regard it as a bug as I do. If we are not going to fix
bugs due to backwards compatibility then there is no hope for OpenSCAD
getting better, just more complicated.

On Sat, 9 Sept 2023 at 16:18, Rogier Wolff R.E.Wolff@bitwizard.nl
wrote:

I agree that apples and pears are different. I agree that 2D vectors
are not 3D vectors.

However, as 2D vectors can be "upgraded" with a 0 third component to
a 3D vector, I think that the operation add (2D-vector, 3D-vector) can
reasonably return a 3D vector.

The current behaviour of the 3D vector being DOWNgraded... I don't
like it. That is not the proper behaviour. However given that this
behaviour has been "in the field" for... over a decade? it has become
impossible to change existing behaviour.

     Roger.

On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote:

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears, z

=

number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d

should

not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are

not

On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you add
another apple, a pear and a banana then you would have [3,4,1]

assuming

z represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to

keep

track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

 They are not apples and pears. 2D is XY and 3D is XYZ so a
 superset, so if they are representing geometry they can be added.
 If they are representing something else then it might not make
 sense. It is for the programmer to decide if it makes sense, not
 the language.

 To move an XY translation into the YZ plane you would need to
 rotate around the X axis which isn't a simple addition, you would
 need to swizzle.

 On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com>
 wrote:


     If want the y,z plane, what then? [,2,3]?

     if a 2d represents an apple, and 3d a pear. You can't add

them

     to make
     pears or apples. You can concat, to make them fruit.

     It depends if you're buying or selling.
     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ **
+31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233
**
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

So you also regard it as a bug but have written code to make use of it that would be broken! I think you deserve to have yourcode broken. I am forever getting my code broken by the increase in warnings. The one that annoys me most was len() warning for use on scalars when it was documented to return undef, which I made use of. Other changes are things like zero dimensions used to not produce geometry, which made sense to me but now it gives warnings. All these things make my code longer and slower. Is that progress, I think not. On Sat, 9 Sept 2023 at 18:06, Adrian Mariano <avm4@cornell.edu> wrote: > The problem is that you regard it as a bug but propose a conflicting > behavior that is not obviously right. If the current behavior (which is > actually useful for certain situations) is changed it can break existing > code in a way that is hard to find and fix. Your position is not > universal: I think most people agree that the current behavior is a bug, > but I suspect that most people also believe that the correct behavior is to > behave like "every other good language" (as another poster put it) and > issue a warning when adding vectors of different length. Probably undef > should be returned like what happens if you multiply incompatible > vectors/matrices. > > On Sat, Sep 9, 2023 at 12:25 PM nop head <nop.head@gmail.com> wrote: > >> Depends if you regard it as a bug as I do. If we are not going to fix >> bugs due to backwards compatibility then there is no hope for OpenSCAD >> getting better, just more complicated. >> >> On Sat, 9 Sept 2023 at 16:18, Rogier Wolff <R.E.Wolff@bitwizard.nl> >> wrote: >> >>> >>> I agree that apples and pears are different. I agree that 2D vectors >>> are not 3D vectors. >>> >>> However, as 2D vectors can be "upgraded" with a 0 third component to >>> a 3D vector, I think that the operation add (2D-vector, 3D-vector) can >>> reasonably return a 3D vector. >>> >>> The current behaviour of the 3D vector being DOWNgraded... I don't >>> like it. That is not the proper behaviour. However given that this >>> behaviour has been "in the field" for... over a decade? it has become >>> impossible to change existing behaviour. >>> >>> Roger. >>> >>> On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote: >>> > that's a different representation of apples and pears. >>> > >>> > I think you are saying that x=number of apples, y = number of pears, z >>> = >>> > number of bananas >>> > >>> > I was implying that apples= x,y and pears = x,y,z to show that a 2d >>> should >>> > not be added into a 3d to make 2 off 3d (or 2 off 2d) >>> > >>> > Also, it just happens that xy is favoured over yz, or xz , since >>> > translate([1,1]) is accepted, but translate ([,1,1]) or ([1,,1]) are >>> not >>> > >>> > On 08/09/2023 18:43, nop head wrote: >>> > > And if you have 2 apples and 3 pears represented by [2,3] and you add >>> > > another apple, a pear and a banana then you would have [3,4,1] >>> assuming >>> > > z represents bananas. >>> > > >>> > > And in OpenSCAD you can do: >>> > > >>> > > apples = 2; >>> > > pears = 3; >>> > > mixed_fruit = apples + pears; >>> > > >>> > > The language has no consent of type, it is up to the programmer to >>> keep >>> > > track of it. >>> > > >>> > > >>> > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: >>> > > >>> > > They are not apples and pears. 2D is XY and 3D is XYZ so a >>> > > superset, so if they are representing geometry they can be added. >>> > > If they are representing something else then it might not make >>> > > sense. It is for the programmer to decide if it makes sense, not >>> > > the language. >>> > > >>> > > To move an XY translation into the YZ plane you would need to >>> > > rotate around the X axis which isn't a simple addition, you would >>> > > need to swizzle. >>> > > >>> > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com> >>> > > wrote: >>> > > >>> > > >>> > > If want the y,z plane, what then? [,2,3]? >>> > > >>> > > if a 2d represents an apple, and 3d a pear. You can't add >>> them >>> > > to make >>> > > pears or apples. You can concat, to make them fruit. >>> > > >>> > > It depends if you're buying or selling. >>> > > _______________________________________________ >>> > > OpenSCAD mailing list >>> > > To unsubscribe send an email to >>> discuss-leave@lists.openscad.org >>> > > >>> > > >>> > > _______________________________________________ >>> > > OpenSCAD mailing list >>> > > To unsubscribe send an email todiscuss-leave@lists.openscad.org >>> >>> > _______________________________________________ >>> > OpenSCAD mailing list >>> > To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >>> >>> -- >>> ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** >>> +31-15-2049110 ** >>> ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 >>> ** >>> f equals m times a. When your f is steady, and your m is going down >>> your a is going up. -- Chris Hadfield about flying up the space shuttle. >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Sat, Sep 9, 2023 10:08 PM

It's not a bug to have written code that exploits defects in the language.
It may be a bad idea.  And I have not made use of this behavior
myself---basically it would never occur to me in a million years that it
would make sense to add vectors of different length---but I think code in
BOSL2 that handles 2d and 3d cases together does make use of it.  That
said, I have no objection to changing it to the right behavior, which is a
warning and undef return.  When you get a warning, the problem is reported,
hence its exact location is easy to identify, and the code can be fixed.  A
silent change of the buggy behavior to different (but arguably still buggy)
behavior is harder to deal with.

One issue I've seen with OpenSCAD is that "is documented" means nothing
because there's actually no documentation.  What we have is a wiki that
describes current behavior, not a document that specifies OpenSCAD behavior
as a standard.  If behavior "being documented" precludes it from being
changed, then no bugs that manage to get into the wiki can ever get fixed.

You apparently write perfect code the first time.  For those of us without
this ability, proper error handling in the language is a godsend, and saves
far more time than it costs.

On Sat, Sep 9, 2023 at 5:46 PM nop head nop.head@gmail.com wrote:

So you also regard it as a bug but have written code to make use of it
that would be broken! I think you deserve to have yourcode broken.

I am forever getting my code broken by the increase in warnings. The one
that annoys me most was len() warning for use on scalars when it was
documented to return undef, which I made use of. Other changes are things
like zero dimensions used to not produce geometry, which made sense to me
but now it gives warnings. All these things make my code longer and slower.
Is that progress, I think not.

On Sat, 9 Sept 2023 at 18:06, Adrian Mariano avm4@cornell.edu wrote:

The problem is that you regard it as a bug but propose a conflicting
behavior that is not obviously right.  If the current behavior (which is
actually useful for certain situations) is changed it can break existing
code in a way that is hard to find and fix.  Your position is not
universal:  I think most people agree that the current behavior is a bug,
but I suspect that most people also believe that the correct behavior is to
behave like "every other good language" (as another poster put it) and
issue a warning when adding vectors of different length.  Probably undef
should be returned like what happens if you multiply incompatible
vectors/matrices.

On Sat, Sep 9, 2023 at 12:25 PM nop head nop.head@gmail.com wrote:

Depends if you regard it as a bug as I do. If we are not going to fix
bugs due to backwards compatibility then there is no hope for OpenSCAD
getting better, just more complicated.

On Sat, 9 Sept 2023 at 16:18, Rogier Wolff R.E.Wolff@bitwizard.nl
wrote:

I agree that apples and pears are different. I agree that 2D vectors
are not 3D vectors.

However, as 2D vectors can be "upgraded" with a 0 third component to
a 3D vector, I think that the operation add (2D-vector, 3D-vector) can
reasonably return a 3D vector.

The current behaviour of the 3D vector being DOWNgraded... I don't
like it. That is not the proper behaviour. However given that this
behaviour has been "in the field" for... over a decade? it has become
impossible to change existing behaviour.

     Roger.

On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote:

that's a different representation of apples and pears.

I think you are saying that x=number of apples, y = number of pears,

z =

number of bananas

I was implying that  apples= x,y and  pears = x,y,z to show that a 2d

should

not be added into a 3d to make 2 off 3d (or 2 off 2d)

Also, it just happens that xy is favoured over yz, or xz , since
translate([1,1]) is accepted, but translate ([,1,1]) or  ([1,,1]) are

not

On 08/09/2023 18:43, nop head wrote:

And if you have 2 apples and 3 pears represented by [2,3] and you

add

another apple, a pear and a banana then you would have [3,4,1]

assuming

z represents bananas.

And in OpenSCAD you can do:

apples = 2;
pears = 3;
mixed_fruit = apples + pears;

The language has no consent of type, it is up to the programmer to

keep

track of it.

On Mon, 4 Sept 2023 at 11:41, nop head nop.head@gmail.com wrote:

 They are not apples and pears. 2D is XY and 3D is XYZ so a
 superset, so if they are representing geometry they can be

added.

 If they are representing something else then it might not make
 sense. It is for the programmer to decide if it makes sense, not
 the language.

 To move an XY translation into the YZ plane you would need to
 rotate around the X axis which isn't a simple addition, you

would

 need to swizzle.

 On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com
 wrote:


     If want the y,z plane, what then? [,2,3]?

     if a 2d represents an apple, and 3d a pear. You can't add

them

     to make
     pears or apples. You can concat, to make them fruit.

     It depends if you're buying or selling.
     _______________________________________________
     OpenSCAD mailing list
     To unsubscribe send an email to

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ **
+31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233
**
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space
shuttle.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

It's not a bug to have written code that exploits defects in the language. It may be a bad idea. And *I* have not made use of this behavior myself---basically it would never occur to me in a million years that it would make sense to add vectors of different length---but I think code in BOSL2 that handles 2d and 3d cases together does make use of it. That said, I have no objection to changing it to the right behavior, which is a warning and undef return. When you get a warning, the problem is reported, hence its exact location is easy to identify, and the code can be fixed. A silent change of the buggy behavior to different (but arguably still buggy) behavior is harder to deal with. One issue I've seen with OpenSCAD is that "is documented" means nothing because there's actually no documentation. What we have is a wiki that describes current behavior, not a document that specifies OpenSCAD behavior as a standard. If behavior "being documented" precludes it from being changed, then no bugs that manage to get into the wiki can ever get fixed. You apparently write perfect code the first time. For those of us without this ability, proper error handling in the language is a godsend, and saves far more time than it costs. On Sat, Sep 9, 2023 at 5:46 PM nop head <nop.head@gmail.com> wrote: > So you also regard it as a bug but have written code to make use of it > that would be broken! I think you deserve to have yourcode broken. > > I am forever getting my code broken by the increase in warnings. The one > that annoys me most was len() warning for use on scalars when it was > documented to return undef, which I made use of. Other changes are things > like zero dimensions used to not produce geometry, which made sense to me > but now it gives warnings. All these things make my code longer and slower. > Is that progress, I think not. > > On Sat, 9 Sept 2023 at 18:06, Adrian Mariano <avm4@cornell.edu> wrote: > >> The problem is that you regard it as a bug but propose a conflicting >> behavior that is not obviously right. If the current behavior (which is >> actually useful for certain situations) is changed it can break existing >> code in a way that is hard to find and fix. Your position is not >> universal: I think most people agree that the current behavior is a bug, >> but I suspect that most people also believe that the correct behavior is to >> behave like "every other good language" (as another poster put it) and >> issue a warning when adding vectors of different length. Probably undef >> should be returned like what happens if you multiply incompatible >> vectors/matrices. >> >> On Sat, Sep 9, 2023 at 12:25 PM nop head <nop.head@gmail.com> wrote: >> >>> Depends if you regard it as a bug as I do. If we are not going to fix >>> bugs due to backwards compatibility then there is no hope for OpenSCAD >>> getting better, just more complicated. >>> >>> On Sat, 9 Sept 2023 at 16:18, Rogier Wolff <R.E.Wolff@bitwizard.nl> >>> wrote: >>> >>>> >>>> I agree that apples and pears are different. I agree that 2D vectors >>>> are not 3D vectors. >>>> >>>> However, as 2D vectors can be "upgraded" with a 0 third component to >>>> a 3D vector, I think that the operation add (2D-vector, 3D-vector) can >>>> reasonably return a 3D vector. >>>> >>>> The current behaviour of the 3D vector being DOWNgraded... I don't >>>> like it. That is not the proper behaviour. However given that this >>>> behaviour has been "in the field" for... over a decade? it has become >>>> impossible to change existing behaviour. >>>> >>>> Roger. >>>> >>>> On Sat, Sep 09, 2023 at 11:52:59AM +0100, Raymond West wrote: >>>> > that's a different representation of apples and pears. >>>> > >>>> > I think you are saying that x=number of apples, y = number of pears, >>>> z = >>>> > number of bananas >>>> > >>>> > I was implying that apples= x,y and pears = x,y,z to show that a 2d >>>> should >>>> > not be added into a 3d to make 2 off 3d (or 2 off 2d) >>>> > >>>> > Also, it just happens that xy is favoured over yz, or xz , since >>>> > translate([1,1]) is accepted, but translate ([,1,1]) or ([1,,1]) are >>>> not >>>> > >>>> > On 08/09/2023 18:43, nop head wrote: >>>> > > And if you have 2 apples and 3 pears represented by [2,3] and you >>>> add >>>> > > another apple, a pear and a banana then you would have [3,4,1] >>>> assuming >>>> > > z represents bananas. >>>> > > >>>> > > And in OpenSCAD you can do: >>>> > > >>>> > > apples = 2; >>>> > > pears = 3; >>>> > > mixed_fruit = apples + pears; >>>> > > >>>> > > The language has no consent of type, it is up to the programmer to >>>> keep >>>> > > track of it. >>>> > > >>>> > > >>>> > > On Mon, 4 Sept 2023 at 11:41, nop head <nop.head@gmail.com> wrote: >>>> > > >>>> > > They are not apples and pears. 2D is XY and 3D is XYZ so a >>>> > > superset, so if they are representing geometry they can be >>>> added. >>>> > > If they are representing something else then it might not make >>>> > > sense. It is for the programmer to decide if it makes sense, not >>>> > > the language. >>>> > > >>>> > > To move an XY translation into the YZ plane you would need to >>>> > > rotate around the X axis which isn't a simple addition, you >>>> would >>>> > > need to swizzle. >>>> > > >>>> > > On Mon, 4 Sept 2023 at 11:19, Raymond West <raywest@raywest.com >>>> > >>>> > > wrote: >>>> > > >>>> > > >>>> > > If want the y,z plane, what then? [,2,3]? >>>> > > >>>> > > if a 2d represents an apple, and 3d a pear. You can't add >>>> them >>>> > > to make >>>> > > pears or apples. You can concat, to make them fruit. >>>> > > >>>> > > It depends if you're buying or selling. >>>> > > _______________________________________________ >>>> > > OpenSCAD mailing list >>>> > > To unsubscribe send an email to >>>> discuss-leave@lists.openscad.org >>>> > > >>>> > > >>>> > > _______________________________________________ >>>> > > OpenSCAD mailing list >>>> > > To unsubscribe send an email todiscuss-leave@lists.openscad.org >>>> >>>> > _______________________________________________ >>>> > OpenSCAD mailing list >>>> > To unsubscribe send an email to discuss-leave@lists.openscad.org >>>> >>>> >>>> -- >>>> ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** >>>> +31-15-2049110 ** >>>> ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 >>>> ** >>>> f equals m times a. When your f is steady, and your m is going down >>>> your a is going up. -- Chris Hadfield about flying up the space >>>> shuttle. >>>> _______________________________________________ >>>> OpenSCAD mailing list >>>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>>> >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >