diff -urN wf-/wf_ex.c wf/wf_ex.c --- wf-/wf_ex.c 2016-01-29 00:00:00.000000000 +0900 +++ wf/wf_ex.c 2016-01-30 00:00:00.000000000 +0900 @@ -568,21 +568,36 @@ data_t *mandala = &(data_t){ DTYPE_REC(op_data_set){ .op = { type_arr, (data_t[]){ { DTYPE_REC(slide_way_liss){.ps=D3_ALL(-1),.pe=D3_ALL(1),.sec={11,12,13}} }, - { DTYPE_REC(rot_way){.l=LINE_Z,.deg_way=WAY_V2(0,360, 10,10, 3)} }, { DTYPE_REC(recursive){ .n = 3, .op = { type_copy_ops, (data_t[]){ { type_zoom_and_slide, (d3_t[]){ D3_ALL(0.5), D3_O } }, { type_arr, (data_t[]){ { DTYPE_REC(copy_rot){.n=3,.l=LINE_I,.step_deg=120} }, + { DTYPE_REC(rot_way){.l=LINE_I,.deg_way=WAY_V2(0,360, 30,30, 3)} }, { DTYPE_REC(copy){.n={2,1,1},.init={-0.75,0,0},.step={1.5,0,0} }}, { type_zoom_all, (double[]){0.25} }, DEND }}, DEND }} }}, { DTYPE_REC(copy_rot){.n=3,.l=LINE_I,.step_deg=120} }, + { DTYPE_REC(rot_way){.l=LINE_I,.deg_way=WAY_V2(0,360, 10,10, 3)} }, DEND }}, .data = { DTYPE_REC(circle){.r=1,.n=100} } }}; + data_t *fractal = &(data_t){ DTYPE_REC(op_data_set){ + .op = { type_arr, (data_t[]){ + { DTYPE_REC(copy_timeshift){.n=3,.step_sec=1,} }, + { DTYPE_REC(recursive){ + .n = 6, + .op = { type_arr, (data_t[]){ + { DTYPE_REC(copy_rot){.n=3,.l=LINE_Z,.init_deg=-60,.step_deg=60} }, + { DTYPE_REC(rot_way){.l={{0,-1,0},D3_X},.deg_way=WAY_V2(-180,0, 10,2, 3)} }, + { type_zoom_and_slide, (d3_t[]){ D3_ALL(0.5), {0,-(1+0.5),0} } }, + DEND }} }}, + DEND }}, + .data = { DTYPE_REC(circle){.r=1,.n=6} } }}; + + struct{ char *key; data_t *data; @@ -603,6 +618,7 @@ { "-fan", (data_t[]){ *fan, DEND } }, { "-gallop", (data_t[]){ *gallop, DEND } }, { "-mandala", (data_t[]){ *mandala, DEND } }, + { "-fractal", (data_t[]){ *fractal, DEND } }, { NULL, (data_t[]){ DEND } } }, *dp = demos;