Skip to content

Instantly share code, notes, and snippets.

@cheeaun
Created January 26, 2018 06:24
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 cheeaun/497b6b7767404c7b3b6b7e7a5b05e89f to your computer and use it in GitHub Desktop.
Save cheeaun/497b6b7767404c7b3b6b7e7a5b05e89f to your computer and use it in GitHub Desktop.
Film Flowers Petal Starter Code
license: gpl-3.0
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://d3js.org/d3.v4.min.js"></script>
<style>
svg {
width: 900px;
height: 900px;
}
</style>
</head>
<body>
<svg></svg>
<script>
// draw petal
var petals = [
[
'M0,0',
'C50,40 50,70 20,100',
'L0,85',
'L-20,100',
'C-50,70 -50,40 0,0'
],
[
'M50,0',
'C80,30 90,70 75,100',
'L50,65',
'L25,100',
'C10,70 20,30 50,0'
],
[
'M50,0',
'C120,30 110,100 75,100',
'C70,100 50,100 50,65',
'C50,100 30,100 25,100',
'C-10,100 -20,30 50,0'
],
[
'M0,0',
'C40,0 40,40 50,60',
'C40,60 0,60 0,0'
],
];
d3.select('svg').selectAll('path')
.data(petals).enter().append('path')
.attr('stroke', '#000')
.attr('stroke-width', 2)
.attr('fill', 'none')
.attr('d', function(d) {return d})
.attr('transform', function(d, i) {
var x = (i % 3 + 0.5) * 150;
var y = (Math.floor(i / 3) + 0.5) * 150;
return `translate(${x}, ${y})`;
})
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment