Skip to content

Instantly share code, notes, and snippets.

@tophtucker
tophtucker / README.md
Last active December 1, 2015 03:07
Streaky Text II

Crappy ripoff of FizzyText (seen here, source here, my attempted explanation here).

In this one, there are actually three canvases:

  • One to get collision-detection info from
  • One that doesn't get cleared every frame, to show streaks
  • One that gets cleared every frame, to show the moving endpoints

I set everything to the same color; the particles aren't picking up the color of what's underneath.

@tophtucker
tophtucker / README.md
Created December 1, 2015 02:59
Streaky Text III

Crappy ripoff of FizzyText (seen here, source here, my attempted explanation here).

Improvements:

  • Particles pick up the background color from the underlying canvas, which is hidden here
  • I like when the particles draw the letterforms without just fillTexting as a crutch
  • Refactored improvedNoise.js a bit to return a noise generator, so you can get different seeds or whatever, instead of just a single global noise() function. But that's not really being used yet here...
@tophtucker
tophtucker / README.md
Last active December 1, 2015 03:00
Streaky Text IV

Crappy ripoff of FizzyText (seen here, source here, my attempted explanation here).

Compared to the last, this one just has particles everywhere, randomly colored, that pick up the color of the (invisible) text when they go over its "shadow", so you can see the text by its color coherence. A color-blind person's nightmare, I guess.

N.b. that this has a downward bias, this.y += this.v;. As opposed to just following Perlin-derived flow field in any direction.

@tophtucker
tophtucker / README.md
Last active December 1, 2015 03:02
FizzyText ripoff, variable flow chameleon

Crappy ripoff of FizzyText (seen here, source here, my attempted explanation here).

Extremely similar to the original FizzyText, except kinda hacked apart and put together more sloppily. Differences:

  • Particles pick up the color of the underlying (invisible) canvas. (Could just as easily be used with images or whatever.)
  • Particles slow down while they're atop the letterforms.
  • The flow field oscillates between two different flow fields, giving the appearance of the letters periodically being blown apart and re-cohering.
  • I'm still not randomly seeding the noise generators correctly, so...
@tophtucker
tophtucker / CurlzSD.eot
Last active December 1, 2015 03:04
CurlyText
@tophtucker
tophtucker / README.md
Last active September 13, 2019 10:03
Letter flow

Roll over the text.

Owes a huge debt to George Michael Brower’s FizzyText.

@tophtucker
tophtucker / README.md
Last active December 25, 2015 13:59
Litera ex litera

Roll over the text.

Owes a huge debt to George Michael Brower’s FizzyText.

@tophtucker
tophtucker / README.md
Last active December 5, 2015 09:15
Bloomberg ex litera
@tophtucker
tophtucker / README.md
Last active December 7, 2015 17:03
Particle painter
@tophtucker
tophtucker / d3.min.js
Last active January 11, 2016 19:20
FizzyText IX (Booklist)
!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function r(n){return null===n?0/0:+n}function u(n){return!isNaN(n)}function i(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function c(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function l(){this._=Object.create(null)}function s(n){return(n+="")===pa||n[0]===va?va+n:n}function f(n){return(n+="")[0]===va?n.slice(1):n}function h(n){return s(n)in this._}function g(n){return(n=s(n))in this._&&delete this._[n]}function p(){var n=[]