POV-Ray : Newsgroups : povray.advanced-users : Infinite poly-torus : Re: Infinite poly-torus Server Time26 Feb 2024 07:10:42 EST (-0500)
 Re: Infinite poly-torus
 From: Bald Eagle Date: 1 Mar 2021 14:00:00 Message:
```
{
"@context": "https://schema.org",
"@type": "DiscussionForumPosting",
"@id": "#web.603d39589aa36b281f9dae300%40news.povray.org",
"dateCreated": "2021-03-01T19:00:00+00:00",
"datePublished": "2021-03-01T19:00:00+00:00",
"author": {
"@type": "Person",
"name": "Bald Eagle"
}
}
Le_Forgeron <jgr### [at] freefr> wrote:
> Le 28/02/2021 à 14:01, Bald Eagle a écrit :
> > we
> > really don't have any native grid pigment patterns in POV-Ray, which is odd.
>
> There is the pavement pattern, or did I misunderstand the request ?

Nope - you just caught me sleeping.
"gradient" is a simple pattern, and I would have expected an earlier
implementation of a simple grid

The pavement patterns that you coded are - complex and bewildering in their
ultra-complex pavement tilings and a simple set of perpendicular lines.

Thanks.  :)

With regard to the torus shape, I'm maybe halfway to simply getting alternating
centerpoints for the tori.

As Mike Williams has very helpfully provided:

"It's possible to use a single isosurface to produce multiple copies of a shape
by using the mod operator in a substitution.
Using mod(x,2) will cause the shape to be repeated in the x direction every 2
units. If your original isosurface created a shape centered at the origin, then
there's a problem with the way that it chooses which bits to repeat. The left
half of the object gets repeated in one direction and the right half of the
object gets repeated in the other direction. To fix this, we'd like to
substitute mod(x,2)+1 where x is negative and mod(x,2)-1 where x is positive. To
fix both directions at once, for a symmetrical object, we can use abs(x) like
this mod(abs(x),2)-1.

To change the length of the repeat unit we can do this mod(abs(x),Step)-Step/2"

But what I (think I) need is one column at one step, and the next column at
Step+Step/2, then Step, Step+Step/2, etc....
```