POV-Ray : Newsgroups : povray.binaries.images : Gancaloon - urbanism wip Server Time
30 Jul 2024 20:24:59 EDT (-0400)
  Gancaloon - urbanism wip (Message 9 to 18 of 28)  
<<< Previous 8 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Christian Froeschlin
Subject: Re: Gancaloon - urbanism wip
Date: 2 Aug 2011 08:22:28
Message: <4e37ec04$1@news.povray.org>
Bill Pragnell wrote:

> Also, I quite like the surreal nature of your placeholder axes and grids
> combined with what is shaping up to be a high-detail cityscape.

Sort of like a holo-suite malfunction ;)


Post a reply to this message

From: Thomas de Groot
Subject: Re: Gancaloon - urbanism wip
Date: 3 Aug 2011 08:03:40
Message: <4e39391c$1@news.povray.org>
On 2-8-2011 0:29, Christian Froeschlin wrote:
> Instead of averaging with the cell pattern you could multiply the
> cell function value with coarsely sampled evaluations of the original
> height_field image. That would give "city blocks" of constant height
> appropriate for local average terrain. It will introduce steps on
> roofs that fall on a cell boundary but maybe it looks like an
> intended structure ;)
>

Well, this is not as simple as it seems, or I am doing something wrong 
(probably).

I wrote a simple test code which I think explains things. Just insert it 
in a basic scene:

//Start code
#declare HF_pig =
pigment {
   image_map {
    png "plasma3.png"
   }
   rotate -90*x
}

#declare F_cells =
function {
   pigment {
     cells
     color_map {
       [0.1 rgb 0.4]
       [0.9 rgb 0.6]
     }
     //warp {turbulence <0.1, 0, 0.1>}
     scale 0.03
   }
}

#declare F_HF_00 =
function {
   pigment {
     image_map {
       png "plasma3.png" gamma 1.0
       map_type 0
       interpolate 2
     }
   }
}

#declare F_flatroof =
function {
     F_cells(x,y,z).hf
   * F_HF_00 (x,y,z).hf
}

#declare hf_cut =
intersection {
height_field {
   function 500, 500 {F_flatroof(x,y,z)}
   smooth
   translate <-0.5, 0, -0.5>
   scale <10, 1, 10>
}
   box {
     <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
     scale <10, 1, 10> * <0.99, 20, 0.99>
   }
   translate 1.0*y
}

intersection {
   object {hf_cut}
   box {
     <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
     scale <3, 10, 5>
     rotate 45*y
   }
   pigment {rgbt <1,1,0,0.1>}
}

//----------------------------------------------------------
intersection {
height_field {
   function 1000, 1000 {F_HF_00(x,y,z).hf}
   smooth
   pigment {HF_pig}
   translate <-0.5, 0.0, -0.5>
   scale <10, 1, 10>
}
   box {
     <-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
     scale <10, 1, 10> * <0.99, 10, 0.99>
   }
}
//End code

Thomas


Post a reply to this message

From: Christian Froeschlin
Subject: Re: Gancaloon - urbanism wip
Date: 3 Aug 2011 17:06:25
Message: <4e39b851$1@news.povray.org>
Thomas de Groot wrote:

> Well, this is not as simple as it seems, or I am doing something wrong 
> (probably).

the subsampling of the height field needs to be done by rounding
the input coordinates

#declare cell_size = 0.03;

#declare F_flatroof = function {
  F_HF_00(int(x/cell_size)*cell_size,
          int(y/cell_size)*cell_size,
          int(z/cell_size)*cell_size).hf
}

and the thing about multiplying with the cell pattern was
just me not thinking clearly ;) Although it might be useful
to add a smaller scale cell pattern with low weight so that
not all houses within a block have exactly the same height.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Gancaloon - urbanism wip
Date: 4 Aug 2011 03:46:25
Message: <4e3a4e51$1@news.povray.org>
On 3-8-2011 23:06, Christian Froeschlin wrote:
> the subsampling of the height field needs to be done by rounding
> the input coordinates
>
> #declare cell_size = 0.03;
>
> #declare F_flatroof = function {
> F_HF_00(int(x/cell_size)*cell_size,
> int(y/cell_size)*cell_size,
> int(z/cell_size)*cell_size).hf
> }
>
> and the thing about multiplying with the cell pattern was
> just me not thinking clearly ;) Although it might be useful
> to add a smaller scale cell pattern with low weight so that
> not all houses within a block have exactly the same height.

Happily, I am learning every day :-) This is a neat little trick, 
Christian! Thank you very much indeed for sharing. I think this is going 
to work superbly. Multiplying with a slightly smaller cell pattern gives 
perfect results now.

I am going to implement this now on Gancaloon.

Thomas


Post a reply to this message

From: Thomas de Groot
Subject: Re: Gancaloon - urbanism wip2
Date: 4 Aug 2011 04:48:09
Message: <4e3a5cc9@news.povray.org>
Using Christian's code, here is the next wip. Much better already!

Thomas


Post a reply to this message


Attachments:
Download 'gancaloon.png' (407 KB)

Preview of image 'gancaloon.png'
gancaloon.png


 

From: Christian Froeschlin
Subject: Re: Gancaloon - urbanism wip2
Date: 4 Aug 2011 18:35:41
Message: <4e3b1ebd@news.povray.org>
Nice ;)

My impression is that there is not enough space between houses.
There should probably be a fine scale road system, either painted
by hand or zeroed using some sort of crackle pattern.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Gancaloon - urbanism wip2
Date: 5 Aug 2011 07:44:06
Message: <4e3bd786@news.povray.org>
On 5-8-2011 0:35, Christian Froeschlin wrote:
> Nice ;)
>
> My impression is that there is not enough space between houses.
> There should probably be a fine scale road system, either painted
> by hand or zeroed using some sort of crackle pattern.

True, although the particular society of Gancaloon is based on this 
closely built environment ;-)

Still, I was already working on a bit more open urbanism, like this image.

Note that I *added* the cell function instead of *multiplying* it. The 
results are better because in the latter case the geometry of the 
cutting function is changed in the y direction.

Thomas


Post a reply to this message


Attachments:
Download 'gancaloon.png' (409 KB)

Preview of image 'gancaloon.png'
gancaloon.png


 

From: Thomas de Groot
Subject: Re: Gancaloon - urbanism wip2: workflow
Date: 5 Aug 2011 08:24:56
Message: <4e3be118$1@news.povray.org>
For those interested, this is the workflow I have developed to achieve 
this view:

/*------------------------------------------------------------------------------------
The urbanism is not detailed and only meant as illusion of a crowded 
cityscape.
Follow this workflow (adapt details as needed):
1.  In e.g. GIMP draw a city block bitmap layer following a street 
pattern layer.
2.  Export the bitmap and scale it up 10x.
3.  Add additional features according to need.
4.  Import the bitmap in Inkscape
5.  Apply Filters/Blurs/Blur content
6.  Apply Trace Bitmap with (e.g.):
           Brightness Cutoff = 0.500
           Suppress Speckles: size 2
           Smooth Corners: threshold 0.40
           Optimize Paths: tolerance 0.20
7.  Apply Paths/Simplify if needed
8.  Save as POV file (if you want to keep the svg file, save it as well)
9.  Open in POV-Ray and change the object{} content as needed:
     scale x an z by 1/10; scale up y; add textures; etc
10. translate to correct position, first by centering the object (use 
dimensions given
     in the file) then by trial and error until correct (use an 
orthographic vertical view)
     and apply the intersection with the cutoff function you have 
created from a height_field
     and additional functions
---------------------------------------------------------------------------------------*/

Thomas


Post a reply to this message

From: Alain
Subject: Re: Gancaloon - urbanism wip2
Date: 5 Aug 2011 14:59:39
Message: <4e3c3d9b$1@news.povray.org>

> Nice ;)
>
> My impression is that there is not enough space between houses.
> There should probably be a fine scale road system, either painted
> by hand or zeroed using some sort of crackle pattern.

Keep in mind that it's a medieval style walled city. In those citys, 
space is *scarse*! Buildings are literaly cramed toghether leaving only 
the bare minimum space for the narow and twisting streets. Buildings 
overhanging over the streets are relatively to very common. Facing 
buildings may actualy touch each others. This makes for prety dark 
streets and aleys.

Over time, as old buildings are torn down and new ones built, the 
streets tend to become narower. Some streets become dead ends, and 
former dead ends may now allow thru trafic. In the worst case, some 
streets or group of streets can become totaly cut off from all other 
streets... In that case, you may have some "tunels" through some 
buildings, or strange bridges passing over buildings.

If the terrain is steep, some "streets" can actualy be stairs.


Post a reply to this message

From: Joost
Subject: Re: Gancaloon - urbanism wip
Date: 13 Aug 2011 17:05:00
Message: <web.4e46e60cb0e954807fa509390@news.povray.org>
Looks like a interesting project. Curious how it works out (I like cities views
:-)

For an ancient city (don't know if it's meant to be), a few more alleys may be
nice. Btw, they can use the axes as a sewer system, they exit nicely in the
sea...

Joost


Post a reply to this message

<<< Previous 8 Messages Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.