<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<meta charset=utf-8 />
<title>Gradient</title>
</head>
<body>
<div id="paper">
</div>
</body>
</html>
var paper = Raphael("paper", 500, 500);
var total=30;
var center_x=200;
var center_y=200;
var radie=200;
var val = 360 / total;
for (var i=0; total>=i; i++) {
var start=val*i;
var gradientAngle=val*(total-i);
var angle = (start + val % 360) * Math.PI / 180;
renderPiePiece(center_x, center_y, radie, start, start+val, gradientAngle);
}
function renderPiePiece(center_x, center_y, radie, start_angle, end_angle, gradientAngle) {
var flag = (end_angle - start_angle) > 180;
start_angle = (start_angle % 360) * Math.PI / 180;
end_angle = (end_angle % 360) * Math.PI / 180;
paper
.path(
["M", center_x, center_y,
"l", radie * Math.cos(start_angle), radie * Math.sin(start_angle),
"A", radie, radie, 0, +flag, 1, center_x + radie * Math.cos(end_angle), center_y + radie * Math.sin(end_angle),
"z"]
).attr({
stroke:'black',
"stroke-width":1,
fill:gradientAngle+'-#fff:0-#000'
});
}
Output
300px
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |