際際滷

際際滷Share a Scribd company logo
舒仄舒亳从亳 亰舒
亞亠仆亠舒亳于仆仂 亳亰从于仂
 弌仂弍于亠仆亳 仗亳仄亳亳于亳 / 亳舒
 亳于亳 仆舒 亠亰亳亠
 仆亳仄亳舒仆亠 仆舒 CFDG
 舒仍舒仆亳舒仆 random  亟于仂
 亰从舒  SVG
仂亟亞仂于亠仆亳 仂 .亠仆从仂于 从舒仂 舒 仂 从舒 仆舒 个 亰舒 亰亳仄亠仆 亠仄亠 2010/2011. 舒亞仍舒于仆仂仂
亳亰仂弍舒亢亠仆亳亠 亠 仂 http://contextfree.lazymoon.org.
Random  亟于仂亳仆仂 亟于仂
 亰仗仂仍亰于舒 亠 亟于仂亳仆仂 亟于仂, 仆舒 从仂亠仂 于仂于亠亠 舒
仗舒于亳仍舒舒 亰舒 亳亰于仂亟
 亰从亳亠 仄亠亢亟 于仂于亠亠 舒 亰舒于舒仆亠 仆舒 亟舒亟亠仆
亞舒亟
 舒亶仆亳亠 仍亳舒 亟舒于舒 于亰仄仂亢仆亳亠 亞仍亳 仆舒 亰舒于舒仆亠
 舒于舒 舒于仆仂仄亠仆仂 舒亰仗亠亟亠仍亠仆 random
 仂亢亠 亟舒 亠 亳亰仗仂仍亰于舒 亳 亰舒 亟亞亳 于亳亟仂于亠 仗舒舒仄亠亳
Random  亟于仂亳仆仂 亟于仂
startshape Begin

background { h 200 sat 1 b 1 }

rule DrawArrow {
SQUARE { x 0.5 size 1 0.075 }
TRIANGLE { x 1 r 30 size 0.2 }
}

rule RandomRotate1 { RandomRotate2 { } }
rule RandomRotate1 { RandomRotate2 { r 180 } }
rule RandomRotate2 { RandomRotate3 { } }
rule RandomRotate2 { RandomRotate3 { r 90 } }
rule RandomRotate3 { RandomRotate4 { } }
rule RandomRotate3 { RandomRotate4 { r 45 } }
rule RandomRotate4 { RandomRotate5 { } }
rule RandomRotate4 { RandomRotate5 { r 15 } }
rule RandomRotate4 { RandomRotate5 { r 30 } }
rule RandomRotate5 { RandomRotate6 { } }
rule RandomRotate5 { RandomRotate6 { r 5 } }
rule RandomRotate5 { RandomRotate6 { r 10 } }
rule RandomRotate6 { RandomRotate7 { } }
rule RandomRotate6 { RandomRotate7 { r 1 } }
rule RandomRotate6 { RandomRotate7 { r 2 } }
rule RandomRotate6 { RandomRotate7 { r 3 } }
rule RandomRotate6 { RandomRotate7 { r 4 } }
rule RandomRotate7 { DrawArrow { } }

rule DrawRandomArrows { 30*{ b -0.05 z 1 } RandomRotate1 { }
}

rule Begin { DrawRandomArrows { h 240 sat 1 b 1 } }
仂亳亰于仂仍仆亳 仗亳仄亳亳于亳 - 仗亳舒
 仂亰于仂仍磦舒 仂仗亳于舒仆亠 仆舒 仆仂于亳 仗亳仄亳亳于亳 / 亠仄亳仆舒仍仆亳 亳仄于仂仍亳.
 仗亳于舒 亠 从舒仂 仗亳从 仂 仂仗亠舒亳亳 亰舒 仂仗亳舒仆亳亠 仆舒 于亠从仂仆舒 亞舒亳从舒.
 亳仆舒亞亳 亳仄舒 亠从仂 仗仂仍仂亢亠仆亳亠 仆舒 于亳舒仍亠仆 '仗仂从舒亰舒仍亠'
 舒仗仂仄仆 仆舒 亟于亳亢亠仆亳亠仂 仆舒 从仂亠仆从舒舒 于 .
 亳 亟于亳亢亠仆亳亠 仆舒 仗仂从舒亰舒仍亠舒 仄仂亢亠 亟舒 亠 亳亰于舒 仍亳仆亳 亳仍亳 从亳于舒 亳仍亳 仗仂仂
亟舒 亠 仗亳亟于亳亢亳 亟仂 仆仂于舒 仗仂亰亳亳
 磻舒 从仂仄舒仆亟舒 仂仗亳于舒 从亟亠 亟舒 亠 亳于舒 亳 从舒从 亟舒 亠 亰舒仗仍仆亳
仆舒亳于舒仆仂仂.
 仂仄舒仆亟亳亠, 从仂亳仂 舒 仆舒 舒亰仗仂仍仂亢亠仆亳亠 舒 舒从亳于舒, 亠 亟舒 仗仂亰于仂仍磦舒 亳亰仂亟 从仄
SVG 亳 亠 仗亳亟亢舒 从仄 OpenVG 舒仆亟舒舒 亰舒 亞舒亳仆亳 从仂亳亠仍亳
舒弍仂亠亳  于亠从仂仆舒 亞舒亳从舒.
 仂仍亠仆亳亠 仗亳舒 舒 仂仆仂于仂 从仂仆亠从仆仂 仆亠亰舒于亳亳仄亳, .亠. 舒 舒亰仗亳舒仆亳
仗礆仂 仂弍于亠仆舒 从仂仂亟亳仆舒仆舒 亳亠仄舒  舒亰仄亠仆仂 1.
 亠亟仆亢 亰亟舒亟亠仆 亟舒亟亠仆 仗 仄仂亢亠 亟舒 弍亟亠 亳亰仗仂仍亰于舒仆 仍亠亟 仂于舒 从舒仂 于磻舒
亟亞舒 仗亳仄亳亳于舒 亳仍亳 仗舒于亳仍仂   仗舒于亳仍舒 亰舒 仗仂仄礌舒 仆舒 亠从舒舒
舒仆仂仄舒亳仂仆仆舒 仄舒亳舒 亳 亟于亳亢亠仆亳亠 于 仗仂舒仆于仂仂 仆舒 于亠仂于亠亠.
 舒 亟仂弍于仂 亠 仗亳亠仄亠仄, 亠 亟于亳亢亳仄 从舒亠舒 仗仂
从仂仂亟亳仆舒仆舒 亳亠仄舒.
舒 亟仂弍于仂 亠 仆舒亠亠仄 亠从舒舒 仗仂亰亳亳 于
从仂仂亟亳仆舒仆舒舒 亳亠仄舒  仗仂亰亳亳 仆舒 从舒亠舒.
 于亳亢亠仆亳亠仂 亠 舒仄仂 于
舒于仆亳仆舒舒 仂仗亠亟亠仍亠仆舒
仂 Oxy. 丐从 z 仆亠 舒于舒.
 仄舒 舒仄仂 亠亟仆舒
从舒亠舒, 从仂仂
仗仂亠亞仍 仂
仆舒舒仍仂仂 仆舒
从仂仂亟亳仆舒仆舒舒 亳亠仄舒.
仂亳亰于仂仍仆亳 仗亳仄亳亳于亳 - 仗亳舒
舒弍仂舒  仗舒于亳
 MOVETO {x X y Y }  仗亳亟于亳亢于舒 从舒亠舒舒 亟仂 亟舒亟亠仆仂
仄仂  从仂仂亟亳仆舒亳 (X, Y) 于 亠从舒舒 从仂仂亟亳仆舒仆舒
亳亠仄舒.
 LINETO {x X y Y }  亳于舒 仍亳仆亳 仂 亠从舒舒 仗仂亰亳亳
仆舒 从舒亠舒舒 亟仂 亟舒亟亠仆仂 仄仂  从仂仂亟亳仆舒亳 (X, Y) 亳
仗亠仄亠于舒 从舒亠舒舒 舒仄.
 CLOSEPOLY { }  亳于舒 仍亳仆亳 仂 亠从舒舒 仗仂亰亳亳 仆舒
从舒亠舒舒 亟仂 仆舒舒仍仂仂 仆舒 仗仂仍亠亟仆亳 仂仗亳舒仆 仗.
 STROKE { }  亳亰亳于舒 从仂仆 仗仂 仍亳仆亳亳亳亠 仂仗亠亟亠仍亠仆亳
仂 亞仂仆亳亠 从仂仄舒仆亟亳.
 FILL { }  亰舒仗仍于舒 仂仄舒舒 仂仗亠亟亠仍亠仆舒 仂 亞仂仆亳亠
从仂仄舒仆亟亳  仂仗亠亟亠仍亠仆 亳.
仂 仗亳仄亠
path box {
MOVETO{x 0.5 y 0.5}
LINETO{x -0.5 y 0.5}
LINETO{x -0.5 y -0.5}
LINETO{x 0.5 y -0.5}
CLOSEPOLY{}
STROKE{}
}
 乂亳  亟亠弍亠仍亳仆舒 10%
舒仍从仂 仗仂-仍仂亢亠仆 仗亳仄亠
startshape octagon
path octagon {
MOVETO { x cos(0) y sin(0) }
LINETO{x cos(45) y sin(45)}
LINETO{x cos(90) y sin(90) }
LINETO{x cos(135) y sin(135)}
LINETO{x cos(180) y sin(180)}
LINETO{x cos(225) y sin(225)}
LINETO{x cos(270) y sin(270)}
LINETO{x cos(315) y sin(315)}
CLOSEPOLY{}
STROKE{}
}
亰仗仂仍亰于舒仆亠 仆舒 亳从仍亳
path octagon {
MOVETO { x 1 y 0 }
8 * { r 45 }
LINETO{ x cos(45)
y sin(45)}
CLOSEPOLY{}
STROKE{}
}
 仂 亳 仆舒亳仆 从舒从仂 仗亳 仗舒于亳仍舒舒.
 亠舒仍仆仂 亠 仗亠亟亳亰于亳从于舒 亳亰仗仂仍亰于舒仆亠 仆舒
仆仂于舒 舒仆仂仄舒亳仂仆仆舒 仄舒亳舒 亰舒
亠从仂仂 仗仂仍仂亢亠仆亳亠 仆舒 从舒亠舒舒.
仂亢亠 亟舒 亳仄舒 仗仂于亠亠 仂 亠亟仆舒
仂仄舒 于 亟舒亟亠仆 仗
startshape octagon2
path octagon2 {
MOVETO { x 1 y 0 }
8 * { r 45 }
LINETO{ x cos(45)
y sin(45)}
CLOSEPOLY{}
STROKE{}
MOVETO { x (cos(0) * 0.5 )
y ( sin(0) * 0.5 ) }
6 * { r 60 }
LINETO{ x (cos(60) * 0.5 )
y (sin(60) * 0.5 ) }
CLOSEPOLY{}
STROKE{}
}
仂-仍仂亢仆亳 亳从仍亳
startshape octagon2
path octagon2 {
MOVETO { x 1 y 0 }
8 * { r 45 }
LINETO{ x cos(45)
y sin(45)}
CLOSEPOLY{}
STROKE{}
2 * { x 2 } {
MOVETO { x (cos(0) * 0.5 ) y ( sin(0) * 0.5 ) }
6 * { r 60 }
LINETO{ x (cos(60) * 0.5 )
y (sin(60) * 0.5 ) }
CLOSEPOLY{}
}
STROKE {} // 从仂仄舒仆亟舒舒 亰舒 亰舒仗仍于舒仆亠 亳仍亳 亳仂于舒仆亠 亠 亰舒亟仍亢亳亠仍仆仂 亳亰于仆 亳从仍舒
}
舒仗仍于舒仆亠
 弌仍亠亟 亰舒于舒礌亠 仆舒 亟舒亟亠仆 仗 仄仂亢亠 亟舒 亠
仗亳仍仂亢亳 亳仍亳 FILL 亳仍亳 STROKE.
 仂亢亠 亟舒 亳仄舒 仗仂于亠亠 仂 亠亟仆舒 仂仄舒, 从仂仂 亟舒
弍亟亠 亰舒仗仍仆亠仆舒
 FILL 亳 STROKE 仄仂亞舒 亟舒 亠 从仂仄弍亳仆亳舒 
亟亳亠从亳于亳 亰舒 亳亰亳于舒仆亠 仆舒 于.
 弌仍亠亟 于磻舒 FILL 亟亳亠从亳于舒 仄仂亢亠 亟舒 亳仄舒 仆仂于舒
仗仂亠亟亳舒 仂 亟于亳亢亠仆亳 仆舒 从舒亠舒舒, 从仂亠仂 亟舒
亠 仍亠亟于舒仆仂 仂 亰舒仗仍于舒仆亠.
舒仗仍于舒仆亠
startshape octagon2
path octagon2 {
MOVETO { x 1 y 0 }
8 * { r 45 }
LINETO{ x cos(45)
y sin(45)}
CLOSEPOLY{}
STROKE{}
2 * { x 2 } {
MOVETO { x (cos(0) * 0.5 ) y ( sin(0) * 0.5 ) }
6 * { r 60 }
LINETO{ x (cos(60) * 0.5 )
y (sin(60) * 0.5 ) }
CLOSEPOLY{}
}
FILL { h 20 sat 1 b 0.8 }
}
亳亟仂于亠 亰舒仗仍于舒仆亠
 STROKE {shape adjustments width stroke_width param parameters} - 亰亳于舒 从仂仆 仗仂
仗仂仍亠亟仆亳 仂仗亳舒仆 仗  亟亠弍亠仍亳仆舒 仂仗亠亟亠仍亠仆舒 仂 stroke_width (仗仂 仗仂亟舒亰弍亳舒仆亠 0.1).
仂亞舒 亟舒 亠 仗仂亟舒亟舒 亳 仗舒舒仄亠亳 亰舒 仗仂仄礌舒 仆舒 于亠舒 亳 (!) 仂仄舒舒
 FILL {shape adjustments param parameters}  亰舒仗仍于舒仆亠 仆舒 仗仂仍亠亟仆亳 仗 于亰亳仄舒亶从亳
仗亠亟于亳亟 仗舒舒仄亠亳亠 亰舒 仗仂仄礌舒 仆舒 仂仄舒舒. 从仂 仂仄舒舒 亠 舒仄仂仗亠亳舒舒 亠,
仂亞舒于舒 亳仄舒 亰仆舒亠仆亳亠 亳 仗舒舒仄亠舒 亰舒 亰舒仗仍于舒仆亠, 从仂亶仂 仂仗亠亟亠仍 从舒从 亟舒 弍亟亠
亰舒仗仍仆亠仆舒 . 仂 仗仂亟舒亰弍亳舒仆亠 亠 仗仂仍亰于舒 non-zero, 仆仂 仄仂亢亠 亟舒 弍亟亠 亳亰仗仂仍亰于舒仆仂 亳
even-odd 亰舒仗仍于舒仆亠 (仗仂 W3 仗亠亳亳从舒亳舒) :
 舒弍. : 亳 从 亳仄舒 亰仆舒亠仆亳亠 亟舒仍亳 仗舒舒仄亠亳亠 舒 仗仂亟亠亟亠仆亳 亳仍亳 仆亠 .
 舒弍. : 舒从仂 仆亠 亠 仗仂亟舒亟亠仆舒 磦仆舒 从仂仄舒仆亟舒 FILL  亠 亟仂弍舒于
nonz亠r仂 evenodd
舒舒仄亠亳 亰舒 亰舒仗仍于舒仆亠
path stars {
MOVETO{x cos(90-144) y sin(90-144)}
4* {r 144} LINETO {y 1}
CLOSEPOLY{}
5* {r 72} {
FILL{y 1.88 b 0.5 p evenodd}
STROKE{y 1.88}
}
}
舒舒仄亠亳 亰舒 亰舒仗仍于舒仆亠
path stars {
MOVETO{x cos(90-144) y sin(90-144)}
4* {r 144} LINETO {y 1}
CLOSEPOLY{}
5* {r 72} {
FILL{y 1.88 b 0.5 p evenodd}
STROKE{y 1.88}
}
}
* 亳亰仗仂仍亰于舒 亠 evenodd 亰舒仗仍于舒仆亠
** 亳 仗亳 STROKE 亳 FILL 仍舒 亳仄舒
亳亰仄亠于舒仆亠 仗仂 y
舒仗仍于舒仆亠仂 亠 仗仂于亠亠 仂 仗仂仂
亟亳亠从亳于舒 亰舒 于
path stars {
MOVETO{x cos(90-144) y sin(90-144)}
4* {r 144} LINETO {y 1}
CLOSEPOLY{}
}
path stars {
MOVETO{x cos(90-144) y sin(90-144)}
4* {r 144} LINETO {y 1}
CLOSEPOLY{}
5* {r 72} {
FILL{y 1.88 b 0.5 p evenodd}
STROKE{y 1.88}
}
}
舒仗仍于舒仆亠仂 亠 仗仂于亠亠 仂 仗仂仂
亟亳亠从亳于舒 亰舒 于*
startshape stars
background {sat 1 h 20}
path stars {
MOVETO{x cos(90-144) y sin(90-144)}
4* {r 144} LINETO {y 1}
CLOSEPOLY{}
FILL{b 0.5 hue 50 sat 1
s 1 p evenodd
r 35 s 2.9 }
STROKE { }
}
* ...从舒从仂 亳 仂亠舒于舒仆亠仂 仆舒 从仂仆
仂于亳 仗亳仄亳亳于亳 !
startshape S2
background {sat .6 h 40}
rule S2 {
50 * { r (360/50) } SRANDOM { x 20 }
S2 { a -0.1 s 0.9 r 45 h 20 }
}
rule SRANDOM { stars { x rand_static(-3, 3)
a rand_static (-0.5, 0)
y rand_static (-5, 5)
s rand_static (0,1 )
hue rand_static (20, 200) }}
/*  仄仆仂亞仂 仗亳 ... */
rule SRANDOM { stars { x rand_static(-3, 3)
a rand_static (-0.5, 0)
y rand_static (-5, 5)
s rand_static (0,1 )
hue rand_static (20, 200) }}
path stars {
MOVETO{x cos(90-144) y sin(90-144)}
4* {r 144} LINETO {y 1}
CLOSEPOLY{}
FILL{b 0.5 hue 50 sat 1 p evenodd r 35 s 3}
STROKE { }
}
亳于亳
 ARCTO {x x y y rx x_radius ry y_radius r ellipse_angle param parameters}  亟于亳亢亳
从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠 亠亞仄亠仆 仂 亠仍亳仗舒 亟仂 仂从舒舒 (x, y), 从舒仂 亠 仗亳亠仄舒,
亠 亠仍亳仗舒舒 亠  舒亟亳 (rx, ry) 亳 亠 亰舒于礌舒 仆舒 舒亟亳 (于 亞舒亟亳)
 ARCTO {x x y y r radius param parameters}  亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠
亠亞仄亠仆 仂 仂从亢仆仂  舒亟亳 r 亟仂 仂从舒舒 (x, y)
 CURVETO {x x y y x1 control_x_1 y1 control_y_1}  亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒
仂仗亳亠 从于舒亟舒亳仆舒 从亳于舒 仆舒 亠亰亳亠 亟仂 仂从舒舒  从仂仂亟亳仆舒亳 (x, y) 亳 从仂仆仂仍仆舒
仂从舒 于 (x1, y1)
 CURVETO {x x y y x1 control_x_1 y1 control_y_1 x2 control_x_2 y2 control_y_2} -
亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠 从亳于舒 仆舒 亠亰亳亠 亟仂 仂从舒舒 (x, y)  仗于舒
从仂仆仂仍仆舒 仂从舒 于 (x1, y1) 亳 于仂舒 从仂仆仂仍仆舒 仂从舒 亟仂 (x2, y2)
 CURVETO {x x y y}  亟于亳亢亳 从舒亠舒舒 舒从舒 亠 亟舒 仂仗亳亠 从于舒亟舒亳仆舒 从亳于舒 仆舒
亠亰亳亠 亟仂 仂从舒舒 (x, y)  从仂仆仂仍仆舒 仂从舒, 从仂仂 亠 '仂亞仍亠亟舒仍仆仂' 舒亰仗仂仍仂亢亠仆舒
仗礆仂 从仂仆仂仍仆舒舒 仂从舒 仆舒 仗亠亟亳仆舒舒 从亳于舒
亳于亳 仆舒 亠亰亳亠
弌 亠亟仆舒 从仂仆仂仍仆舒 仂从舒
丐舒仆亞亠仆亳亠 于 P0 亳 P2
仗亠仄亳仆舒于舒 仗亠亰 P1
弌 亟于亠 从仂仆仂仍仆亳 仂从亳
P0
P1
P2
丐舒仆亞亠仆舒舒 于 P0 e P0P1,
舒仆亞亠仆舒舒 于 P3 亠 P2P3
亳于舒舒 仄仂亢亠 亟舒 亠
舒仄仂仗亠亠亠.
P0
P1 P2
P3
P4
亳于亳 仆舒 亠亰亳亠
 弌 亠亟仆舒 从仂仆仂仍仆舒 仂从舒
 仂仂亟亳仆舒仆舒舒 亳亠仄舒 亳
亟仂仗亳舒亠仍仆亳亠 舒
亟仂弍舒于亠仆亳 亰舒 亟亠舒亶仍亳
path roll{
MOVETO { x 5 y 0 }
CURVETO { x -5 y 0 x1 0 y1 -10 }
STROKE {b 1 width 0.05 }
}
亳于亳 仆舒 亠亰亳亠  从仂仆仂仍仆亳 仂从亳
path roll{
MOVETO { x 5 y 0 }
CURVETO { x -5 y 0 x1 2.5 y1 5
x2 -2.5 y2 5 }
STROKE {b 1 width 0.05}
}
// 仂 (5,0) 亟仂 (-5, 0)  从仂仆仂仍仆亳 仂从亳 于
(2.5, 5) 亳 (-2.5, 5) 亳 从仂仆  亟亠弍亠仍亳仆舒 0.05
仂仆仂仍仆亳亠 仂从亳
舒 于 (2.5, 5) 亳 (-2.5, 5)
仂仆仂仍仆亳亠 仂从亳
舒 于 (2.5, -5) 亳 (-2.5, 5)
path roll{
MOVETO { x 5 y 0 }
CURVETO { x -5 y 0 x1 2.5 y1 -5
x2 -2.5 y2 5 }
STROKE {b 1 width 0.05}
}
The DAO
startshape dao
background {b -.3}
path roll{
MOVETO{y 1}
ARCTO{y -3}
FILL{b 1}
MOVETO{y -3}
ARCTO{y 1}
FILL{}
MOVETO{y 1}
ARCTO{y -1}
FILL{}
MOVETO{y -1}
ARCTO{y -3 p cw}
FILL{ b 1}
}
rule dao{
roll {}
CIRCLE{b 1 s .7} CIRCLE{y -2 s .7}
}
丐从 ARCTO 亠 亳亰仗仂仍亰于舒 亟亠 舒从仂 亰舒
亳于舒仆亠 仆舒 仗仂仍仂从亢仆仂亳
亰弍仂 仆舒 从亳于舒
 舒舒仄亠 p cw 仆舒 ARCTO 亟亳亠从亳于舒 从舒亰于舒 仆舒 舒从舒舒, 从仂仂 亠 仗仂
仗仂仂从舒 仆舒 舒仂于仆亳从仂于舒舒 亠仍从舒.
 弌 仗舒舒仄亠 p large 仄仂亢亠 亟舒 亠 从舒亢亠 亳亰仗仂仍亰于舒仆亠 仆舒 仗仂-亞仂仍礆舒舒 舒从舒 仂
仂从仆仂舒/亠仍亳仗舒舒.
ARCTO 于 亟亠亶于亳亠
http://www.contextfreeart.org/gallery/view.php?id=1613
HEX
By Fedor
 SVG 从仄 CFDG 亳 仂弍舒仆仂
 亳仄亳亳于亳亠 仆舒 SVG 舒 于仄亠亳仄亳  亠亰亳 仆舒 CFDG 亳
仄仂亢亠 亟舒 仍亠仆仂 亟舒 亠 仆舒仗舒于亳 仗亠仂亟 仂 SVG 舒亞仂于亠 从仄
CFDG 仗亳舒.
 于 仂仄舒 仆舒 ContextFree 亠 亟亠仄仂仆亳舒仆 从仂仆于亠仂
亰舒 TTF 亳仂于亠 (于亢. 亳弍仍亳仂亞舒亳舒).
 舒 仗舒从亳从舒 仍亠仆仂 仄仂亢亠 亟舒 弍亟亠 亠舒仍亳亰亳舒仆 从仂仆于亠仂
亰舒 仗仂-仗仂亳 SVG 舒亶仍仂于亠.
 Context Free 仗仂亰于仂仍磦舒 亰舒仗舒亰于舒仆亠 仆舒 亞亠仆亠亳舒仆舒舒
从舒 从舒仂 于亠从仂亠仆 SVG 舒亶仍.
 SVG 亠 舒仆亟舒亳亰亳舒仆 于亠从仂亠仆 仂仄舒, 从仂亶仂 仄仂亢亠 亟舒
弍亟亠 仂于舒礌 仂 仗仂于亠亠仂 仗仂仗仍仆亳 仗亳仍仂亢亠仆亳 亰舒
舒弍仂舒  于亠从仂仆舒 亞舒亳从舒 (从舒仂 Illustrator, Corel Draw,
InkScape 亳 亟.)
仆亳仄亳舒仆亠 仆舒 CFDG, 从仂亠仂 亳仄舒
舒仄仂 亟亠亠仄亳仆亳亳仆亳 仗舒于亳仍舒
rule DAISYALL {
DAISYSHAPE { }
6*{r __LARO__ h __LARO__ }
DAISYXPAND {x 1}
6*{r __LARO__ } DAISYSHAPE {x 1}
}
rule DAISYXPAND {
DAISYSHAPE { }
6*{r __LARO__ }DAISYSHAPE {x 1 z-1}
DAISYXPAND{s .5 r __LARO__ }
}
path DAISYSHAPE {
MOVETO{x -1 y 0}
ARCTO {x 1 y 0}
ARCTO {x -1 y 0}
STROKE{width 0.03 b -1}
FILL {b 1 a -.8 sat 1}
}
仆亳仄亳舒仆亠 仆舒 仗舒舒仄亠亳
1) 弌亰亟舒于舒仄亠 仗仂仄仂亠仆 从亳仗, 从仂亶仂 亟舒 亞亠仆亠亳舒
仗仂仍亠亟仂于舒亠仍仆仂 仂 CFDG 舒亶仍仂于亠.
2) 亰仗仂仍亰于舒仄亠 从仂仆亰仂仍仆仂仂 仗亳仍仂亢亠仆亳亠 cfdg 亰舒
亞亠仆亠亳舒仆亠 仆舒 于亠从亳 仂 :
cfdg cur.cfdg output$SEQ.png -v ARE
3) 亰仗仂仍亰于舒仄亠 mencoder 亰舒 亞亠仆亠亳舒仆亠 仆舒
舒仆亳仄舒亳:
mencoder mf://*.png -mf w=500:h=500:fps=25:type=png -ovc copy -oac copy -o output.avi
Grammers for Generative Art - Lectures @ Sofia University #4
亰从亳
 http://www.khronos.org/openvg/ - OpenVG 舒仆亟舒
 http://www.contextfreeart.org/mediawiki/index.php/Paths  亠 亰舒
仗亳舒
 http://www.contextfreeart.org/phpbb/viewtopic.php?t=418 
亠舒仆亳亰仄 亰舒 从仂仆于亠亳舒仆亠 仆舒 TTF 亳仂于亠 从仄 SVG 亳 仗仂仍亠
从仄 CFDG 仗舒于亳仍舒
 http://en.wikipedia.org/wiki/B%C3%A9zier_curve  亳于亳 仆舒 亠亰亳亠
 http://www.azarask.in/blog/post/contextfreejs-algorithm-ink-
making-art-with-javascript/ - Context Free with JavaScript
 http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc-
images.html  仂亟亳舒仆亠 仆舒 于亳亟亠仂 仂 仗仂仍亠亟仂于舒亠仍仆仂 仂
亳亰仂弍舒亢亠仆亳
 http://roberthodgin.com/ - 亳亰仆亠仆舒亟舒

More Related Content

Grammers for Generative Art - Lectures @ Sofia University #4

  • 1. 舒仄舒亳从亳 亰舒 亞亠仆亠舒亳于仆仂 亳亰从于仂 弌仂弍于亠仆亳 仗亳仄亳亳于亳 / 亳舒 亳于亳 仆舒 亠亰亳亠 仆亳仄亳舒仆亠 仆舒 CFDG 舒仍舒仆亳舒仆 random 亟于仂 亰从舒 SVG 仂亟亞仂于亠仆亳 仂 .亠仆从仂于 从舒仂 舒 仂 从舒 仆舒 个 亰舒 亰亳仄亠仆 亠仄亠 2010/2011. 舒亞仍舒于仆仂仂 亳亰仂弍舒亢亠仆亳亠 亠 仂 http://contextfree.lazymoon.org.
  • 2. Random 亟于仂亳仆仂 亟于仂 亰仗仂仍亰于舒 亠 亟于仂亳仆仂 亟于仂, 仆舒 从仂亠仂 于仂于亠亠 舒 仗舒于亳仍舒舒 亰舒 亳亰于仂亟 亰从亳亠 仄亠亢亟 于仂于亠亠 舒 亰舒于舒仆亠 仆舒 亟舒亟亠仆 亞舒亟 舒亶仆亳亠 仍亳舒 亟舒于舒 于亰仄仂亢仆亳亠 亞仍亳 仆舒 亰舒于舒仆亠 舒于舒 舒于仆仂仄亠仆仂 舒亰仗亠亟亠仍亠仆 random 仂亢亠 亟舒 亠 亳亰仗仂仍亰于舒 亳 亰舒 亟亞亳 于亳亟仂于亠 仗舒舒仄亠亳
  • 3. Random 亟于仂亳仆仂 亟于仂 startshape Begin background { h 200 sat 1 b 1 } rule DrawArrow { SQUARE { x 0.5 size 1 0.075 } TRIANGLE { x 1 r 30 size 0.2 } } rule RandomRotate1 { RandomRotate2 { } } rule RandomRotate1 { RandomRotate2 { r 180 } } rule RandomRotate2 { RandomRotate3 { } } rule RandomRotate2 { RandomRotate3 { r 90 } } rule RandomRotate3 { RandomRotate4 { } } rule RandomRotate3 { RandomRotate4 { r 45 } } rule RandomRotate4 { RandomRotate5 { } } rule RandomRotate4 { RandomRotate5 { r 15 } } rule RandomRotate4 { RandomRotate5 { r 30 } } rule RandomRotate5 { RandomRotate6 { } } rule RandomRotate5 { RandomRotate6 { r 5 } } rule RandomRotate5 { RandomRotate6 { r 10 } } rule RandomRotate6 { RandomRotate7 { } } rule RandomRotate6 { RandomRotate7 { r 1 } } rule RandomRotate6 { RandomRotate7 { r 2 } } rule RandomRotate6 { RandomRotate7 { r 3 } } rule RandomRotate6 { RandomRotate7 { r 4 } } rule RandomRotate7 { DrawArrow { } } rule DrawRandomArrows { 30*{ b -0.05 z 1 } RandomRotate1 { } } rule Begin { DrawRandomArrows { h 240 sat 1 b 1 } }
  • 4. 仂亳亰于仂仍仆亳 仗亳仄亳亳于亳 - 仗亳舒 仂亰于仂仍磦舒 仂仗亳于舒仆亠 仆舒 仆仂于亳 仗亳仄亳亳于亳 / 亠仄亳仆舒仍仆亳 亳仄于仂仍亳. 仗亳于舒 亠 从舒仂 仗亳从 仂 仂仗亠舒亳亳 亰舒 仂仗亳舒仆亳亠 仆舒 于亠从仂仆舒 亞舒亳从舒. 亳仆舒亞亳 亳仄舒 亠从仂 仗仂仍仂亢亠仆亳亠 仆舒 于亳舒仍亠仆 '仗仂从舒亰舒仍亠' 舒仗仂仄仆 仆舒 亟于亳亢亠仆亳亠仂 仆舒 从仂亠仆从舒舒 于 . 亳 亟于亳亢亠仆亳亠 仆舒 仗仂从舒亰舒仍亠舒 仄仂亢亠 亟舒 亠 亳亰于舒 仍亳仆亳 亳仍亳 从亳于舒 亳仍亳 仗仂仂 亟舒 亠 仗亳亟于亳亢亳 亟仂 仆仂于舒 仗仂亰亳亳 磻舒 从仂仄舒仆亟舒 仂仗亳于舒 从亟亠 亟舒 亠 亳于舒 亳 从舒从 亟舒 亠 亰舒仗仍仆亳 仆舒亳于舒仆仂仂. 仂仄舒仆亟亳亠, 从仂亳仂 舒 仆舒 舒亰仗仂仍仂亢亠仆亳亠 舒 舒从亳于舒, 亠 亟舒 仗仂亰于仂仍磦舒 亳亰仂亟 从仄 SVG 亳 亠 仗亳亟亢舒 从仄 OpenVG 舒仆亟舒舒 亰舒 亞舒亳仆亳 从仂亳亠仍亳 舒弍仂亠亳 于亠从仂仆舒 亞舒亳从舒. 仂仍亠仆亳亠 仗亳舒 舒 仂仆仂于仂 从仂仆亠从仆仂 仆亠亰舒于亳亳仄亳, .亠. 舒 舒亰仗亳舒仆亳 仗礆仂 仂弍于亠仆舒 从仂仂亟亳仆舒仆舒 亳亠仄舒 舒亰仄亠仆仂 1. 亠亟仆亢 亰亟舒亟亠仆 亟舒亟亠仆 仗 仄仂亢亠 亟舒 弍亟亠 亳亰仗仂仍亰于舒仆 仍亠亟 仂于舒 从舒仂 于磻舒 亟亞舒 仗亳仄亳亳于舒 亳仍亳 仗舒于亳仍仂 仗舒于亳仍舒 亰舒 仗仂仄礌舒 仆舒 亠从舒舒 舒仆仂仄舒亳仂仆仆舒 仄舒亳舒 亳 亟于亳亢亠仆亳亠 于 仗仂舒仆于仂仂 仆舒 于亠仂于亠亠.
  • 5. 舒 亟仂弍于仂 亠 仗亳亠仄亠仄, 亠 亟于亳亢亳仄 从舒亠舒 仗仂 从仂仂亟亳仆舒仆舒 亳亠仄舒. 舒 亟仂弍于仂 亠 仆舒亠亠仄 亠从舒舒 仗仂亰亳亳 于 从仂仂亟亳仆舒仆舒舒 亳亠仄舒 仗仂亰亳亳 仆舒 从舒亠舒. 于亳亢亠仆亳亠仂 亠 舒仄仂 于 舒于仆亳仆舒舒 仂仗亠亟亠仍亠仆舒 仂 Oxy. 丐从 z 仆亠 舒于舒. 仄舒 舒仄仂 亠亟仆舒 从舒亠舒, 从仂仂 仗仂亠亞仍 仂 仆舒舒仍仂仂 仆舒 从仂仂亟亳仆舒仆舒舒 亳亠仄舒. 仂亳亰于仂仍仆亳 仗亳仄亳亳于亳 - 仗亳舒
  • 6. 舒弍仂舒 仗舒于亳 MOVETO {x X y Y } 仗亳亟于亳亢于舒 从舒亠舒舒 亟仂 亟舒亟亠仆仂 仄仂 从仂仂亟亳仆舒亳 (X, Y) 于 亠从舒舒 从仂仂亟亳仆舒仆舒 亳亠仄舒. LINETO {x X y Y } 亳于舒 仍亳仆亳 仂 亠从舒舒 仗仂亰亳亳 仆舒 从舒亠舒舒 亟仂 亟舒亟亠仆仂 仄仂 从仂仂亟亳仆舒亳 (X, Y) 亳 仗亠仄亠于舒 从舒亠舒舒 舒仄. CLOSEPOLY { } 亳于舒 仍亳仆亳 仂 亠从舒舒 仗仂亰亳亳 仆舒 从舒亠舒舒 亟仂 仆舒舒仍仂仂 仆舒 仗仂仍亠亟仆亳 仂仗亳舒仆 仗. STROKE { } 亳亰亳于舒 从仂仆 仗仂 仍亳仆亳亳亳亠 仂仗亠亟亠仍亠仆亳 仂 亞仂仆亳亠 从仂仄舒仆亟亳. FILL { } 亰舒仗仍于舒 仂仄舒舒 仂仗亠亟亠仍亠仆舒 仂 亞仂仆亳亠 从仂仄舒仆亟亳 仂仗亠亟亠仍亠仆 亳.
  • 7. 仂 仗亳仄亠 path box { MOVETO{x 0.5 y 0.5} LINETO{x -0.5 y 0.5} LINETO{x -0.5 y -0.5} LINETO{x 0.5 y -0.5} CLOSEPOLY{} STROKE{} } 乂亳 亟亠弍亠仍亳仆舒 10%
  • 8. 舒仍从仂 仗仂-仍仂亢亠仆 仗亳仄亠 startshape octagon path octagon { MOVETO { x cos(0) y sin(0) } LINETO{x cos(45) y sin(45)} LINETO{x cos(90) y sin(90) } LINETO{x cos(135) y sin(135)} LINETO{x cos(180) y sin(180)} LINETO{x cos(225) y sin(225)} LINETO{x cos(270) y sin(270)} LINETO{x cos(315) y sin(315)} CLOSEPOLY{} STROKE{} }
  • 9. 亰仗仂仍亰于舒仆亠 仆舒 亳从仍亳 path octagon { MOVETO { x 1 y 0 } 8 * { r 45 } LINETO{ x cos(45) y sin(45)} CLOSEPOLY{} STROKE{} } 仂 亳 仆舒亳仆 从舒从仂 仗亳 仗舒于亳仍舒舒. 亠舒仍仆仂 亠 仗亠亟亳亰于亳从于舒 亳亰仗仂仍亰于舒仆亠 仆舒 仆仂于舒 舒仆仂仄舒亳仂仆仆舒 仄舒亳舒 亰舒 亠从仂仂 仗仂仍仂亢亠仆亳亠 仆舒 从舒亠舒舒.
  • 10. 仂亢亠 亟舒 亳仄舒 仗仂于亠亠 仂 亠亟仆舒 仂仄舒 于 亟舒亟亠仆 仗 startshape octagon2 path octagon2 { MOVETO { x 1 y 0 } 8 * { r 45 } LINETO{ x cos(45) y sin(45)} CLOSEPOLY{} STROKE{} MOVETO { x (cos(0) * 0.5 ) y ( sin(0) * 0.5 ) } 6 * { r 60 } LINETO{ x (cos(60) * 0.5 ) y (sin(60) * 0.5 ) } CLOSEPOLY{} STROKE{} }
  • 11. 仂-仍仂亢仆亳 亳从仍亳 startshape octagon2 path octagon2 { MOVETO { x 1 y 0 } 8 * { r 45 } LINETO{ x cos(45) y sin(45)} CLOSEPOLY{} STROKE{} 2 * { x 2 } { MOVETO { x (cos(0) * 0.5 ) y ( sin(0) * 0.5 ) } 6 * { r 60 } LINETO{ x (cos(60) * 0.5 ) y (sin(60) * 0.5 ) } CLOSEPOLY{} } STROKE {} // 从仂仄舒仆亟舒舒 亰舒 亰舒仗仍于舒仆亠 亳仍亳 亳仂于舒仆亠 亠 亰舒亟仍亢亳亠仍仆仂 亳亰于仆 亳从仍舒 }
  • 12. 舒仗仍于舒仆亠 弌仍亠亟 亰舒于舒礌亠 仆舒 亟舒亟亠仆 仗 仄仂亢亠 亟舒 亠 仗亳仍仂亢亳 亳仍亳 FILL 亳仍亳 STROKE. 仂亢亠 亟舒 亳仄舒 仗仂于亠亠 仂 亠亟仆舒 仂仄舒, 从仂仂 亟舒 弍亟亠 亰舒仗仍仆亠仆舒 FILL 亳 STROKE 仄仂亞舒 亟舒 亠 从仂仄弍亳仆亳舒 亟亳亠从亳于亳 亰舒 亳亰亳于舒仆亠 仆舒 于. 弌仍亠亟 于磻舒 FILL 亟亳亠从亳于舒 仄仂亢亠 亟舒 亳仄舒 仆仂于舒 仗仂亠亟亳舒 仂 亟于亳亢亠仆亳 仆舒 从舒亠舒舒, 从仂亠仂 亟舒 亠 仍亠亟于舒仆仂 仂 亰舒仗仍于舒仆亠.
  • 13. 舒仗仍于舒仆亠 startshape octagon2 path octagon2 { MOVETO { x 1 y 0 } 8 * { r 45 } LINETO{ x cos(45) y sin(45)} CLOSEPOLY{} STROKE{} 2 * { x 2 } { MOVETO { x (cos(0) * 0.5 ) y ( sin(0) * 0.5 ) } 6 * { r 60 } LINETO{ x (cos(60) * 0.5 ) y (sin(60) * 0.5 ) } CLOSEPOLY{} } FILL { h 20 sat 1 b 0.8 } }
  • 14. 亳亟仂于亠 亰舒仗仍于舒仆亠 STROKE {shape adjustments width stroke_width param parameters} - 亰亳于舒 从仂仆 仗仂 仗仂仍亠亟仆亳 仂仗亳舒仆 仗 亟亠弍亠仍亳仆舒 仂仗亠亟亠仍亠仆舒 仂 stroke_width (仗仂 仗仂亟舒亰弍亳舒仆亠 0.1). 仂亞舒 亟舒 亠 仗仂亟舒亟舒 亳 仗舒舒仄亠亳 亰舒 仗仂仄礌舒 仆舒 于亠舒 亳 (!) 仂仄舒舒 FILL {shape adjustments param parameters} 亰舒仗仍于舒仆亠 仆舒 仗仂仍亠亟仆亳 仗 于亰亳仄舒亶从亳 仗亠亟于亳亟 仗舒舒仄亠亳亠 亰舒 仗仂仄礌舒 仆舒 仂仄舒舒. 从仂 仂仄舒舒 亠 舒仄仂仗亠亳舒舒 亠, 仂亞舒于舒 亳仄舒 亰仆舒亠仆亳亠 亳 仗舒舒仄亠舒 亰舒 亰舒仗仍于舒仆亠, 从仂亶仂 仂仗亠亟亠仍 从舒从 亟舒 弍亟亠 亰舒仗仍仆亠仆舒 . 仂 仗仂亟舒亰弍亳舒仆亠 亠 仗仂仍亰于舒 non-zero, 仆仂 仄仂亢亠 亟舒 弍亟亠 亳亰仗仂仍亰于舒仆仂 亳 even-odd 亰舒仗仍于舒仆亠 (仗仂 W3 仗亠亳亳从舒亳舒) : 舒弍. : 亳 从 亳仄舒 亰仆舒亠仆亳亠 亟舒仍亳 仗舒舒仄亠亳亠 舒 仗仂亟亠亟亠仆亳 亳仍亳 仆亠 . 舒弍. : 舒从仂 仆亠 亠 仗仂亟舒亟亠仆舒 磦仆舒 从仂仄舒仆亟舒 FILL 亠 亟仂弍舒于 nonz亠r仂 evenodd
  • 15. 舒舒仄亠亳 亰舒 亰舒仗仍于舒仆亠 path stars { MOVETO{x cos(90-144) y sin(90-144)} 4* {r 144} LINETO {y 1} CLOSEPOLY{} 5* {r 72} { FILL{y 1.88 b 0.5 p evenodd} STROKE{y 1.88} } }
  • 16. 舒舒仄亠亳 亰舒 亰舒仗仍于舒仆亠 path stars { MOVETO{x cos(90-144) y sin(90-144)} 4* {r 144} LINETO {y 1} CLOSEPOLY{} 5* {r 72} { FILL{y 1.88 b 0.5 p evenodd} STROKE{y 1.88} } } * 亳亰仗仂仍亰于舒 亠 evenodd 亰舒仗仍于舒仆亠 ** 亳 仗亳 STROKE 亳 FILL 仍舒 亳仄舒 亳亰仄亠于舒仆亠 仗仂 y
  • 17. 舒仗仍于舒仆亠仂 亠 仗仂于亠亠 仂 仗仂仂 亟亳亠从亳于舒 亰舒 于 path stars { MOVETO{x cos(90-144) y sin(90-144)} 4* {r 144} LINETO {y 1} CLOSEPOLY{} } path stars { MOVETO{x cos(90-144) y sin(90-144)} 4* {r 144} LINETO {y 1} CLOSEPOLY{} 5* {r 72} { FILL{y 1.88 b 0.5 p evenodd} STROKE{y 1.88} } }
  • 18. 舒仗仍于舒仆亠仂 亠 仗仂于亠亠 仂 仗仂仂 亟亳亠从亳于舒 亰舒 于* startshape stars background {sat 1 h 20} path stars { MOVETO{x cos(90-144) y sin(90-144)} 4* {r 144} LINETO {y 1} CLOSEPOLY{} FILL{b 0.5 hue 50 sat 1 s 1 p evenodd r 35 s 2.9 } STROKE { } } * ...从舒从仂 亳 仂亠舒于舒仆亠仂 仆舒 从仂仆
  • 19. 仂于亳 仗亳仄亳亳于亳 ! startshape S2 background {sat .6 h 40} rule S2 { 50 * { r (360/50) } SRANDOM { x 20 } S2 { a -0.1 s 0.9 r 45 h 20 } } rule SRANDOM { stars { x rand_static(-3, 3) a rand_static (-0.5, 0) y rand_static (-5, 5) s rand_static (0,1 ) hue rand_static (20, 200) }} /* 仄仆仂亞仂 仗亳 ... */ rule SRANDOM { stars { x rand_static(-3, 3) a rand_static (-0.5, 0) y rand_static (-5, 5) s rand_static (0,1 ) hue rand_static (20, 200) }} path stars { MOVETO{x cos(90-144) y sin(90-144)} 4* {r 144} LINETO {y 1} CLOSEPOLY{} FILL{b 0.5 hue 50 sat 1 p evenodd r 35 s 3} STROKE { } }
  • 20. 亳于亳 ARCTO {x x y y rx x_radius ry y_radius r ellipse_angle param parameters} 亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠 亠亞仄亠仆 仂 亠仍亳仗舒 亟仂 仂从舒舒 (x, y), 从舒仂 亠 仗亳亠仄舒, 亠 亠仍亳仗舒舒 亠 舒亟亳 (rx, ry) 亳 亠 亰舒于礌舒 仆舒 舒亟亳 (于 亞舒亟亳) ARCTO {x x y y r radius param parameters} 亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠 亠亞仄亠仆 仂 仂从亢仆仂 舒亟亳 r 亟仂 仂从舒舒 (x, y) CURVETO {x x y y x1 control_x_1 y1 control_y_1} 亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠 从于舒亟舒亳仆舒 从亳于舒 仆舒 亠亰亳亠 亟仂 仂从舒舒 从仂仂亟亳仆舒亳 (x, y) 亳 从仂仆仂仍仆舒 仂从舒 于 (x1, y1) CURVETO {x x y y x1 control_x_1 y1 control_y_1 x2 control_x_2 y2 control_y_2} - 亟于亳亢亳 从舒亠舒舒, 舒从舒 亠 亟舒 仂仗亳亠 从亳于舒 仆舒 亠亰亳亠 亟仂 仂从舒舒 (x, y) 仗于舒 从仂仆仂仍仆舒 仂从舒 于 (x1, y1) 亳 于仂舒 从仂仆仂仍仆舒 仂从舒 亟仂 (x2, y2) CURVETO {x x y y} 亟于亳亢亳 从舒亠舒舒 舒从舒 亠 亟舒 仂仗亳亠 从于舒亟舒亳仆舒 从亳于舒 仆舒 亠亰亳亠 亟仂 仂从舒舒 (x, y) 从仂仆仂仍仆舒 仂从舒, 从仂仂 亠 '仂亞仍亠亟舒仍仆仂' 舒亰仗仂仍仂亢亠仆舒 仗礆仂 从仂仆仂仍仆舒舒 仂从舒 仆舒 仗亠亟亳仆舒舒 从亳于舒
  • 21. 亳于亳 仆舒 亠亰亳亠 弌 亠亟仆舒 从仂仆仂仍仆舒 仂从舒 丐舒仆亞亠仆亳亠 于 P0 亳 P2 仗亠仄亳仆舒于舒 仗亠亰 P1 弌 亟于亠 从仂仆仂仍仆亳 仂从亳 P0 P1 P2 丐舒仆亞亠仆舒舒 于 P0 e P0P1, 舒仆亞亠仆舒舒 于 P3 亠 P2P3 亳于舒舒 仄仂亢亠 亟舒 亠 舒仄仂仗亠亠亠. P0 P1 P2 P3 P4
  • 22. 亳于亳 仆舒 亠亰亳亠 弌 亠亟仆舒 从仂仆仂仍仆舒 仂从舒 仂仂亟亳仆舒仆舒舒 亳亠仄舒 亳 亟仂仗亳舒亠仍仆亳亠 舒 亟仂弍舒于亠仆亳 亰舒 亟亠舒亶仍亳 path roll{ MOVETO { x 5 y 0 } CURVETO { x -5 y 0 x1 0 y1 -10 } STROKE {b 1 width 0.05 } }
  • 23. 亳于亳 仆舒 亠亰亳亠 从仂仆仂仍仆亳 仂从亳 path roll{ MOVETO { x 5 y 0 } CURVETO { x -5 y 0 x1 2.5 y1 5 x2 -2.5 y2 5 } STROKE {b 1 width 0.05} } // 仂 (5,0) 亟仂 (-5, 0) 从仂仆仂仍仆亳 仂从亳 于 (2.5, 5) 亳 (-2.5, 5) 亳 从仂仆 亟亠弍亠仍亳仆舒 0.05 仂仆仂仍仆亳亠 仂从亳 舒 于 (2.5, 5) 亳 (-2.5, 5) 仂仆仂仍仆亳亠 仂从亳 舒 于 (2.5, -5) 亳 (-2.5, 5) path roll{ MOVETO { x 5 y 0 } CURVETO { x -5 y 0 x1 2.5 y1 -5 x2 -2.5 y2 5 } STROKE {b 1 width 0.05} }
  • 24. The DAO startshape dao background {b -.3} path roll{ MOVETO{y 1} ARCTO{y -3} FILL{b 1} MOVETO{y -3} ARCTO{y 1} FILL{} MOVETO{y 1} ARCTO{y -1} FILL{} MOVETO{y -1} ARCTO{y -3 p cw} FILL{ b 1} } rule dao{ roll {} CIRCLE{b 1 s .7} CIRCLE{y -2 s .7} } 丐从 ARCTO 亠 亳亰仗仂仍亰于舒 亟亠 舒从仂 亰舒 亳于舒仆亠 仆舒 仗仂仍仂从亢仆仂亳
  • 25. 亰弍仂 仆舒 从亳于舒 舒舒仄亠 p cw 仆舒 ARCTO 亟亳亠从亳于舒 从舒亰于舒 仆舒 舒从舒舒, 从仂仂 亠 仗仂 仗仂仂从舒 仆舒 舒仂于仆亳从仂于舒舒 亠仍从舒. 弌 仗舒舒仄亠 p large 仄仂亢亠 亟舒 亠 从舒亢亠 亳亰仗仂仍亰于舒仆亠 仆舒 仗仂-亞仂仍礆舒舒 舒从舒 仂 仂从仆仂舒/亠仍亳仗舒舒.
  • 27. SVG 从仄 CFDG 亳 仂弍舒仆仂 亳仄亳亳于亳亠 仆舒 SVG 舒 于仄亠亳仄亳 亠亰亳 仆舒 CFDG 亳 仄仂亢亠 亟舒 仍亠仆仂 亟舒 亠 仆舒仗舒于亳 仗亠仂亟 仂 SVG 舒亞仂于亠 从仄 CFDG 仗亳舒. 于 仂仄舒 仆舒 ContextFree 亠 亟亠仄仂仆亳舒仆 从仂仆于亠仂 亰舒 TTF 亳仂于亠 (于亢. 亳弍仍亳仂亞舒亳舒). 舒 仗舒从亳从舒 仍亠仆仂 仄仂亢亠 亟舒 弍亟亠 亠舒仍亳亰亳舒仆 从仂仆于亠仂 亰舒 仗仂-仗仂亳 SVG 舒亶仍仂于亠. Context Free 仗仂亰于仂仍磦舒 亰舒仗舒亰于舒仆亠 仆舒 亞亠仆亠亳舒仆舒舒 从舒 从舒仂 于亠从仂亠仆 SVG 舒亶仍. SVG 亠 舒仆亟舒亳亰亳舒仆 于亠从仂亠仆 仂仄舒, 从仂亶仂 仄仂亢亠 亟舒 弍亟亠 仂于舒礌 仂 仗仂于亠亠仂 仗仂仗仍仆亳 仗亳仍仂亢亠仆亳 亰舒 舒弍仂舒 于亠从仂仆舒 亞舒亳从舒 (从舒仂 Illustrator, Corel Draw, InkScape 亳 亟.)
  • 28. 仆亳仄亳舒仆亠 仆舒 CFDG, 从仂亠仂 亳仄舒 舒仄仂 亟亠亠仄亳仆亳亳仆亳 仗舒于亳仍舒 rule DAISYALL { DAISYSHAPE { } 6*{r __LARO__ h __LARO__ } DAISYXPAND {x 1} 6*{r __LARO__ } DAISYSHAPE {x 1} } rule DAISYXPAND { DAISYSHAPE { } 6*{r __LARO__ }DAISYSHAPE {x 1 z-1} DAISYXPAND{s .5 r __LARO__ } } path DAISYSHAPE { MOVETO{x -1 y 0} ARCTO {x 1 y 0} ARCTO {x -1 y 0} STROKE{width 0.03 b -1} FILL {b 1 a -.8 sat 1} }
  • 29. 仆亳仄亳舒仆亠 仆舒 仗舒舒仄亠亳 1) 弌亰亟舒于舒仄亠 仗仂仄仂亠仆 从亳仗, 从仂亶仂 亟舒 亞亠仆亠亳舒 仗仂仍亠亟仂于舒亠仍仆仂 仂 CFDG 舒亶仍仂于亠. 2) 亰仗仂仍亰于舒仄亠 从仂仆亰仂仍仆仂仂 仗亳仍仂亢亠仆亳亠 cfdg 亰舒 亞亠仆亠亳舒仆亠 仆舒 于亠从亳 仂 : cfdg cur.cfdg output$SEQ.png -v ARE 3) 亰仗仂仍亰于舒仄亠 mencoder 亰舒 亞亠仆亠亳舒仆亠 仆舒 舒仆亳仄舒亳: mencoder mf://*.png -mf w=500:h=500:fps=25:type=png -ovc copy -oac copy -o output.avi
  • 31. 亰从亳 http://www.khronos.org/openvg/ - OpenVG 舒仆亟舒 http://www.contextfreeart.org/mediawiki/index.php/Paths 亠 亰舒 仗亳舒 http://www.contextfreeart.org/phpbb/viewtopic.php?t=418 亠舒仆亳亰仄 亰舒 从仂仆于亠亳舒仆亠 仆舒 TTF 亳仂于亠 从仄 SVG 亳 仗仂仍亠 从仄 CFDG 仗舒于亳仍舒 http://en.wikipedia.org/wiki/B%C3%A9zier_curve 亳于亳 仆舒 亠亰亳亠 http://www.azarask.in/blog/post/contextfreejs-algorithm-ink- making-art-with-javascript/ - Context Free with JavaScript http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc- images.html 仂亟亳舒仆亠 仆舒 于亳亟亠仂 仂 仗仂仍亠亟仂于舒亠仍仆仂 仂 亳亰仂弍舒亢亠仆亳 http://roberthodgin.com/ - 亳亰仆亠仆舒亟舒