![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Here is a city made entirely out of an isosurface based on the cells
pigment. I had presented the problem that in step functions, isosurfaces
tend to give diffuse==0 on the edges of the steps. When I stumbled
across the web page of Makoto Mukui
(http://www.cs-w.com/~earth/material/isopattern.htm), I found that he
solved the problem elegantly simply with use of the max_gradient.
(PeteC had shared with us some pretty cool code for making this out of
randomly placed boxes of triangles, but I find the looks of this
isosurface more appealing.)
Now to texture to look like actual buildings, al'a Batman Beyond...
#declare F = function { pigment { cells color_map { Map } scale 1/4 }}
isosurface{
function { (y-F-1) }
contained_by{ box { -120, 120 } }
max_gradient 50
accuracy 1/100
scale 2
pigment { rgb <0.7,0.7,0.9>*0.8 }
}
Post a reply to this message
Attachments:
Download 'cellcity.jpg' (35 KB)
Preview of image 'cellcity.jpg'
![cellcity.jpg](/povray.binaries.images/attachment/%3C3A084CA6.BFDE9405%40my-dejanews.com%3E/cellcity.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Greg M. Johnson" wrote:
>
> Here is a city made entirely out of an isosurface based on the cells
> pigment. I had presented the problem that in step functions, isosurfaces
> tend to give diffuse==0 on the edges of the steps. When I stumbled
> across the web page of Makoto Mukui
> (http://www.cs-w.com/~earth/material/isopattern.htm), I found that he
> solved the problem elegantly simply with use of the max_gradient.
> (PeteC had shared with us some pretty cool code for making this out of
> randomly placed boxes of triangles, but I find the looks of this
> isosurface more appealing.)
>
It looks quite good, but there are still a lot of typical errors (what you call
diffuse==0 is only one thing) like stair effects and thin lines.
IMO similar shapes are also possible with smooth functions, of course not that
simple. I posted a regular grid of cubes some time ago:
Subject: Re: tiling to infinity in 3d (~66K)
Date: Thu, 05 Oct 2000 10:28:04
Christoph
--
Christoph Hormann <chr### [at] gmx de>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christoph Hormann wrote:
> It looks quite good, but there are still a lot of typical errors (what you call
> diffuse==0 is only one thing) like stair effects and thin lines.
>
> IMO similar shapes are also possible with smooth functions, of course not that
> simple. I posted a regular grid of cubes some time ago:
Did you release that code? It would be neat to have a smooth iso/ triangle
solution that looks just like this. PeterC was nice to show me code that could
make something similar, but even after I tinkered with it, it still did not have
this wonderful structured, city-like feel to it. This structure is more than
simply boxes of random heights translated to random y values. Maybe the problem is
that I don't understand the math here as much as I think I do.....
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Greg M. Johnson" wrote:
>
> Did you release that code? It would be neat to have a smooth iso/ triangle
> solution that looks just like this. PeterC was nice to show me code that could
> make something similar, but even after I tinkered with it, it still did not have
> this wonderful structured, city-like feel to it. This structure is more than
> simply boxes of random heights translated to random y values. Maybe the problem is
> that I don't understand the math here as much as I think I do.....
The function was displayed in the picture, it was:
function { (sin(x*3-1)-0.2) & (sin(y*3+2)-0.2) & (sin(z*3-1)-0.2) }
but it was just a regular grid, so it would take quite a lot of work to change
it into something like your pict.
I had a look at the 'cells' pattern source code and found it would not be very
difficult to "smooth" it for better use in isosurface functions. Of course the
result would differ from your picture.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Interesting render.
It seems to have some artifact that makes the boxes look bevelled.
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |