Skip to content

Instantly share code, notes, and snippets.

@zeffii
Created August 29, 2013 19:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeffii/6382272 to your computer and use it in GitHub Desktop.
Save zeffii/6382272 to your computer and use it in GitHub Desktop.
boomstick_motion_wcolor_coffee
{"description":"boomstick_motion_wcolor_coffee","endpoint":"","display":"svg","public":true,"require":[],"fileconfigs":{"inlet.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"style.css":{"default":true,"vim":false,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12},"data2.csv":{"default":true,"vim":false,"emacs":false,"fontSize":12},"util.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"injet.coffee":{"default":true,"vim":false,"emacs":false,"fontSize":12},"inlet.coffee":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"fullscreen":false,"play":true,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"period","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"thumbnail":"http://i.imgur.com/OqFYJQH.png"}
# for gelicia :)
# after 'spacedots' http://beesandbombs.tumblr.com/page/2
get_points = (angle, amp) ->
x: Math.cos(angle) * amp
y: Math.sin(angle) * amp
d3.select("body").style "background-color", d3.rgb(25, 25, 25)
num_balls = 17
ball_radius = 12
data = d3.range(num_balls)
rotation_slice = 2 * Math.PI / num_balls
speed = 14 # 10 is about right on default settings
alien_factor = 15 # choose integer values, default 6
alien_factor2 = .42 # choose integer values, default 6
location = "translate(" + [tributary.sw/2, tributary.sh/2] + ")"
tributary.duration = 5300
tributary.init = (g) ->
group1 = g.append("g").classed("group1", true)
.attr(transform: location)
.style(fill: "#aeaeae", stroke: "None")
balls = group1.selectAll("circle")
ball = balls.data(data).enter(data)
.append("circle")
.attr("r", ball_radius)
.attr "fill", (d) ->
d3.hsl(d * (360 / num_balls), 1, 0.5)
tributary.run = (g, t) ->
group1 = g.select(".group1")
balls = group1.selectAll("circle").data(data)
.attr("r", ball_radius + Math.cos(t*4*Math.PI)*2.6)
.attr(transform: (d) ->
slice_offset = alien_factor * Math.PI / num_balls
amp = (Math.cos(speed * t + slice_offset * d) * 130) + 260
amp = Math.log(amp) * Math.log(amp) * amp/68
pos = get_points(rotation_slice * d * t*alien_factor2, amp)
"translate(" + [pos.x, pos.y] + ")"
)
# EOF
.cm-s-elegant.CodeMirror { background: #1e2426; color: #696969; }
.cm-s-elegant div.CodeMirror-selected {background: #064968 !important;} /* 33322B*/
.cm-s-elegant span.cm-variable { color:#22EFFF; }
.cm-s-elegant span.cm-variable-2 { color: #FFCCB4; }
.cm-s-elegant span.cm-variable-3 { color: white; }
.cm-s-elegant span.cm-string { color: Chartreuse; }
.cm-s-elegant span.cm-string-2 {color: Chartreuse;}
.cm-s-elegant span.cm-def {color: #FFCCB4; opacity: 1.0}
.cm-s-elegant span.cm-bracket { color: #EBEFE7; }
.cm-s-elegant pre { color:#FFF; }
.cm-s-elegant span.cm-qualifier { color:#C0C0C0; }
.cm-s-elegant span.cm-comment { color: #AFB4B4;}
.cm-s-elegant span.cm-property {color: #FDA676;}
.cm-s-elegant span.cm-number { color: #FF92EE;}
.cm-s-elegant span.cm-keyword { color: #FFFF18; }
.cm-s-elegant .CodeMirror-cursor { border-left: 1px solid white !important; }
.cm-s-elegant .CodeMirror-gutters {background: #505050;}
.cm-s-elegant .CodeMirror-linenumber {color: #D3D3D3;}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment