To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 6290
6289  |  6291
Subject: 
Re: terrain in LDraw
Newsgroups: 
lugnet.cad.dev
Date: 
Fri, 10 Aug 2001 13:46:06 GMT
Viewed: 
552 times
  
Jaco:

Could you give some example command lines please?

pgm_to_ldraw -colour 2 -height 30 < terrain.pgm >
terrain.dat

(or were you asking for a bit more than that?)

Lets try to make a 32 by 32 knob 30 plates high relatively
soft all-green landscape:

   fractal_landscape -width 32 -height 32 -h 0.95 -z_max 30
terrain.pgm
   pgm_to_ldraw -colour 2 -height 30 < terrain.pgm >
terrain.dat
   ldglite-run -s0.5 terrain.dat

If we want to colour the landscape above as a beach, we
either have to make a copy of "terrain.pgm" which we edit by
hand, or we have to do something like the following rather
ugly piece of Perl+command interpreter:

   pnmdepth 9 < terrain.pgm | pnmnoraw | perl -pe
's/^9$/382/' | perl -pe 's/(^| )[012]( |$)/ blue /g' | perl
-pe 's/(^| )[34]( |$)/ sand /g' | perl -pe 's/(^| )[56789](
|$)/ green /g' | perl -pe 's/(^| )[012]( |$)/ blue /g' |
perl -pe 's/(^| )[34]( |$)/ sand /g' | perl -pe 's/(^|
)[56789]( |$)/ green /g' | perl -pe 's/blue/1/g' | perl -pe
's/sand/382/g' | perl -pe 's/green/2/g' >
terrain-colour_map.pgm

(all on one line) The file "terrain-colour_map.pgm" now
contains LDraw colour numbers for blue, sand and green
depending on the height of that part of the terrain. We can
use this to make a "colour-mapped" terrain model:

   pgm_to_ldraw -map terrain-colour_map.pgm -height 30 <
terrain.pgm > terrain.dat
   ldglite-run -s0.5 terrain.dat

If we then want to fix the water level, we can do that too:

   echo "P2\n1 1\n30\n8" | pnmscale -width 32 -height 32 >
terrain-water_level.pgm
   pnmarith -maximum terrain-water_level.pgm terrain.pgm |
pnmnoraw > terrain-level_water.pgm
   pgm_to_ldraw -map terrain-colour_map.pgm -height 30 <
terrain-level_water.pgm > terrain.dat
   ldglite-run -s0.5 terrain.dat

Jacob

PS: This example has been tested on a Linux system and
    depends on various other programs, which are not
    included in my fractal landscape generator package.
--
"It is very easy to get ridiculously confused about the
tenses of time travel, but most things can be resolved
by a sufficiently large ego."



Message has 1 Reply:
  Re: terrain in LDraw
 
I wrote: [...] (...) [...] A slightly cleaned up version of this example can be found in the updated source distribution of my fractal landscape generator. Play well, Jacob -- (URL) (23 years ago, 10-Aug-01, to lugnet.cad.dev)  

Message is in Reply To:
  Re: terrain in LDraw
 
Jacob, Could you give some example command lines please? Gr. Jaco (...) (23 years ago, 10-Aug-01, to lugnet.cad.dev)

23 Messages in This Thread:





Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR