|
![](/i/fill.gif) |
albe99 nous apporta ses lumieres en ce 19-04-2007 02:36:
> Dear friends..
> imagining to place some objects (trees) on an height_field with a trace
> function
> like this, for example:
> //-------- Placing the trees -------------
> #declare Seed=seed(2);
> #declare Spacing=0.24;
> #declare Cnt=0;
> #declare PosX=-3;
> #while (PosX < 3)
> #declare PosY=-3;
> #while (PosY < 3)
> // trace function
> #declare Norm = <0, 0, 0>;
> #declare Start = <PosX+(rand(Seed)-0.5)*Spacing,
> PosY+(rand(Seed)-0.5)*Spacing, 1.0>;
> #declare Pos = trace (
> Terrain_Obj, // object to test
> Start, // starting point
> -z, // direction
> Norm ); // normal
> #if (Norm.x != 0 | Norm.y != 0 | Norm.z != 0) // if intersection is
> found, normal differs from 0
> #if ((vdot(Norm, z)>0.85) & (Pos.z < 0.25))
> // criteria for placing trees: not too steep and not too high
> object {
> TreeA (0.05+rand(Seed)*0.02)
> translate Pos
> }
> #declare Cnt=Cnt+1;
> #end
> #end
> #declare PosY=PosY+Spacing;
> #end
> #declare PosX=PosX+Spacing;
> #end
> ...if you wanted to know, using debug, the xyz position for each placed tree,
> how can I do?...
> I would want debugging a string like "translate <x,y,z>" for every object
> in order to insert them in a .inc file.
> can someone help me?, please..
> Alberto.
You want to build an inc file, so, the debug is not the way to go.
What you need is the file writing possibility.
Start by opening a file:
#fopen Handle "fileName.inc" write early in the scene
then you use:
#write ( Handle, Your_Translate ) Next to each object in place of the #debug
instruction.
Once you are finished, you close the file:
#fclose Handle
--
Alain
-------------------------------------------------
"Sure, everyone's in favor of saving Hitler's brain, but when you put it into
the body of a great white shark, suddenly you're a madman."
--Futurama
Post a reply to this message
|
![](/i/fill.gif) |