animaclock.com
|
about
|
gallery
|
Graph-Based Visual Saliency
Click here for Tutorial
Edit the code below, then click anywhere outside of textarea to update:
Click here to draw your own digits!
var testfont=new function() { this.digitPad = 42; this.groupPad = 15; this.heightFrac = 0.67; this.widthFrac = 1.0; this.bgColor = [0, 255, 0]; this.baseColor = [0, 0, 0]; this.partColor = [0, 100, 200]; this.secondColor = [238, 238, 238]; this.colonColors = { a:this.partColor , b:this.bgColor }; this.lineCap = 'round'; this.lineGap = .75 this.baseLineWidth = 255; this.partLineWidth = 255; this.colonRadius = 234; this.beginAniTime = 0.7; this.endAniTime = 1.0; this.baseInFront = false; this.pulsate = false; this.disableSlowest = true; this.t = new Array(); for (var i=0;i<=50;i++) this.t[i] = new Array(); /* 0->1 (-0, -1, -4, -6) */ this.t[0].push({ src: 2, type: 'shrink', mov: 0, t:[0,.1] }); this.t[0].push({ src: 5, type: 'shrink', mov: 0, t:[.1,.2] }); this.t[0].push({ src: 6, type: 'shrink', mov: 1, t:[.2,.3] }); this.t[0].push({ src: 4, type: 'shrink', mov: 1, t:[.3, .4] }); this.t[0].push({ src: 1, type: 'shrink', mov: 1, t:[.4, .5] }); this.t[0].push({ src: 0, type: 'shrink', mov: 0, t:[.5, .6] }); this.t[0].push({ src: 2, type: 'grow', mov: 1, t:[.6, .65] }); this.t[0].push({ src: 5, type: 'grow', mov: 1, t:[.65, .7] }); /* 1->2 (+0, +3, +4, +6, -5)*/ this.t[1].push({ src: 2, type: 'grow', mov: 0, t:[0, .1] }); this.t[1].push({ src: 5, type: 'grow', mov: 0, t:[.1, .2] }); this.t[1].push({ src: 6, type: 'shrink', mov: 0, t:[.2,.25] }); this.t[1].push({ src: 4, type: 'shrink', mov: 0, t:[.25,.3] }); this.t[1].push({ src: 3, type: 'shrink', mov: 1, t:[.35,.4] }); this.t[1].push({ src: 2, type: 'shrink', mov: 0, t:[.4,.45] }); this.t[1].push({ src: 0, type: 'shrink', mov: 0, t:[.45,.5] }); /* 2->3 (-4, +5) */ this.t[2].push({ src: 0, type: 'grow', mov: 0, t:[0,.125] }); this.t[2].push({ src: 2, type: 'grow', mov: 0, t:[.125,.25] }); this.t[2].push({ src: 3, type: 'grow', mov: 1, t:[.25,.375] }); this.t[2].push({ src: 4, type: 'grow', mov: 0, t:[.375,.4] }); this.t[2].push({ src: 6, type: 'grow', mov: 0, t:[.4,.5] }); this.t[2].push({ src: 0, type: 'grow', mov: 1, t:[.5,.55] }); this.t[2].push({ src: 2, type: 'grow', mov: 1, t:[.5, .6] }); this.t[2].push({ src: 3, type: 'grow', mov: 0, t:[.6,.65] }); this.t[2].push({ src: 5, type: 'grow', mov: 1, t:[.75, .8] }); this.t[2].push({ src: 6, type: 'grow', mov: 0, t:[.8,.85] }); /* 3->4 (-0, -6, +1) */ this.t[3].push({ src: 6, type: 'shrink', mov: 0, t:[0,.125] }); this.t[3].push({ src: 5, type: 'shrink', mov: 1, t:[.125,.25] }); this.t[3].push({ src: 3, type: 'shrink', mov: 1, t:[.25,.275] }); this.t[3].push({ src: 2, type: 'shrink', mov: 1, t:[.275,.35] }); this.t[3].push({ src: 0, type: 'shrink', mov: 1, t:[.35,.5] }); this.t[3].push({ src: 1, type: 'grow', mov: 1, t:[.5,.55] }); this.t[3].push({ src: 3, type: 'grow', mov: 1, t:[.55, .6] }); this.t[3].push({ src: 2, type: 'grow', mov: 1, t:[.6,.65] }); this.t[3].push({ src: 5, type: 'grow', mov: 1, t:[.65,.7] }); /* 4->5 (+0, -2, +6) */ this.t[4].push({ src: 1, type: 'shrink', mov: 0, t:[0,.25] }); this.t[4].push({ src: 2, type: 'shrink', mov: 0, t:[0,.25] }); this.t[4].push({ src: 3, type: 'shrink', mov: 0, t:[.25,.35] }); this.t[4].push({ src: 5, type: 'shrink', mov: 0, t:[.35,.5] }); this.t[4].push({ src: 0, type: 'grow', mov: 0, t:[.5, .55] }); this.t[4].push({ src: 1, type: 'grow', mov: 1, t:[.55, .6] }); this.t[4].push({ src: 3, type: 'grow', mov: 1, t:[.6, .65] }); this.t[4].push({ src: 5, type: 'grow', mov: 1, t:[.65, .7] }); this.t[4].push({ src: 6, type: 'grow', mov: 0, t:[.7, .75] }); /* 5->6 (+4) */ this.t[5].push({ src: 0, type: 'shrink', mov: 1, t:[0,.125] }); this.t[5].push({ src: 1, type: 'shrink', mov: 0, t:[.125,.25] }); this.t[5].push({ src: 3, type: 'shrink', mov: 0, t:[.25,.375] }); this.t[5].push({ src: 5, type: 'shrink', mov: 0, t:[.375,.4] }); this.t[5].push({ src: 6, type: 'shrink', mov: 1, t:[.4,.5] }); this.t[5].push({ src: 0, type: 'grow', mov: 0, t:[.5,.55] }); this.t[5].push({ src: 1, type: 'grow', mov: 1, t:[.55, .6] }); this.t[5].push({ src: 4, type: 'grow', mov: 1, t:[.6,.65] }); this.t[5].push({ src: 6, type: 'grow', mov: 1, t:[.65, .7] }); this.t[5].push({ src: 5, type: 'grow', mov: 0, t:[.75,.8] }); this.t[5].push({ src: 3, type: 'grow', mov: 0, t:[.8,.85] }); /* 6->7 (-1, -3, -4, -6, +2) */ this.t[6].push({ src: 0, type: 'shrink', mov: 1, t:[0,.125] }); this.t[6].push({ src: 1, type: 'shrink', mov: 0, t:[.125,.25] }); this.t[6].push({ src: 4, type: 'shrink', mov: 0, t:[.25,.3] }); this.t[6].push({ src: 3, type: 'shrink', mov: 1, t:[.4,.5] }); this.t[6].push({ src: 5, type: 'shrink', mov: 1, t:[.35,.4] }); this.t[6].push({ src: 6, type: 'shrink', mov: 0, t:[.3,.35] }); this.t[6].push({ src: 0, type: 'grow', mov: 1, t:[.5,.55] }); this.t[6].push({ src: 2, type: 'grow', mov: 1, t:[.55, .6] }); this.t[6].push({ src: 5, type: 'grow', mov: 1, t:[.6,.65] }); /* 7->8 (+1, +3, +4, +6) */ this.t[7].push({ src: 0, type: 'shrink', mov: 0, t:[0,.125] }); this.t[7].push({ src: 2, type: 'shrink', mov: 0, t:[.125,.25] }); this.t[7].push({ src: 5, type: 'shrink', mov: 0, t:[.25,.3] }); this.t[7].push({ src: 0, type: 'grow', mov: 0, t:[.3,.35] }); this.t[7].push({ src: 1, type: 'grow', mov: 1, t:[.35, .4] }); this.t[7].push({ src: 3, type: 'grow', mov: 1, t:[.4, .45] }); this.t[7].push({ src: 5, type: 'grow', mov: 1, t:[.45, .5] }); this.t[7].push({ src: 6, type: 'grow', mov: 0, t:[.5, .55] }); this.t[7].push({ src: 4, type: 'grow', mov: 0, t:[.55, .6] }); this.t[7].push({ src: 2, type: 'grow', mov: 0, t:[.65, .7] }); /* 8->9 (-4) */ this.t[8].push({ src: 0, type: 'shrink', mov: 1, t:[0,.125] }); this.t[8].push({ src: 1, type: 'shrink', mov: 0, t:[.125,.25] }); this.t[8].push({ src: 3, type: 'shrink', mov: 0, t:[.25,.375] }); this.t[8].push({ src: 5, type: 'shrink', mov: 0, t:[.375,.4] }); this.t[8].push({ src: 6, type: 'shrink', mov: 1, t:[.4,.5] }); this.t[8].push({ src: 4, type: 'shrink', mov: 1, t:[.5,.55] }); this.t[8].push({ src: 2, type: 'shrink', mov: 1, t:[.55,.6] }); this.t[8].push({ src: 2, type: 'grow', mov: 0, t:[.65, .66] }); this.t[8].push({ src: 0, type: 'grow', mov: 0, t:[.66, .67] }); this.t[8].push({ src: 1, type: 'grow', mov: 1, t:[.67,.68] }); this.t[8].push({ src: 3, type: 'grow', mov: 1, t:[.68, .69] }); this.t[8].push({ src: 5, type: 'grow', mov: 1, t:[.69,.70] }); this.t[8].push({ src: 6, type: 'grow', mov: 0, t:[.70, .75] }); /* 9->0 (-3, +4) */ this.t[9].push({ src: 2, type: 'shrink', mov: 1, t:[0,.125] }); this.t[9].push({ src: 0, type: 'shrink', mov: 1, t:[.125,.25] }); this.t[9].push({ src: 1, type: 'shrink', mov: 0, t:[.25,.375] }); this.t[9].push({ src: 3, type: 'shrink', mov: 0, t:[.375,.4] }); this.t[9].push({ src: 5, type: 'shrink', mov: 0, t:[.4,.5] }); this.t[9].push({ src: 6, type: 'shrink', mov: 1, t:[.5,.55] }); this.t[9].push({ src: 0, type: 'grow', mov: 0, t:[.65, .7] }); this.t[9].push({ src: 1, type: 'grow', mov: 0, t:[.7, .75] }); this.t[9].push({ src: 4, type: 'grow', mov: 1, t:[.75,.775] }); this.t[9].push({ src: 6, type: 'grow', mov: 1, t:[.775, .8] }); this.t[9].push({ src: 5, type: 'grow', mov: 1, t:[.8,.825] }); this.t[9].push({ src: 2, type: 'grow', mov: 0, t:[.825,.85] }); /* special cases */ /* leading 5->0 (+2, +4, -3) */ this.t[50].push({ src: 0, type: 'grow', via: 'acc', to: 0 }); this.t[50].push({ src: 1, type: 'flip', via: 'acc', to: 1 }); this.t[50].push({ src: 3, type: 'shift', via: 'acc', to: 2 }); this.t[50].push({ src: 5, type: 'flip', via: 'acc', to: 4 }); this.t[50].push({ src: 5, type: 'grow', via: 'acc', to: 5 }); this.t[50].push({ src: 6, type: 'shift', via: 'acc', to: 6 }); /* (noon/midnight under 12hr) 1->nothing (-2, -5) */ this.t[10].push({ src: 2, type: 'shrink', mov: 0 }); this.t[10].push({ src: 5, type: 'shrink', mov: 1 }); /* (noon/midnight under 12hr) 2->1 (-0, -3, -4, -6, +5) */ this.t[21].push({ src: 0, type: 'flip', via: 'acc', to: 2 }); this.t[21].push({ src: 2, type: 'shift', via: 'acc', to: 2 }); this.t[21].push({ src: 3, type: 'flip', via: 'acc', to: 5 }); this.t[21].push({ src: 4, type: 'shift', via: 'acc', to: 5 }); this.t[21].push({ src: 6, type: 'flip', via: 'acc', to: 5 }); /* (midnight under 24hr) 2->nothing (-0, -2, -3, -4, -6) */ this.t[20].push({ src: 0, type: 'shrink', mov: 0 }); this.t[20].push({ src: 2, type: 'shrink', mov: 1 }); this.t[20].push({ src: 3, type: 'shrink', mov: 1 }); this.t[20].push({ src: 4, type: 'shrink', mov: 1 }); this.t[20].push({ src: 6, type: 'shrink', mov: 1 }); /* (midnight under 24hr) 3->0 (-3, +1, +4) */ this.t[30].push({ src: 0, type: 'flip', via: 'acc', to: 0 }); this.t[30].push({ src: 2, type: 'flip', via: 'acc', to: 1 }); this.t[30].push({ src: 3, type: 'shift', via: 'acc', to: 2 }); this.t[30].push({ src: 5, type: 'loop', via: 'acc', to: 4 }); this.t[30].push({ src: 5, type: 'loop', via: 'acc', to: 6 }); this.t[30].push({ src: 6, type: 'grow', via: 'acc', to: 5 }); /* (leading hr @ 9:59) nothing -> 1 (+2, +5)*/ this.t[11].push({ src: 5, type: 'grow', mov: 0, t:[.9,.95]}); this.t[11].push({ src: 2, type: 'grow', mov: 0, t:[.95,1]}); }
TO SAVE WORK
:
font name
:
(new or previous)
letters/numbers, no spaces
author username
:
(create now OR recall)
letters/numbers, no spaces
password
:
(create now OR recall)
remember what you type here -
it creates an instant account
(nothing is saved till you hit save)
see previous versions of this font