1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
|
# **CHANGES** #
# pst-marble v. 1.2 #
# 2019/02/01 #
Source: pst-marble.tex, pst-marble.sty, pst-marble.pro
Author: Aubrey Jaffer
Maintainers: Jürgen Gilg, Manuel Luque
Info: Draw marble-like pattern with PSTricks
License: LPPL 1.3c
---
## Changes in v. 1.0:
## Complete reorganization of the basic deformation commands
We reorganized the marbling primitives to have consistent units
which model a 1 m by 1 m region of a much larger tank. All lengths are
in mm, velocities (in mm/s), angles (in degrees), angular velocity (in
degrees/s), and viscosity and circulation (in mm^2/s).
For a convex stylus or tine, **D** (in mm) is the ratio of its submerged
volume to its wetted surface area. For a long cylinder it is diameter.
The deformations take a single argument, **viscosity** (in mm^2/s), which is also
viscosity relative to 20 °C water. Negative viscosity specifies
(raster) reverse-marbling.
## /drop
**\[ cx cy radinc \[ bgc \] \[ rgb \] /drop \]**
Replaces **/ink**; works as before.
## /offset ##
**\[ dx dy /offset \]**
As before. Maybe should be changed to take angle and length.
## /stir
**\[ cx cy \[ r \] w th D /stir \]**
replaces **/circle**. Tines follow concentric circular tracks.
cx, cy Center coordinates in mm
[ r ] List of radii in mm
w Angular velocity
th Displacement at tines
D Tine diameter
## /vortex
**\[ cx cy circ t /vortex \]**
Models a **Lamb-Oseen** vortex.
cx, cy Center coordinates in mm
circ Circulation (in mm^2/s) is a simple scale factor.
Typical value: 30e3 mm^2/s.
t Time after circulation impulse at center. As t gets very large,
the whole surface returns to its original pattern, possibly with rigid
rotation. Typical value 10 s.
## /stroke
**\[ bx by ex ey V D /stroke \]**
As before; short stroke.
bx, by Beginning of stroke
ex, ey End of stroke
V Stylus velocity in mm/s
D Stylus diameter in mm. Make larger to affect paint farther away.
## /rake
**\[ angle \[ r \] V tU D /rake \]**
replaces **/line**. Draws a stylus or parallel stylii across the tank.
angle Angle from y-axis in degrees; 0 is up.
[ r ] List of distances from center of image (0,0).
V Stylus velocity in mm/s
tU Distance points on the stylus track are moved.
D Stylus diameter in mm. Make larger to affect paint farther away.
## /wiggle
**\[ angle {func} /wiggle \]**
Parameters changed.
angle Wiggle will be perpendicular to angle from y-axis up.
{func} Input is distance in mm; output is wiggle displacement in mm.
## NEW ACTIONS
## random-drops
**\[ size \[ color \] count random-drops \]**
count Number of the drops
size Size of the drops
color Color of the drops
## random-drops-colors
**\[ size count random-drops-colors \]**
count Number of the drops
size Size of the drops
## concentric-bands
**\[ cx cy RadiusIncrement NumberOfBands concentric-bands \]**
cx, cy Center coordinates
RadiusIncrement Multiplication coefficient between the bands
NumberOfBands Number of the elements within
the [array of colors] list
[array of colors]: this is the list of colors
within the colors= key
## ADDITIONAL HINTS
Having stylus diameter, velocity, and viscosity as parameters means
this system has an extra degree of freedom. If you want to reduce the
width of the affected region of a rake by a factor of 10, either
reduce **V** by a factor of 10 or reduce **D** by a factor of 3.1 (sqrt 10).
## Changes in v. 1.1:
## Customer friendly setup of the actions.
No \[ ... \] around the actions needed anymore. And no **/** for the actions.
## NEW ACTIONS
## arc-drops
**xc yc r ang-strt ang-step \[rgb\] cnt drad arc-drops**
cnt Number of drops
drad Radius of the drops
rgb Color of the drop series
xc,yc Center coordinates of the arc
r Radius of the arc
ang-strt Starting angle
## spiral-drops
**xc yc r ang-strt ang-step rinc \[rgb\] cnt drad spiral-drops**
Like arc-drops, but increments (or decrements if negative) r by rinc
after each drop
## concentric-bands is now obsolete
To be setup now with: **concentric-rings**
under more customer friendly conditions - see documentation
## rake
For the **rake** action there is the possibility to setup the rakes with
the PostScript command *tines*
## tines
**cnt spacing ofst tines**
cnt Number of rakes
spacing displacement between the rakes
ofst offset of the middle rake
to the left (negative),
to the right (positive)
## background
The **background** option now can use the color schemes **rgb** and **RGB**
With **rgb** we use decimals between 0 and 1
With **RGB** we use integers between 0 and 255
The colors then are automatically detected correctly.
## rgb and RGB color schemes
They are available for these following actions as well:
drop
arc-drops
spiral-drops
and automatically detected.
## Changes in v. 1.2:
The actions **arc-drops** and **spiral-drops** are erased and bundled together
under the action:
## **coil-drops**
**xc yc r ang-strt arcinc rinc \[ rgb \] cnt drad coil-drops**
xc, yc Coordinates of the center
r Radius of the circle where the drops will lay on
ang-str Start angle from vertical: if 0 it starts North,
if 90 it starts East, ...
arcinc Arc-distance between the drops
rinc Increment of r:
if taken 0 it gives a circle,
if taken >0 it spirals outwards,
if taken <0 it spirals inwards.
rgb Color of the drops or color series
cnt Number of the drops
drad Radius of the drops
The actions **random-drops** and **random-drops-colors** are erased and substituted
by *two new fully parameterized actions*:
## **Gaussian-drops**
Defines a randomly calculated series of drops within a circle/ellipse
**xc yc r ang eccentricity \[ rgb \] cnt drad Gaussian-drops**
Drops **cnt** paint drops with radius **drad** in normal (Gaussian) distribution
centered at **xc, yc** with radius **r**, **ang** degrees from vertical and
length to width ratio **eccentricity** (1 is circular).
## **uniform-drops**
Defines a randomly calculated series of drops within a rectangled box
**xc yc xsid ysid angle \[ rgb \] cnt drad uniform-drops**
Drops **cnt** paint drops with radius **drad** in a uniform distribution in a
**xsid** by **ysid** box centered at **xc, yc** and rotated by **angle**.
## **wiggle** is made more customer friendly:
**angle period ofst depth wiggle**
Applies sinsusoidal wiggle: y = depth sin(360 x/period + ofst)
angle Wiggle will be perpendicular to angle from y-axis up.
period Period of the sinusoidal wiggle (in degrees)
depth Amplitude of the sinusoidal wiggle
ofst Displacement of the sinusoidal wiggle
## **background** option
This color option for the background is now to typeset like:
**background=\{\[rgb\]\}** or **background=\{\[RGB\]\}**
to be consistent to all other color settings
## rgb and RGB color schemes
They are available for these following actions as well:
drop
the 4 -drops actions
## Colors
The colors now set up:
**\[rgb/RGB\]**
or as a series of colors (an array)
One can use as well hexadecimal color constants, like
**(e7cc9b)** or with capital letters **(E7CC9B)**
which are setup in parentheses and not square brackets.
**\[\[rgb/RGB\] \[rgb/RGB\] \[rgb/RGB\] \[rgb/RGB\] ...\]**
## New option **seed**
This is set to *Mathematical Marbling* by default to keep the drops to their
initial randomly chosen places.
Made for **Gaussian-drops** and **uniform-drops**.
|