Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Victory or defeat!


devel / comp.lang.c++ / Re: “We are doomed”

SubjectAuthor
* “We are doomed”Lynn McGuire
`* Re: “We are doomed”Malcolm McLean
 +* Re: “We are doomed”Kaz Kylheku
 |`* Re: “We are doomed”Malcolm McLean
 | +- Re: “We are doomed”Chris M. Thomasson
 | `* Re: “We are doomed”Kaz Kylheku
 |  `* Re: “We are doomed”Malcolm McLean
 |   `- Re: “We are doomed”Chris M. Thomasson
 +- Re: “We are doomed”Chris M. Thomasson
 `* Re: “We are doomed”immibis
  `* Re: “We are doomed”Malcolm McLean
   +* Re: “We are doomed”Fred. Zwarts
   |`- Re: “We are doomed”Malcolm McLean
   +- Re: “We are doomed”Chris M. Thomasson
   `- Re: “We are doomed”MarioCCCP

1
“We are doomed”

<uo6ufu$1kle9$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3059&group=comp.lang.c%2B%2B#3059

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: lynnmcguire5@gmail.com (Lynn McGuire)
Newsgroups: comp.lang.c++
Subject: “We are doomed”
Date: Tue, 16 Jan 2024 16:03:41 -0600
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <uo6ufu$1kle9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 16 Jan 2024 22:03:42 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="fac3bc4b1b3b03bbb5d06e70a5a1744a";
logging-data="1725897"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/TYTzur3Hpg6BkqfLm75INP8jBtorn5E8="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:MToWL3ONluc9gsL6ypjXGzbxsUc=
Content-Language: en-US
 by: Lynn McGuire - Tue, 16 Jan 2024 22:03 UTC

“We are doomed”
https://www.carette.xyz/posts/we_are_doomed/

“The only system with a good software compatibility that I know is
Windows, and this explains a ton of things keeping very old UI/UX
frameworks, software and APIs to run, for example, Windows 95 compatible
games like “Roller Coaster Tycoon”.”

“Otherwise, you are doomed.”

The C++ committee has screwed up and continues to screw up by not
creating a graphics standard for C++.

Lynn

Re: “We are doomed”

<uoeebu$387sh$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3068&group=comp.lang.c%2B%2B#3068

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: malcolm.arthur.mclean@gmail.com (Malcolm McLean)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Fri, 19 Jan 2024 18:17:34 +0000
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <uoeebu$387sh$2@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 19 Jan 2024 18:17:34 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="00861fded2491171dcd2668fd986a126";
logging-data="3415953"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/txBpNuadmGBDQ2N3gMpx9Rki4rcqbbKs="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:M7iEERx+TCFfOiTng4Jdnq8yrEo=
In-Reply-To: <uo6ufu$1kle9$1@dont-email.me>
Content-Language: en-GB
 by: Malcolm McLean - Fri, 19 Jan 2024 18:17 UTC

On 16/01/2024 22:03, Lynn McGuire wrote:
> “We are doomed”
>    https://www.carette.xyz/posts/we_are_doomed/
>
> “The only system with a good software compatibility that I know is
> Windows, and this explains a ton of things keeping very old UI/UX
> frameworks, software and APIs to run, for example, Windows 95 compatible
> games like “Roller Coaster Tycoon”.”
>
> “Otherwise, you are doomed.”
>
> The C++ committee has screwed up and continues to screw up by not
> creating a graphics standard for C++.
>
> Lynn
One problem that could be very easily fixed is that there is no standard
representation of a point or a vector. Whilst generally it's just a POD
structure with x and y members, the name varies, and sometimes the
dimensions are referred to by index instead of by letter. You can also
have a philosophical discussion about whether points and vectors should
be the same structures or incompatible structures.
But a simple standardisation would mean the end of pointless editing of
code just to conform to whatever the host program has chosen.
--
Check out Basic Algorithms and my other books:
https://www.lulu.com/spotlight/bgy1mm

Re: “We are doomed”

<20240119103450.676@kylheku.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3069&group=comp.lang.c%2B%2B#3069

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-6894@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Fri, 19 Jan 2024 18:35:32 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 12
Message-ID: <20240119103450.676@kylheku.com>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
Injection-Date: Fri, 19 Jan 2024 18:35:32 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="ad95ce9a64147988794afabbd8369e5e";
logging-data="3430228"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19ALWJK20zxRwxug0xLwshdOP5PQykmNs8="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:e7Q5D4+gxk6esadmXrq270PwLTs=
 by: Kaz Kylheku - Fri, 19 Jan 2024 18:35 UTC

On 2024-01-19, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
> One problem that could be very easily fixed is that there is no standard
> representation of a point or a vector. Whilst generally it's just a POD
> structure with x and y members, the name varies, and sometimes the

For code working with 2D vectors, designers should consider complex numbers.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: “We are doomed”

<uoera2$3amth$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3070&group=comp.lang.c%2B%2B#3070

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Fri, 19 Jan 2024 13:58:26 -0800
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <uoera2$3amth$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 19 Jan 2024 21:58:26 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="44184edc633617af7fc7f7c89667ab4f";
logging-data="3496881"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Jg9xLRPCCrZCRHaLNHpF0WzD++b1pUao="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:7VuUEAHVl9BXcsmuHKImxoR8XZ4=
In-Reply-To: <uoeebu$387sh$2@dont-email.me>
Content-Language: en-US
 by: Chris M. Thomasson - Fri, 19 Jan 2024 21:58 UTC

On 1/19/2024 10:17 AM, Malcolm McLean wrote:
> On 16/01/2024 22:03, Lynn McGuire wrote:
>> “We are doomed”
>>     https://www.carette.xyz/posts/we_are_doomed/
>>
>> “The only system with a good software compatibility that I know is
>> Windows, and this explains a ton of things keeping very old UI/UX
>> frameworks, software and APIs to run, for example, Windows 95
>> compatible games like “Roller Coaster Tycoon”.”
>>
>> “Otherwise, you are doomed.”
>>
>> The C++ committee has screwed up and continues to screw up by not
>> creating a graphics standard for C++.
>>
>> Lynn
> One problem that could be very easily fixed is that there is no standard
> representation of a point or a vector. Whilst generally it's just a POD
> structure with x and y members, the name varies, and sometimes the
> dimensions are referred to by index instead of by letter. You can also
> have a philosophical discussion about whether points and vectors should
> be the same structures or incompatible structures.
> But a simple standardisation would mean the end of pointless editing of
> code just to conform to whatever the host program has chosen.

Fwiw, I am very fond of the following header only library:

https://github.com/g-truc/glm

Works great and makes it rather straightforward to port to GLSL shaders.
I basically use it everyday for stuff like:

https://youtu.be/KRkKZj9s3wk

Re: “We are doomed”

<uogjjc$3mmvp$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3071&group=comp.lang.c%2B%2B#3071

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: malcolm.arthur.mclean@gmail.com (Malcolm McLean)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Sat, 20 Jan 2024 13:59:08 +0000
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <uogjjc$3mmvp$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<20240119103450.676@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 20 Jan 2024 13:59:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="11760bd3b7aeccc193d8e59b055fcf05";
logging-data="3890169"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18UJbVlCQbbXa+6hKi6ZMdgec0TIwcHi6U="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:qODK8u2e5l4DWRAiq0FGCw/axnI=
In-Reply-To: <20240119103450.676@kylheku.com>
Content-Language: en-GB
 by: Malcolm McLean - Sat, 20 Jan 2024 13:59 UTC

On 19/01/2024 18:35, Kaz Kylheku wrote:
> On 2024-01-19, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>> One problem that could be very easily fixed is that there is no standard
>> representation of a point or a vector. Whilst generally it's just a POD
>> structure with x and y members, the name varies, and sometimes the
>
> For code working with 2D vectors, designers should consider complex numbers.
>
That's a nice idea.

But I've never seen code where the horizontal axis is "real" and the
vertical "imaginary", except of course in code designed to demonstrate
complex numbers as such. Mandelbrot is my favourite test program when
getting a new system.

--
Check out Basic Algorithms and my other books:
https://www.lulu.com/spotlight/bgy1mm

Re: “We are doomed”

<uoh6i7$3q0eh$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3072&group=comp.lang.c%2B%2B#3072

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Sat, 20 Jan 2024 11:22:47 -0800
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <uoh6i7$3q0eh$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<20240119103450.676@kylheku.com> <uogjjc$3mmvp$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 20 Jan 2024 19:22:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="9f59f002e03eff1e5bb7b9112097a050";
logging-data="3998161"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/A6VeCsznbz5ydnCHS8gQDGO/SAA+lkvE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:oIl9DOTv1R88iDQ7dvtVjS+oam0=
In-Reply-To: <uogjjc$3mmvp$1@dont-email.me>
Content-Language: en-US
 by: Chris M. Thomasson - Sat, 20 Jan 2024 19:22 UTC

On 1/20/2024 5:59 AM, Malcolm McLean wrote:
> On 19/01/2024 18:35, Kaz Kylheku wrote:
>> On 2024-01-19, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>>> One problem that could be very easily fixed is that there is no standard
>>> representation of a point or a vector. Whilst generally it's just a POD
>>> structure with x and y members, the name varies, and sometimes the
>>
>> For code working with 2D vectors, designers should consider complex
>> numbers.
>>
> That's a nice idea.
>
> But I've never seen code where the horizontal axis is "real" and the
> vertical "imaginary", except of course in code designed to demonstrate
> complex numbers as such. Mandelbrot is my favourite test program when
> getting a new system.
>

Same here! :^D

Re: “We are doomed”

<20240120134252.222@kylheku.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3074&group=comp.lang.c%2B%2B#3074

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: 433-929-6894@kylheku.com (Kaz Kylheku)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Sun, 21 Jan 2024 04:06:17 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <20240120134252.222@kylheku.com>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<20240119103450.676@kylheku.com> <uogjjc$3mmvp$1@dont-email.me>
Injection-Date: Sun, 21 Jan 2024 04:06:17 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="33c09ed4842a7f81f4877f94e0219235";
logging-data="69033"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ahoax9v0bDn67K83yUPR2Nainv2vtlQs="
User-Agent: slrn/pre1.0.4-9 (Linux)
Cancel-Lock: sha1:N/Vx/BpF1n4kOotRNsz7IuLPGak=
 by: Kaz Kylheku - Sun, 21 Jan 2024 04:06 UTC

On 2024-01-20, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
> On 19/01/2024 18:35, Kaz Kylheku wrote:
>> On 2024-01-19, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>>> One problem that could be very easily fixed is that there is no standard
>>> representation of a point or a vector. Whilst generally it's just a POD
>>> structure with x and y members, the name varies, and sometimes the
>>
>> For code working with 2D vectors, designers should consider complex numbers.
>>
> That's a nice idea.
>
> But I've never seen code where the horizontal axis is "real" and the
> vertical "imaginary", except of course in code designed to demonstrate
> complex numbers as such. Mandelbrot is my favourite test program when
> getting a new system.

Complex numbers are used for expressing mappings that have geometric
interpretations.

In 2D computer graphics, they are convenient. E.g. to rotate
a vector that is a complex number z = a + ib, you just multiply by
a complex number that is on the unit circle representing that
angle cos(theta) + i sin(theta) .

The multiplication math is exactly the same as

[ cos -sin ] [ a ]
[ sin cos ] [ b ]

Because when you multiply two complex nubmers (c + id)(a + ib),
the FOIL rule produces

ca + icb + ida + iidb

= (ca - db) + i(cb + da).

And that's just

[ c -d ] [ a ] = [ ca - db ]
[ d c ] [ b ] = [ da + cb ]

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca
NOTE: If you use Google Groups, I don't see you, unless you're whitelisted.

Re: “We are doomed”

<uokcf9$dq2p$4@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3077&group=comp.lang.c%2B%2B#3077

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: news@immibis.com (immibis)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 01:22:00 +0100
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <uokcf9$dq2p$4@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 22 Jan 2024 00:22:01 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6b634ff39bdfe32e58779949c4646233";
logging-data="452697"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+34voyTm+WPnnW484YhlcD"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:pOSRaQdcefW1K0v33nsOQIRCK8Q=
In-Reply-To: <uoeebu$387sh$2@dont-email.me>
Content-Language: en-US
 by: immibis - Mon, 22 Jan 2024 00:22 UTC

On 1/19/24 19:17, Malcolm McLean wrote:
> One problem that could be very easily fixed is that there is no standard
> representation of a point or a vector. Whilst generally it's just a POD
> structure with x and y members, the name varies, and sometimes the
> dimensions are referred to by index instead of by letter. You can also
> have a philosophical discussion about whether points and vectors should
> be the same structures or incompatible structures.
> But a simple standardisation would mean the end of pointless editing of
> code just to conform to whatever the host program has chosen.

And what should be the data type of the coefficients of the vector? And
what should? Why not also have matrices? What is the maximum dimension
supported? Are homogeneous coordinates a built-in feature? No, leave the
graphics stuff to a graphics team.

Re: “We are doomed”

<uoliqq$n00a$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3078&group=comp.lang.c%2B%2B#3078

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: malcolm.arthur.mclean@gmail.com (Malcolm McLean)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 11:16:41 +0000
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <uoliqq$n00a$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<uokcf9$dq2p$4@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 22 Jan 2024 11:16:42 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="e6bb492280758c2bd2c6011639f214f0";
logging-data="753674"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19wfqScA6Bn3On6HsCQcWSNk3TA1OOKS5w="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:rIl3VFdZ2Na/3ytq4f1JR0JBwv4=
In-Reply-To: <uokcf9$dq2p$4@dont-email.me>
Content-Language: en-GB
 by: Malcolm McLean - Mon, 22 Jan 2024 11:16 UTC

On 22/01/2024 00:22, immibis wrote:
> On 1/19/24 19:17, Malcolm McLean wrote:
>> One problem that could be very easily fixed is that there is no
>> standard representation of a point or a vector. Whilst generally it's
>> just a POD structure with x and y members, the name varies, and
>> sometimes the dimensions are referred to by index instead of by
>> letter. You can also have a philosophical discussion about whether
>> points and vectors should be the same structures or incompatible
>> structures.
>> But a simple standardisation would mean the end of pointless editing
>> of code just to conform to whatever the host program has chosen.
>
> And what should be the data type of the coefficients of the vector? And
> what should? Why not also have matrices? What is the maximum dimension
> supported? Are homogeneous coordinates a built-in feature? No, leave the
> graphics stuff to a graphics team.
It should take a template, so any type can be used for the coefficients.
Unless you have some weird and wonderful ideas, it will of course be
scalar.
I'd recommend a 2D with x and y and a 3D with x, y and z. Humanity is
not going to be elevated to a higher dimension any time soon. No
homogenous co-ordinates. No angle / magnitude notation. No need for
matrices because we already have a natural representation of the these,
since C++ supports 2 dimensional fixed size array.
Needing to store points in 2D or 3D space is a common requirement, and
code needs to communicate with other modules. One of which will be the
graphics system, which may well have requirements beyond simple points
in space, but will include such a requirement.
--
Check out Basic Algorithms and my other books:
https://www.lulu.com/spotlight/bgy1mm

Re: “We are doomed”

<uolj5h$n00a$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3079&group=comp.lang.c%2B%2B#3079

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: malcolm.arthur.mclean@gmail.com (Malcolm McLean)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 11:22:25 +0000
Organization: A noiseless patient Spider
Lines: 53
Message-ID: <uolj5h$n00a$2@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<20240119103450.676@kylheku.com> <uogjjc$3mmvp$1@dont-email.me>
<20240120134252.222@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 22 Jan 2024 11:22:25 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="e6bb492280758c2bd2c6011639f214f0";
logging-data="753674"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19cb0M8Z6vz5Bt8Wuzt7w7HT+gw1hR0gcE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:g2JR3cZ96lF9vugQaUrhvBpgWoI=
Content-Language: en-GB
In-Reply-To: <20240120134252.222@kylheku.com>
 by: Malcolm McLean - Mon, 22 Jan 2024 11:22 UTC

On 21/01/2024 04:06, Kaz Kylheku wrote:
> On 2024-01-20, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>> On 19/01/2024 18:35, Kaz Kylheku wrote:
>>> On 2024-01-19, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>>>> One problem that could be very easily fixed is that there is no standard
>>>> representation of a point or a vector. Whilst generally it's just a POD
>>>> structure with x and y members, the name varies, and sometimes the
>>>
>>> For code working with 2D vectors, designers should consider complex numbers.
>>>
>> That's a nice idea.
>>
>> But I've never seen code where the horizontal axis is "real" and the
>> vertical "imaginary", except of course in code designed to demonstrate
>> complex numbers as such. Mandelbrot is my favourite test program when
>> getting a new system.
>
> Complex numbers are used for expressing mappings that have geometric
> interpretations.
>
> In 2D computer graphics, they are convenient. E.g. to rotate
> a vector that is a complex number z = a + ib, you just multiply by
> a complex number that is on the unit circle representing that
> angle cos(theta) + i sin(theta) .
>
> The multiplication math is exactly the same as
>
> [ cos -sin ] [ a ]
> [ sin cos ] [ b ]
>
> Because when you multiply two complex nubmers (c + id)(a + ib),
> the FOIL rule produces
>
> ca + icb + ida + iidb
>
> = (ca - db) + i(cb + da).
>
> And that's just
>
> [ c -d ] [ a ] = [ ca - db ]
> [ d c ] [ b ] = [ da + cb ]
>
Yes I know. I did complex numbers at high school.

But whilst you could use the Argand plane as your graphics surface and
thus represent all points as complex numbers, I've never actually seen
anyone do so, and the axes are always given different labels. Except of
course in Mandelbrots or other programs concerned with complex numbers
themselves.
--
Check out Basic Algorithms and my other books:
https://www.lulu.com/spotlight/bgy1mm

Re: “We are doomed”

<uoljsm$n1vb$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3080&group=comp.lang.c%2B%2B#3080

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: F.Zwarts@HetNet.nl (Fred. Zwarts)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 12:34:46 +0100
Organization: A noiseless patient Spider
Lines: 38
Message-ID: <uoljsm$n1vb$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<uokcf9$dq2p$4@dont-email.me> <uoliqq$n00a$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 22 Jan 2024 11:34:46 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="cf46bd3e6ae1a66ca5d36623d5a2c427";
logging-data="755691"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19i780fGL+6TDzY+dbFrl+J"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:FR7lpDt3zJQchuo/8GBf9ufVbw8=
In-Reply-To: <uoliqq$n00a$1@dont-email.me>
Content-Language: en-GB
 by: Fred. Zwarts - Mon, 22 Jan 2024 11:34 UTC

Op 22.jan.2024 om 12:16 schreef Malcolm McLean:
> On 22/01/2024 00:22, immibis wrote:
>> On 1/19/24 19:17, Malcolm McLean wrote:
>>> One problem that could be very easily fixed is that there is no
>>> standard representation of a point or a vector. Whilst generally it's
>>> just a POD structure with x and y members, the name varies, and
>>> sometimes the dimensions are referred to by index instead of by
>>> letter. You can also have a philosophical discussion about whether
>>> points and vectors should be the same structures or incompatible
>>> structures.
>>> But a simple standardisation would mean the end of pointless editing
>>> of code just to conform to whatever the host program has chosen.
>>
>> And what should be the data type of the coefficients of the vector?
>> And what should? Why not also have matrices? What is the maximum
>> dimension supported? Are homogeneous coordinates a built-in feature?
>> No, leave the graphics stuff to a graphics team.
> It should take a template, so any type can be used for the coefficients.
> Unless you have some weird and wonderful ideas, it will of course be
> scalar.
> I'd recommend a 2D with x and y and a 3D with x, y and z. Humanity is
> not going to be elevated to a higher dimension any time soon. No
> homogenous co-ordinates. No angle / magnitude notation. No need for
> matrices because we already have a natural representation of the these,
> since C++ supports 2 dimensional fixed size array.
> Needing to store points in 2D or 3D space is a common requirement, and
> code needs to communicate with other modules. One of which will be the
> graphics system, which may well have requirements beyond simple points
> in space, but will include such a requirement.

According to Einstein, humanity lives already in a four dimensional
space; time is the fourth dimension.
There are many problems in physics and other fields with even more than
4 dimensions, so it would be short-sighted to limit the library to 3
dimensions.
In addition one could ask how far the standard library must go. What
operations must be supported? Calculate the length of a vector, allowing
non-Euclidian spaces?

Re: “We are doomed”

<uoln7t$nke1$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3081&group=comp.lang.c%2B%2B#3081

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: malcolm.arthur.mclean@gmail.com (Malcolm McLean)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 12:31:57 +0000
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <uoln7t$nke1$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<uokcf9$dq2p$4@dont-email.me> <uoliqq$n00a$1@dont-email.me>
<uoljsm$n1vb$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 22 Jan 2024 12:31:57 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="e6bb492280758c2bd2c6011639f214f0";
logging-data="774593"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18OiDT3y777I3KiDhyarV9Do/XTU1OzmSU="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:QvRTZ33UEtejBEhd0aeX/FKp8hY=
In-Reply-To: <uoljsm$n1vb$1@dont-email.me>
Content-Language: en-GB
 by: Malcolm McLean - Mon, 22 Jan 2024 12:31 UTC

On 22/01/2024 11:34, Fred. Zwarts wrote:
> Op 22.jan.2024 om 12:16 schreef Malcolm McLean:
>> On 22/01/2024 00:22, immibis wrote:
>>> On 1/19/24 19:17, Malcolm McLean wrote:
>>>> One problem that could be very easily fixed is that there is no
>>>> standard representation of a point or a vector. Whilst generally
>>>> it's just a POD structure with x and y members, the name varies, and
>>>> sometimes the dimensions are referred to by index instead of by
>>>> letter. You can also have a philosophical discussion about whether
>>>> points and vectors should be the same structures or incompatible
>>>> structures.
>>>> But a simple standardisation would mean the end of pointless editing
>>>> of code just to conform to whatever the host program has chosen.
>>>
>>> And what should be the data type of the coefficients of the vector?
>>> And what should? Why not also have matrices? What is the maximum
>>> dimension supported? Are homogeneous coordinates a built-in feature?
>>> No, leave the graphics stuff to a graphics team.
>> It should take a template, so any type can be used for the
>> coefficients. Unless you have some weird and wonderful ideas, it will
>> of course be scalar.
>> I'd recommend a 2D with x and y and a 3D with x, y and z. Humanity is
>> not going to be elevated to a higher dimension any time soon. No
>> homogenous co-ordinates. No angle / magnitude notation. No need for
>> matrices because we already have a natural representation of the
>> these, since C++ supports 2 dimensional fixed size array.
>> Needing to store points in 2D or 3D space is a common requirement, and
>> code needs to communicate with other modules. One of which will be the
>> graphics system, which may well have requirements beyond simple points
>> in space, but will include such a requirement.
>
> According to Einstein, humanity lives already in a four dimensional
> space; time is the fourth dimension.
> There are many problems in physics and other fields with even more than
> 4 dimensions, so it would be short-sighted to limit the library to 3
> dimensions.
> In addition one could ask how far the standard library must go. What
> operations must be supported? Calculate the length of a vector, allowing
> non-Euclidian spaces?
No-one is saying that you can't devise your own structures if you want
to write programs to solve problems in general relativity. The idea is
to have a common standard for the common requirement to represent pints
and vectors in 2d and 3d spaces, so that routines writen in C++ can
communicate with each other without the need for adapter code or rewriting.
However having decided on a representation for points, there is also a
very strong case for a standard library for basic operations on those
points, such as taking the length of a vector. However probably not
non-Euclidian spaces. Again, some people will want to write software
that operates in Hilbert space or other non-Euclidean space, but it's
likely to be specialised, and so you can't expect much support from the
standard library.
--
Check out Basic Algorithms and my other books:
https://www.lulu.com/spotlight/bgy1mm

Re: “We are doomed”

<uomiqd$sk2b$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3082&group=comp.lang.c%2B%2B#3082

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 12:22:35 -0800
Organization: A noiseless patient Spider
Lines: 63
Message-ID: <uomiqd$sk2b$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<20240119103450.676@kylheku.com> <uogjjc$3mmvp$1@dont-email.me>
<20240120134252.222@kylheku.com> <uolj5h$n00a$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 22 Jan 2024 20:22:37 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f5efac9e35c211335209a589d0078cec";
logging-data="938059"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18IsG4kVRUEsJC2XFvmQzZXQAjRUDEz9b4="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:KO+09bPcWk7an+dNfxv0z/wAkkE=
In-Reply-To: <uolj5h$n00a$2@dont-email.me>
Content-Language: en-US
 by: Chris M. Thomasson - Mon, 22 Jan 2024 20:22 UTC

On 1/22/2024 3:22 AM, Malcolm McLean wrote:
> On 21/01/2024 04:06, Kaz Kylheku wrote:
>> On 2024-01-20, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>>> On 19/01/2024 18:35, Kaz Kylheku wrote:
>>>> On 2024-01-19, Malcolm McLean <malcolm.arthur.mclean@gmail.com> wrote:
>>>>> One problem that could be very easily fixed is that there is no
>>>>> standard
>>>>> representation of a point or a vector. Whilst generally it's just a
>>>>> POD
>>>>> structure with x and y members, the name varies, and sometimes the
>>>>
>>>> For code working with 2D vectors, designers should consider complex
>>>> numbers.
>>>>
>>> That's a nice idea.
>>>
>>> But I've never seen code where the horizontal axis is "real" and the
>>> vertical "imaginary", except of course in code designed to demonstrate
>>> complex numbers as such. Mandelbrot is my favourite test program when
>>> getting a new system.
>>
>> Complex numbers are used for expressing mappings that have geometric
>> interpretations.
>>
>> In 2D computer graphics, they are convenient. E.g. to rotate
>> a vector that is a complex number z = a + ib, you just multiply by
>> a complex number that is on the unit circle representing that
>> angle   cos(theta) + i sin(theta) .
>>
>> The multiplication math is exactly the same as
>>
>>    [ cos -sin ] [ a ]
>>    [ sin  cos ] [ b ]
>>
>> Because when you multiply two complex nubmers (c + id)(a + ib),
>> the FOIL rule produces
>>
>>     ca + icb + ida + iidb
>>    = (ca - db) + i(cb + da).
>>
>> And that's just
>>
>>    [ c  -d ] [ a ]  =  [ ca - db ]
>>    [ d   c ] [ b ]  =  [ da + cb ]
>>
> Yes I know. I did complex numbers at high school.
>
> But whilst you could use the Argand plane as your graphics surface and
> thus represent all points as complex numbers, I've never actually seen
> anyone do so, and the axes are always given different labels. Except of
> course in Mandelbrots or other programs concerned with complex numbers
> themselves.

Usually a vector, say 2-ary (x, y), x is the horizontal axis and y is
the vertical axis. This matches a complex number x + yi:

+y
|
-x--0--+x
|
-y

x is real, y is imaginary. :^)

Re: “We are doomed”

<uomitb$sk2b$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3083&group=comp.lang.c%2B%2B#3083

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Mon, 22 Jan 2024 12:24:09 -0800
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <uomitb$sk2b$2@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<uokcf9$dq2p$4@dont-email.me> <uoliqq$n00a$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 22 Jan 2024 20:24:11 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f5efac9e35c211335209a589d0078cec";
logging-data="938059"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+yZvwhD+ufH63VF3nV6+tPTiA6s5P75gI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Xn7yyYGZBzKLZJVm4XjFvmRQu78=
Content-Language: en-US
In-Reply-To: <uoliqq$n00a$1@dont-email.me>
 by: Chris M. Thomasson - Mon, 22 Jan 2024 20:24 UTC

On 1/22/2024 3:16 AM, Malcolm McLean wrote:
> On 22/01/2024 00:22, immibis wrote:
>> On 1/19/24 19:17, Malcolm McLean wrote:
>>> One problem that could be very easily fixed is that there is no
>>> standard representation of a point or a vector. Whilst generally it's
>>> just a POD structure with x and y members, the name varies, and
>>> sometimes the dimensions are referred to by index instead of by
>>> letter. You can also have a philosophical discussion about whether
>>> points and vectors should be the same structures or incompatible
>>> structures.
>>> But a simple standardisation would mean the end of pointless editing
>>> of code just to conform to whatever the host program has chosen.
>>
>> And what should be the data type of the coefficients of the vector?
>> And what should? Why not also have matrices? What is the maximum
>> dimension supported? Are homogeneous coordinates a built-in feature?
>> No, leave the graphics stuff to a graphics team.
> It should take a template, so any type can be used for the coefficients.
> Unless you have some weird and wonderful ideas, it will of course be
> scalar.
> I'd recommend a 2D with x and y and a 3D with x, y and z. Humanity is
> not going to be elevated to a higher dimension any time soon. No
> homogenous co-ordinates. No angle / magnitude notation. No need for
> matrices because we already have a natural representation of the these,
> since C++ supports 2 dimensional fixed size array.
> Needing to store points in 2D or 3D space is a common requirement, and
> code needs to communicate with other modules. One of which will be the
> graphics system, which may well have requirements beyond simple points
> in space, but will include such a requirement.

And 4-ary with (x, y, z, w)

Again I am quite fond of the GLM library. It's just nice to me.

Re: “We are doomed”

<upc3ig$171hu$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=3107&group=comp.lang.c%2B%2B#3107

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: NoliMihiFrangereMentulam@libero.it (MarioCCCP)
Newsgroups: comp.lang.c++
Subject: Re: “We are doomed”
Date: Wed, 31 Jan 2024 01:17:20 +0100
Organization: A noiseless patient Spider
Lines: 67
Message-ID: <upc3ig$171hu$1@dont-email.me>
References: <uo6ufu$1kle9$1@dont-email.me> <uoeebu$387sh$2@dont-email.me>
<uokcf9$dq2p$4@dont-email.me> <uoliqq$n00a$1@dont-email.me>
Reply-To: MarioCCCP@CCCP.MIR
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 31 Jan 2024 00:17:20 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="3baefdc10d88e60bd0bcfde623ff16b4";
logging-data="1279550"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ZerOihVs9d4tPBm/V7Paj"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:opZUYLUIoAQZ1KG2u2O/tLK0ZZk=
Content-Language: en-GB, it-IT
In-Reply-To: <uoliqq$n00a$1@dont-email.me>
 by: MarioCCCP - Wed, 31 Jan 2024 00:17 UTC

On 22/01/24 12:16, Malcolm McLean wrote:
> On 22/01/2024 00:22, immibis wrote:
>> On 1/19/24 19:17, Malcolm McLean wrote:
>>> One problem that could be very easily fixed is that there
>>> is no standard representation of a point or a vector.
>>> Whilst generally it's just a POD structure with x and y
>>> members, the name varies, and sometimes the dimensions
>>> are referred to by index instead of by letter. You can
>>> also have a philosophical discussion about whether points
>>> and vectors should be the same structures or incompatible
>>> structures.
>>> But a simple standardisation would mean the end of
>>> pointless editing of code just to conform to whatever the
>>> host program has chosen.
>>
>> And what should be the data type of the coefficients of
>> the vector? And what should? Why not also have matrices?
>> What is the maximum dimension supported? Are homogeneous
>> coordinates a built-in feature? No, leave the graphics
>> stuff to a graphics team.
> It should take a template, so any type can be used for the
> coefficients. Unless you have some weird and wonderful
> ideas, it will of course be scalar.
> I'd recommend a 2D with x and y and a 3D with x, y and z.
> Humanity is not going to be elevated to a higher dimension
> any time soon. No homogenous co-ordinates. No angle /
> magnitude notation. No need for matrices because we already
> have a natural representation of the these, since C++
> supports 2 dimensional fixed size array.
> Needing to store points in 2D or 3D space is a common
> requirement, and code needs to communicate with other
> modules. One of which will be the graphics system, which may
> well have requirements beyond simple points in space, but
> will include such a requirement.

Looking at the variety of image formats, I tend to think
that the coordinate system and RAM representation is still
the least of the problems, and that colour space
representation (bits depths, order, endianness, transparency
support) could be even worse.
Also, at some point, every library has to interact with the
OS to load/unload images into the display driver, which is
at best posix-copliant, but still depends a lot on the OS
internals.

Graphics that wont' show up on screen is not very appealing
or useful.
Here a lot of graphic SW had to be rewritten migrating from
X to Wayland.

So RAM representation is really the least hard part. The
worse is how to load/save a variety of formats to/from disk,
and how to display the results on screen. How to move large
block of pixels avoinding flickering, etc

Since external libraries handle all this, it's not that
difficult to have also its own RAM representation of pixels,
vectors and geometry.
I think that creating a standard for this won't solve the
other main problems.

--
1) Resistere, resistere, resistere.
2) Se tutti pagano le tasse, le tasse le pagano tutti
MarioCPPP

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor