CompuServe Thread

#Plant IPAS

6 messages in this thread
#188080From: Mike KelleyAug 30, 1995 11:24 AM
>How do I do if would by those Silicon Garden disc? Do I have to buy their hole serie or can I buy just one >disc? SG is just one IPAS that generates trees, shrubs and a few weird things (I can't remember right now, but it seems to me it also generates some kind of fractal fencing stuff I've never used). It's available from the Yost Group — costs $300 when I last remembered. Last night I had a good chance to compare it to the trees generated by WB, and I take it back — I like the WB trees better. (Sorry, Gary, although I don't think he mind considering he's MAXimizing right now). I think if you really need trees and DON'T have SG, I'd save the money and put it toward WB. You'll be a lot happier in the long run (SG generates one plant at a time, with no capability to automate this, so for one thing if you want a forest you're in for a lot of work. You could always generate one tree and use another IPAS I have from Yost which randomly plants and chances things, but then you're up to $600 and… I'd definitely go WB).
#188122From: MARTIN G FOSTERAug 30, 1995 1:42 PM
Mike, you make some good points. I was looking at SG last night and I like the trees but they are limited by one important thing. They come out as 1 object and therefore have a 64k face limit – that doesn't go far with trees (correct me if I'm wrong). I thought about twiddling the SG .ls files that make the trees but I'd probably run up against that 64k limit pretty quickly. When exporting trees from WB it has the sense to break them up into sub-64k face pieces (GOOD), but the mapping and face normals on trees and flowers with actual petal/leaf geometry is all screwed up. Also the mapping on the trunks was fouled up. I had to to unify / flip normals and resmooth and sometimes mess with the materials/ re-apply mapping – I didn't count on doing this. Trees with texture/opacity leaf "cards" fare better (like the pine trees with needles), but I get better results changing from tiled material to decal on the pine trees. I need to be able to customize the trees in the library and I have asked for the source L-systems code for these trees – we'll see if I get it. Lack of alpha channel may be a problem too. I need to be able to 2d composite layers together with images from other programs and not having alpha is going to be a headache. Any idea of a workaround? Martin
#188135From: Jonas Ruikis [ADESK]Aug 30, 1995 2:29 PM
<< I need to be able to customize the trees in the library and I have asked for the source L-systems code for these trees – we'll see if I get it. >> .LS File Commands —————– This document describes the commands of the .LS file used by Yost Group's Silicon Garden. This is only a brief description, "The Algorithmic Beauty of Plants" (by Lindenmeyer) is necessary reading to understand what's going on. WARNING The .LS files read by Silicon Garden were not designed to be edited by end users. As a result, Silicon Garden's parsing of these files is not robust. Very little error checking is done as it is assumed that the file is error free. MODIFY THESE FILES AT YOUR OWN RISK. Starting Parameters ——————- The first thing that can appear in a file is a list of starting parameter values. These specify the values of certain parameters at the start of the generated string. name Name of the plant (up to 23 characters surrounded by 's ) default: 'plant' angle The default angle of rotation for rotations specified without an angle parameter. default: 22.5 detail The starting detail for the plant. Detail specifies the number of segments that make up a cylinder. default: 3 mindetail The smallest possible value of detail (it can be overridden by the '#' command). When a stem branches off a segment, detail is reduced. default: 3 dfactor This specifies the rate at which detail reduces. It ranges from 0.0 to 1.0 where 1.0 = no reduction, 0.5 = 50%, etc. Detail is reduced every time a new branch is created ( '[' ) and restored when the branch is completed ( ']' ). default: 0.7 length The default distance to move in one step ( 'F' or 'f' ) if no parameter is provided. default: 100 radius The starting radius of segments. default: 20 rfactor This specifies the rate at which the radius decreases to form a branch. It ranges from 0.0 to 1.0 where 1.0 = no reduction, 0.5 = 50%, etc. The radius is reduced every time a new branch is created ( '[' ) and restored when the branch is completed ( ']' ). default: 0.7 pen type The starting pen type. '*' = cylinder, '#' = square, 'V' = v shaped, '-' = flat. default: * pen angle The starting pen angle. This is only used for a V pen. It is the angle made by the V. default: 90 bendthresh Threshold angle for joining two segments with shared vertices. default: 60 taper Either ON or OFF. Then on, segments taper as a result of the '!' command. default: ON smooth Either ON or OFF. Turns on smoothing for the mesh. default: ON scale The value in world units of 1 unit. Does not effect embedded .3ds objects. default:1 trop Tropism vector. specified as X Y Z default: 0 0 -1 etrop Tendency to rotate due to tropism. 0 = no tropism default: 0 Commands ——– Commands appear inside the axiom or at the right side of a rule. Most commands take arguments in the form .arg1(arg2). Example: The 'F' command with the arguments 23 and 45 would look like F.23(45) Movement: F Move forward and draw a cylinder f Move forward but don't draw parameters:[.arg1][(arg2)] arg1 = % of random variation (0 – 99) arg2 = distance to move Rotations: \ Rotate about head – + Rotate about up ^ & Rotate about left parameters:[.arg1][(arg2)] arg1 = % of random variation (0 – 99) arg2 = angle in degrees $ Align turtle so up points up | rotate turtle about world up by 180 degrees. Branches: [ Save turtle status and begin a branch ] Restore turtle status Polygons: { Begin a polygon } End a polygon : Place a polygon vertex Radius Reduction: ! Reduce radius parameters:[.arg1][(arg2)] arg1 = % of random variation (0 – 99) arg2 = assigns a new value to radius Materials/Pens: ' Change material parameters:[(arg1)] arg1 = new mat index ? Set a new pen type parameters:[(arg1)] arg1 = *, #, V, – (see above) % Set angle for the V pen. parameters:[.arg1][(arg2)] arg1 = % of random variation (0 – 99) arg2 = Assigns a new pen angle = Turn smoothing on or off parameters:[(arg1)] arg1 = ON or OFF Predefined Objects: ~ Place a predefined object parameters:[(arg1)] arg1 = object name Vertex Management # Change detail parameters:[(arg1)] arg1 = new detail _ (underscore) Set bend threshold. parameters:[.arg1][(arg2)] arg1 = % of random variation (0 – 99) arg2 = new threshold in degrees. [end]
#188140From: MARTIN G FOSTERAug 30, 1995 3:26 PM
Jonas, thanks for the l-systems docs. I think I'm going to run into the need for programming l-systems in world builder and possibly in Silicon Garden. Hopefully they do it in a similar way. Martin
#188198From: Mike KelleyAug 30, 1995 7:38 PM
> and not having alpha is going to be a headache. Any idea of a workaround? When the Great Martin Foster asks me for advice I know the world is in trouble. <G> Honestly, Martin, you're one of the associate gods up there with Gary, so I'm not worthy, etc. Since WB generates a z-buffer that can be used with their IPAS in 3DS, can't you generate an alpha channel from this in 3DS? Or do I not understand what the #$#% I'm talking about? (Most probable).
#188201From: MARTIN G FOSTERAug 30, 1995 7:45 PM
Mike, >> When the Great Martin Foster asks me for advice I know the world is in trouble. << ROFL! That's hardly the case. I often ask questions on this forum <g>. >> Since WB generates a z-buffer that can be used with their IPAS in 3DS, can't you generate an alpha channel from this in 3DS? << I suspected this but then thought not. I may be wrong so it might be worth a try. I'll invesigate …..