[Therion] A bunch of symbols needed
Bill Gee
bgee at campercaver.net
Fri Jan 4 14:22:28 CET 2019
Hi Andrew -
Thanks! It will take me some time to absorb this. The only question I have right now is how are the tile lines aligned with the cave? Are they north-south? On the centerline? Do they take an "orientation" parameter?
I looked over the symbols actually in Therion. I found a suitable handrail symbol. It is, in fact, exactly the symbol that is in "On Station".
There are also both line and point symbols for stairs. The line symbol won't work. I need to check the point symbol to see how it works. The stairs in Stark Caverns go around several curves. I might wind up using visible borders, or perhaps repurposing the rock edge symbol, and then just drawing the steps individually.
The electric light symbol should be pretty easy to create. I have created other point symbols.
I found references to a boardwalk symbol in the Wiki, but I don't think it will be useful. It looks like the symbol width is always the same regardless of how wide the actual feature is.
--
Bill Gee
On Thursday, January 3, 2019 9:07:42 AM CST Andrew Atkinson via Therion wrote:
>
> On 03/01/2019 02:20, Bill Gee via Therion wrote:
> > I was at the cave a few days ago. I think I will need symbols for the following items:
> >
> > Tiled floor
>
> You can use the blocks code I have been working on
>
> https://therion.speleo.sk/wiki/metapost#customisable_area_blocks_with_different_number_of_sides
>
> For squares use
>
> symbol_distance:=0.85; % Distance between the blocks as set out in a
> rectangular grid
> block_randomisation:=0; % Max each point of the base block can be moved.
> Too big and they can intersect themselves
> base_rotation:= 45; % Rotation from 0 of base block, can be used to set
> all blocks to the same angle
> random_rotation:= 0; % Rotation either side of base rotation eg 20 will
> be plus or minus 10 each side
> min_scale_factor:=1; % Minimum multiplier used for the base shape
> add_scale_factor:= 0; % Added to the minimum multiplier to get the
> maximum scale
> block_rectangle:=1; % How much longer the block is than it is wide,
> before randomising
> shift_randomisation:=0; % Max random amount block can be moved from the
> original grid
> %Now set the proportions of different sided block
> b_tri:=0;
> b_quad:=1;
> b_pent:=0;
> b_hex:=0;
>
> If you do not want the grouting (gaps) use symbol_distance:=0.707;
>
> This misses out all the ones on the edge
>
> To improve this a bit change
>
> exitif xpart (p intersectiontimes qq) < 0;
>
> to
>
> exitif xpart (p intersectiontimes qq) < 10;
>
> This does not fix if fully to do that you will need to comment out, or
> remove 2 more lines
>
> %if pointinside((i,j),p,outside): % Cleans lines on border,
> assumably ones outside with just an edge touching
> thclean qq;
> thclean qq;
> thclean qq;
> thclean qq;
> thdraw qq;
> %fi;
>
> I really wish I knew exactly what this line did, but I just copied it
> from another area blocks.
>
> Hexagons also tessellate giving a nice effect, but need code
> modification to align
>
> These settings
>
> symbol_distance:=0.95; % Distance between the blocks as set out in a
> rectangular grid
> block_randomisation:=0; % Max each point of the base block can be moved.
> Too big and they can intersect themselves
> base_rotation:= 0; % Rotation from 0 of base block, can be used to set
> all blocks to the same angle
> random_rotation:= 0; % Rotation either side of base rotation eg 20 will
> be plus or minus 10 each side
> min_scale_factor:=1; % Minimum multiplier used for the base shape
> add_scale_factor:= 0; % Added to the minimum multiplier to get the
> maximum scale
> block_rectangle:=1; % How much longer the block is than it is wide,
> before randomising
> shift_randomisation:=0; % Max random amount block can be moved from the
> original grid
> %Now set the proportions of different sided block
> b_tri:=0;
> b_quad:=0;
> b_pent:=0;
> b_hex:=1;
>
> and put this bit of code in the appropriate place (first and last 2
> lines not modified
>
> iu := uu * block_rectangle;
> blocks := b_tri+b_quad + b_pent + b_hex;
> k:=0;
> tmp_pic := image(
> for i = xpart llcorner q step (symbol_distance * block_rectangle *
> uu) until xpart urcorner q:
> k:=k+1;
> for j = ypart llcorner q step (symbol_distance*uu) until ypart
> urcorner q:
> m:= j- (k mod 2) * 0.5 * uu * symbol_distance;
> pick_sides := uniformdeviate(blocks);
> if pick_sides < b_tri:
>
> Plus 16 lines later on change (j to an m)
>
> shifted ((i ,j) randomized (shift_randomisation * uu));
>
> to
>
> shifted ((i ,m) randomized (shift_randomisation * uu));
>
>
> >
> > Hand rails
>
> https://therion.speleo.sk/wiki/metapost#line_-_hand_rail
>
> I've been meaning to put this one up for a while, so thanks for the prod
>
> Good luck
>
> Andrew
> _______________________________________________
> Therion mailing list
> Therion at speleo.sk
> https://mailman.speleo.sk/listinfo/therion
>
More information about the Therion
mailing list