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 = 14; this.groupPad = 15; this.heightFrac = 0.85; this.widthFrac = 0.85; this.lineCap = 'butt'; this.baseColor = [ 241, 241, 241 ]; this.partColor = [ 20, 20, 19 ]; this.secondColor = [ 241, 241, 241 ]; this.colonColors = [ [200, 200, 200] , [100, 100, 100] ]; this.baseLineWidth = 6; this.partLineWidth = 5; this.colonRadius = 3; this.beginAniTime = 0; this.endAniTime = 1; this.baseInFront = false; this.pulsate = false; this.alarm = { loopLength: 0.5, bgColor: { a:[ 241, 241, 241 ], b:[255,20,20], t:0.5 } , animation: {type:'hop'} }; this.disableSlowest = false; this.t = new Array(); for (var i=0;i<=50;i++) this.t[i] = new Array(); trans0 = { a:this.partColor , b:[255,255,255], t:0.1} trans1 = { a:this.partColor , b:[255,255,0], t:0.2} trans2 = { a:this.partColor , b:[255,0,255], t:0.3} trans3 = { a:this.partColor , b:[0,255,255], t:0.4} trans4 = { a:this.partColor , b:[0,0,255], t:0.5} trans5 = { a:this.partColor , b:[255,0,0], t:0.6} trans6 = { a:this.partColor , b:[0,255,0], t:0.7} trans7 = { a:this.partColor , b:[100,255,100], t:0.8} trans8 = { a:this.partColor , b:[255,100,255], t:0.9} trans9 = { a:this.partColor , b:[100,255,255], t:0.95} trans50 = { a:this.partColor, b:[255,255,100], t:0.5} /* 0->1 (-0, -1, -4, -6) */ nturns=0; t1=Math.random()/2; t2=1; this.t[0].push({ src: 0, type: 'loop', turns: nturns, via: 'occ', to: 2, col:trans0, t:[t1,t2] }); this.t[0].push({ src: 1, type: 'loop', turns: nturns, via: 'occ', to: 2, col:trans0, t:[t1,t2] }); this.t[0].push({ src: 2, type: 'loop', turns: nturns, via: 'occ', to: 2, col:trans0, t:[t1,t2] }); this.t[0].push({ src: 4, type: 'loop', turns: nturns, via: 'occ', to: 5, col:trans0, t:[t1,t2] }); this.t[0].push({ src: 5, type: 'loop', turns: nturns, via: 'occ', to: 5, col:trans0, t:[t1,t2] }); this.t[0].push({ src: 6, type: 'loop', turns: nturns, via: 'occ', to: 5, col:trans0, t:[t1,t2] }); /* 1->2 (+0, +3, +4, +6, -5)*/ t1=Math.random()/2; t2=1; this.t[1].push({ src: 2, type: 'loop', to: 0, col:trans1, t:[t1,t2] }); this.t[1].push({ src: 5, type: 'loop', to: 3, col:trans1, t:[t1,t2] }); this.t[1].push({ src: 2, type: 'loop', to: 2, col:trans1, t:[t1,t2] }); this.t[1].push({ src: 5, type: 'loop', to: 4, col:trans1, t:[t1,t2] }); this.t[1].push({ src: 5, type: 'loop', to: 6, col:trans1, t:[t1,t2] }); /* 2->3 (-4, +5) */ t1=Math.random()/2; this.t[2].push({ src: 0, type: 'loop', via: 'occ', to: 0, col:trans2, t:[t1,t2] }); this.t[2].push({ src: 2, type: 'loop', via: 'occ', to: 2, col:trans2, t:[t1,t2] }); this.t[2].push({ src: 3, type: 'loop', via: 'occ', to: 3, col:trans2, t:[t1,t2] }); this.t[2].push({ src: 4, type: 'loop', via: 'occ', to: 5, col:trans2, t:[t1,t2] }); this.t[2].push({ src: 6, type: 'loop', via: 'occ', to: 6, col:trans2, t:[t1,t2] }); /* 3->4 (-0, -6, +1) */ t1=Math.random()/2; this.t[3].push({ src: 0, type: 'loop', via: 'occ', to: 1, col:trans3, t:[t1,t2] }); this.t[3].push({ src: 2, type: 'loop', via: 'occ', to: 2, col:trans3, t:[t1,t2] }); this.t[3].push({ src: 3, type: 'loop', via: 'occ', to: 3, col:trans3, t:[t1,t2] }); this.t[3].push({ src: 5, type: 'loop', via: 'occ', to: 5, col:trans3, t:[t1,t2] }); this.t[3].push({ src: 6, type: 'loop', via: 'occ', to: 5, col:trans3, t:[t1,t2] }); /* 4->5 (+0, -2, +6) */ t1=Math.random()/2; this.t[4].push({ src: 1, type: 'loop', via: 'occ', to: 1, col:trans4, t:[t1,t2] }); this.t[4].push({ src: 2, type: 'loop', via: 'occ', to: 0, col:trans4, t:[t1,t2] }); this.t[4].push({ src: 3, type: 'loop', via: 'occ', to: 3, col:trans4, t:[t1,t2] }); this.t[4].push({ src: 5, type: 'loop', via: 'occ', to: 5, col:trans4, t:[t1,t2] }); this.t[4].push({ src: 5, type: 'loop', via: 'occ', to: 6, col:trans4, t:[t1,t2] }); /* 5->6 (+4) */ t1=Math.random()/2; this.t[5].push({ src: 0, type: 'loop', via: 'occ', to: 0, col:trans5, t:[t1,t2] }); this.t[5].push({ src: 1, type: 'loop', via: 'acc', to: 1, col:trans5, t:[t1,t2] }); this.t[5].push({ src: 3, type: 'loop', via: 'acc', to: 3, col:trans5, t:[t1,t2] }); this.t[5].push({ src: 5, type: 'loop', via: 'acc', to: 5, col:trans5, t:[t1,t2] }); this.t[5].push({ src: 6, type: 'loop', via: 'acc', to: 6, col:trans5, t:[t1,t2] }); this.t[5].push({ src: 6, type: 'loop', via: 'acc', to: 4, col:trans5, t:[t1,t2] }); /* 5->0 (+2, +4, -3) */ t1=Math.random()/2; this.t[50].push({ src: 0, type: 'loop', via: 'acc', to: 1, col:trans50, t:[t1,t2] }); this.t[50].push({ src: 1, type: 'loop', via: 'acc', to: 0, col:trans50, t:[t1,t2] }); this.t[50].push({ src: 3, type: 'loop', via: 'acc', to: 2, col:trans50, t:[t1,t2] }); this.t[50].push({ src: 5, type: 'loop', via: 'acc', to: 4, col:trans50, t:[t1,t2] }); this.t[50].push({ src: 6, type: 'loop', via: 'acc', to: 5, col:trans50, t:[t1,t2] }); this.t[50].push({ src: 3, type: 'loop', via: 'acc', to: 6, col:trans50, t:[t1,t2] }); /* 6->7 (-1, -3, -4, -6, +2) */ t1=Math.random()/2; this.t[6].push({ src: 0, type: 'loop', via: 'acc', to: 0, col:trans6, t:[t1,t2] }); this.t[6].push({ src: 1, type: 'loop', via: 'acc', to: 0, col:trans6, t:[t1,t2] }); this.t[6].push({ src: 3, type: 'loop', via: 'acc', to: 2, col:trans6, t:[t1,t2] }); this.t[6].push({ src: 4, type: 'loop', via: 'acc', to: 5, col:trans6, t:[t1,t2] }); this.t[6].push({ src: 5, type: 'loop', via: 'acc', to: 5, col:trans6, t:[t1,t2] }); this.t[6].push({ src: 6, type: 'loop', via: 'acc', to: 5, col:trans6, t:[t1,t2] }); /* 7->8 (+1, +3, +4, +6) */ t1=Math.random()/2; this.t[7].push({ src: 0, type: 'loop', via: 'acc', to: 0, col:trans7, t:[t1,t2] }); this.t[7].push({ src: 0, type: 'loop', via: 'acc', to: 1, col:trans7, t:[t1,t2] }); this.t[7].push({ src: 2, type: 'loop', via: 'acc', to: 3, col:trans7, t:[t1,t2] }); this.t[7].push({ src: 2, type: 'loop', via: 'acc', to: 2, col:trans7, t:[t1,t2] }); this.t[7].push({ src: 2, type: 'loop', via: 'acc', to: 4, col:trans7, t:[t1,t2] }); this.t[7].push({ src: 5, type: 'loop', via: 'acc', to: 6, col:trans7, t:[t1,t2] }); this.t[7].push({ src: 5, type: 'loop', via: 'acc', to: 5, col:trans7, t:[t1,t2] }); /* 8->9 (-4) */ t1=Math.random()/2; this.t[8].push({ src: 0, type: 'loop', via: 'acc', to: 0, col:trans8, t:[t1,t2] }); this.t[8].push({ src: 1, type: 'loop', via: 'acc', to: 1, col:trans8, t:[t1,t2] }); this.t[8].push({ src: 2, type: 'loop', via: 'acc', to: 2, col:trans8, t:[t1,t2] }); this.t[8].push({ src: 3, type: 'loop', via: 'acc', to: 3, col:trans8, t:[t1,t2] }); this.t[8].push({ src: 4, type: 'loop', via: 'acc', to: 3, col:trans8, t:[t1,t2] }); this.t[8].push({ src: 5, type: 'loop', via: 'acc', to: 5, col:trans8, t:[t1,t2] }); this.t[8].push({ src: 6, type: 'loop', via: 'acc', to: 6, col:trans8, t:[t1,t2] }); /* 9->0 (-3, +4) */ t1=Math.random()/2; this.t[9].push({ src: 0, type: 'loop', via: 'acc', to: 0, col:trans9, t:[t1,t2] }); this.t[9].push({ src: 1, type: 'loop', via: 'acc', to: 1, col:trans9, t:[t1,t2] }); this.t[9].push({ src: 2, type: 'loop', via: 'acc', to: 2, col:trans9, t:[t1,t2] }); this.t[9].push({ src: 3, type: 'loop', via: 'acc', to: 4, col:trans9, t:[t1,t2] }); this.t[9].push({ src: 5, type: 'loop', via: 'acc', to: 5, col:trans9, t:[t1,t2] }); this.t[9].push({ src: 6, type: 'loop', via: 'acc', to: 6, col:trans9, t:[t1,t2] }); /* special cases */ t1 = Math.random()/2 t2 = 1 /* leading 5->0 (+2, +4, -3) */ this.t[50].push({ src: 3, type: 'loop', to: 4,col:trans50,t:[t1,t2] }); this.t[50].push({ src: 2, type: 'grow', mov: 1 }); /* (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: 0 }); /* (noon/midnight under 12hr) 2->1 (-0, -3, -4, -6, +5) */ this.t[21].push({ src: 0, type: 'loop', to: 2 }); this.t[21].push({ src: 3, type: 'loop', to: 2 }); this.t[21].push({ src: 4, type: 'loop', to: 5 }); this.t[21].push({ src: 6, type: 'loop', 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: 0 }); this.t[20].push({ src: 3, type: 'shrink', mov: 0 }); this.t[20].push({ src: 4, type: 'shrink', mov: 0 }); this.t[20].push({ src: 6, type: 'shrink', mov: 0 }); /* (midnight under 24hr) 3->0 (-3, +1, +4) */ this.t[30].push({ src: 3, type: 'flip', to: 1 }); this.t[30].push({ src: 3, type: 'flip', to: 4 }); /* (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