Generating Polygons using D3.js
xxxxxxxxxx
<html lang="en">
<head>
<meta charset="utf-8">
<title>Basic Shapes - Polygons</title>
<!-- JavaScript Libraries //-->
<script src="https://d3js.org/d3.v3.min.js"></script>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<!-- CSS Style //-->
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="form" style="display:inline-block;float:left;">
<div class="formElement">
<span >X</span>
<input id="x" type="number">
</div>
<div class="formElement">
<span >Y</span>
<input id="y" type="number">
</div>
<div class="formElement">
<span >Radius</span>
<input id="radius" type="number">
</div>
<div class="formElement">
<span >Number of Sides</span>
<input id="noOfSides" type="number">
</div>
<div class="formElement">
<span >Starting Angle</span>
<input id="startAngle" type="number">
</div>
<div class="formElement">
<span >Fill Color</span>
<input id="fillColor" type="text">
</div>
<div class="formElement">
<span >Stroke Color</span>
<input id="strokeColor" type="text">
</div>
<div class="formElement">
<span >Stroke Width</span>
<input id="strokeWidth" type="number">
</div>
<div class="formElement">
<span >Width</span>
<input id="width" type="number">
</div>
<div class="formElement">
<span >Height</span>
<input id="height" type="number">
</div>
</div>
<div id="polygon" style="display:inline-block;float:right;"></div>
</body>
<script type="text/javascript" src="main.js"></script>
<script>
var config = {
margin : {top: 50, right: 50, bottom: 50, left: 50},
x : 150,
y : 150,
radius : 50,
no_of_sides : 5,
start_angle : 45,
fill_color : "red",
width : 300,
height : 150,
stroke_color : "black",
stroke_width : 2,
dom_element : "#polygon"
};
$("#x").val(config.x);
$("#y").val(config.y);
$("#radius").val(config.radius);
$("#noOfSides").val(config.no_of_sides);
$("#startAngle").val(config.start_angle);
$("#width").val(config.width);
$("#height").val(config.height);
$("#strokeColor").val(config.stroke_color);
$("#strokeWidth").val(config.stroke_width);
$("#fillColor").val(config.fill_color);
$("#x").on("input",function(){
config.x = parseInt($(this).val());
renderPolygon(config,false);
});
$("#y").on("input",function(){
config.y = parseInt($(this).val());
renderPolygon(config,false);
});
$("#radius").on("input",function(){
config.radius = parseInt($(this).val());
renderPolygon(config,false);
});
$("#startAngle").on("input",function(){
config.start_angle = parseInt($(this).val());
renderPolygon(config,false);
});
$("#noOfSides").on("input",function(){
config.no_of_sides = parseInt($(this).val());
renderPolygon(config,false);
});
$("#fillColor").on("input",function(){
config.fill_color = $(this).val();
renderPolygon(config,false);
});
$("#width").on("input",function(){
config.width = parseInt($(this).val());
renderPolygon(config,false);
});
$("#height").on("input",function(){
config.height = parseInt($(this).val());
renderPolygon(config,false);
});
$("#strokeColor").on("input",function(){
config.stroke_color = $(this).val();
renderPolygon(config,false);
});
$("#strokeWidth").on("input",function(){
config.stroke_width = parseInt($(this).val());
renderPolygon(config,false);
});
renderPolygon(config,true);
</script>
</html>
Modified http://d3js.org/d3.v3.min.js to a secure url
https://d3js.org/d3.v3.min.js
https://code.jquery.com/jquery-3.1.1.min.js