Skip to content

Instantly share code, notes, and snippets.

@parasquid
Last active January 26, 2018 06:36
Show Gist options
  • Save parasquid/40222aee3a91ad1d0b79aff91f8e6e88 to your computer and use it in GitHub Desktop.
Save parasquid/40222aee3a91ad1d0b79aff91f8e6e88 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"
],
[
"M100,0",
"C100,30 90,40 80,50",
"C70,60 60,70 60,90",
"C70,120 80,100 100,140",s
"C110,120 100,120 130,110",
"C140,100 140,100 140,90",
"C90,30 100,40 120,50",
"C100,0 100,0 100,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