On 8/20/2024 12:35 PM, Chris M. Thomasson wrote:
On 8/19/2024 1:55 PM, FromTheRafters wrote:
Chris M. Thomasson formulated the question :
On 8/18/2024 2:15 PM, Ross Finlayson wrote:
On 08/18/2024 11:52 AM, Chris M. Thomasson wrote:
On 8/18/2024 1:16 AM, joes wrote:
Am Sat, 17 Aug 2024 13:39:52 +0000 schrieb WM:
Le 16/08/2024 à 20:11, joes a écrit :
Am Fri, 16 Aug 2024 17:00:26 +0000 schrieb WM:
Le 16/08/2024 à 18:50, joes a écrit :
Am Fri, 16 Aug 2024 16:19:17 +0000 schrieb WM:
>
Taking steps only until the next unit fraction, you never reach 0.
Start from x = 0. The increase cannot be more than 1.
No, you were counting down from 1.
There we see that counting down to 0 requires dark numbers.
Counting down from infinity is not possible. Your "dark" numbers
are a nonstandard extension.
>
>
Yup. Counting down from infinity is moronic. No wonder why WM assumes
there is a place to start counting from, aka finite...
>
Hey, it was Cantor's idea first, ....
>
>
>
Do you even now how to make a Cantor Set Fractal?
>
Isn't there enough division in here already? :D
Good one! ;^D
Say, thirds, aka 1 / 3...
https://ibb.co/ZK99d9xJust typed this out to see if I could do one from scratch! lol. Great fun.
____________________
namespace ct_cantor_play
{
void
iterate_0(
ct::plot::cairo::plot_2d& scene,
unsigned long ri,
unsigned long rn,
glm::vec2 p0,
glm::vec2 p1
) {
if (ri > rn) return;
float ri_normal = ri / (float)rn;
glm::vec2 pdif = p1 - p0;
glm::vec2 pperp = { -pdif.y, pdif.x };
float pscale = 1.f / 3.f;
float gscale = 1.f / 6.f;
scene.line(p0, p1, CT_RGBF(1 - ri_normal, ri_normal, 1), 5);
glm::vec2 c0 = p0;
glm::vec2 c1 = p0 + pdif * pscale;
glm::vec2 c2 = p1 - pdif * pscale;
glm::vec2 c3 = p1;
glm::vec2 b0 = c0 + pperp * ri_normal;
glm::vec2 b1 = c1 + pperp * ri_normal;
glm::vec2 b2 = c2 + pperp * ri_normal;
glm::vec2 b3 = c3 + pperp * ri_normal;
{
iterate_0(scene, ri + 1, rn, b0, b1);
iterate_0(scene, ri + 1, rn, b2, b3);
}
}
void
manifest(
ct::plot::cairo::plot_2d& scene
) {
std::cout << "ct_cantor_play::manifest()\n\n";
{
{
//iterate_0(scene, 0, 5, { -1, 0 }, { 1, 0 });
}
{
iterate_0(scene, 0, 5, { -1, 0 }, { 1, 0 });
iterate_0(scene, 0, 5, { 1, 0 }, { 0, 1 });
iterate_0(scene, 0, 5, { 0, 1 }, { -1, 0 });
}
{
iterate_0(scene, 0, 5, { 1, 0 }, { -1, 0 });
iterate_0(scene, 0, 5, { 0, 1 }, { 1, 0 });
iterate_0(scene, 0, 5, { -1, 0 }, { 0, 1 });
}
}
}
}
____________________