Skip to content

Instantly share code, notes, and snippets.

@poezn
Created November 22, 2013 01:10
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 poezn/7592991 to your computer and use it in GitHub Desktop.
Save poezn/7592991 to your computer and use it in GitHub Desktop.
brake / acceleration
{"description":"brake / acceleration","endpoint":"","display":"svg","public":true,"require":[],"fileconfigs":{"inlet.js":{"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}},"fullscreen":false,"play":false,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"pingpong","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"thumbnail":"http://i.imgur.com/npMAXwJ.png"}
var accel = function(t, v0, a) {
return v0 * t + (1/2)* a * t * t;
};
var brake = function(t, v0, a) {
return v0 * t + (1/2)* a * t * t;
}
var brake2 = function(t, v0, a) {
t = Math.min(0.7, t);
return v0 * t + (1/2)* a * t * t;
}
var x = d3.range(0, 1, 0.01);
var xScale = d3.scale.linear()
.domain([0, 1])
.range([0, 200]);
var yScale = d3.scale.linear()
.domain([0, 1])
.range([220, 20]);
/*
g.selectAll("circle.accel-normal")
.data(x)
.enter().append("circle")
.attr({
"class": "accel-normal",
"r": 1,
"cx": xScale,
"cy": function(d, i) {
return yScale(accel(d, 0, 20))
},
"fill": "green"
});
g.selectAll("circle.accel-hard")
.data(x)
.enter().append("circle")
.attr({
"class": "accel-hard",
"r": 1,
"cx": xScale,
"cy": function(d, i) {
return yScale(accel(d, 0, 40))
},
"fill": "red"
});*/
g.selectAll("circle.brake-normal")
.data(x)
.enter().append("circle")
.attr({
"class": "brake-normal",
"r": 1,
"cx": xScale,
"cy": function(d, i) {
return yScale(accel(d, 2, -2))
},
"fill": "green"
});
g.selectAll("circle.brake-hard")
.data(x)
.enter().append("circle")
.attr({
"class": "brake-hard",
"r": 1,
"cx": xScale,
"cy": function(d, i) {
return yScale(brake2(d, 2.5, -4))
},
"fill": "red"
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment