APEX@IGP

Infogrid Pacific-The Science of Information

22

SVG Primitives. Polygons

This sample SVG Primitives Polygon library lets you examine the internals and see how hand-crafted SVG can be used for the creation of sophisticated digital education content. Modified: 20 Decmeber 2015

 

This is a collection of standard polygons that are useful in educational content context. All polygons are based on a 300px diameter circle centered at 200px X 200px on the standard 400px X 400px window.

Do you want to learn how to make great handcrafted SVG?

Visit our new  Interactive SVG Tutorial Site here ►.

These were constructed using the standard direct method of creating angle lines and then joining the points created  where the construction radius lines intersect the construction circle. This is relatively quick and painless. The construction lines are available in the SVG for the curious.

alt

Production Note on the Layout Graph

Webkit does not support repeating-linear-gradient but does have -webkit-repeating-linear-gradient that uses percentages only in this attribute. The result is you will see a set of blurred lines instead of a grid.

repeating-linear-gradient works reliably in Firefox and IE10. If you want to use this grid technique you will have to use a supporting browser right now.

Because the layout graphs are only normally present in the IGP:Writer authoring mode and not the final output images we haven't bothered with cross-browser adjustments. We just use the right tools for the job!

Fig 1. Equilateral Triangle

Equilateral Triangle

Drawn into a 300px diameter circle.

The construction lines are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

Fig 2. Isoceles Triangle

Isoceles Triangle

This isocles triangle was created by skewing and translating the basic equilateral triangle. (Demonstrating the fact the equilateral triangle is "King."

Drawing using angle lines from the center is probably a more practical way to create an isoceles triangle primitive. This means its center is always knows and moving and rotating the shape is trivial.

View the SVG

Fig 3. Scalene Triangle

Scalene Triangle

A scalene triangle is the easiest. Just plop three polygon points down in the required position and you are done.

Because scalene triangles are not symmetrical in an way rotation is arbitrary so building scalene triangles on the circle has no particular value.

This example is built on the same equilateral triangle base because we possibly want to use it in an animation later.

View the SVG

{C} {C} Fig 4. Right Triangle

Right Triangle

Drawn into a 300px diameter circle as an equilateral triangle and then skewed on the X-Axis by 30deg for a very nice right triangle. This can be further maniupulated by transforming scale.

In this drawing the original construction lines have no particular value except to demonstrate it did start life as a equilateral triangle.

View the SVG

A B C D a b c d Fig 5.Square

Square

Drawn into a 300px diameter circle using the svg <rect> shape. This is a very simple shape to work with. Placing it in the circle probably makes it more complex than it needs to be

The construction lines, points and text are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

 

Fig 6.Rectangle

Rectangle

Drawn into a 300px diameter circle for consistence using the SVG <rect> shape.

The construction lines are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

Fig 7. Parallelogram

Parallelogram

Drawn into a 300px diameter circle for consistence using the SVG <rect> shape.

The construction lines are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

Fig 8.Pentagon

Pentagon

Drawn into a 300px diameter circle.

The construction lines are created from the center of the image with 72deg transforms. This direct method is the easiest way to create an accurate polygon. Construction components are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

Fig 9. Hexagon

Hexagon

Drawn into a 300px diameter circle.

A different construction method was used with the Hexagon. Two circles with tthe same radius as the circle bounding the Hexagon were drawn on each edge of the horizontal center access.

View the SVG

Fig 10. Heptagon

Heptagon

Drawn into a 300px diameter circle.

There is no compass construction method that is completely accurate for a heptagon so the radius lines with rotation transforms of 53.43deg have been used to find the vertices.

View the SVG

{C}{C} {C}{C}{C}{C}{C}{C}{C}{C}{C}{C}Fig 11. Octagon {C}{C}

Octagon

Drawn into a 300px diameter circle.

The construction lines are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

{C}{C} {C}{C}{C}{C}{C}{C}{C}{C}{C}{C}Fig 12. Nonagon {C}{C}

Nonagon

Drawn into a 300px diameter circle.

The construction lines are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

{C}{C} {C}{C}{C}{C}{C}{C}{C}{C}{C}{C}Fig 13. Decagon {C}{C}

Decagon

Drawn into a 300px diameter circle.

The construction lines are clearly marked in the SVG code (click View the SVG). This can be deleted when an SVG Primitive is being used.

View the SVG

    

That's all the pentagons folks. It may possibly be the world's most boring collection, but they are are immediately available, ready to work SVG Primitives.

Next we move on to learning how to use these SVG Primitives in "Oh so many ways" to make digital content education books faster and more easily, but more important in a way that can last forever and be forever updated and improved.

<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- EQUILATERAL TRIANGLE -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - EQUILATERAL TRIANGLE -->
 <polygon class="shape" points="
    200,50
    70, 275
    330,275" />
<!-- POINTS -->
 <circle class="point" cx="200" cy="50" r="2" />
 <circle class="point" cx="70" cy="275" r="2" />
 <circle class="point" cx="330" cy="275" r="2" />
 
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
<text class="text1" x="200" y="95" >A </text>
<text class="text1" x="300" y="265">B</text>
<text class="text1" x="100" y="265">C</text>
 <!-- TEXT LINES -->
<text class="text2" x="200" y="300">a</text>
<text class="text2" x="120" y="160">b</text>
<text class="text2" x="270" y="160">c</text>
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 1.</tspan> Equilateral Triangle</text>    
 
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150" />
<line class="construction" x1="200" x2="200" y1="200" y2="25"
    transform="rotate(0 200 200)" > </line>
<line class="construction" x1="200" x2="200" y1="200" y2="25"
    transform="rotate(120 200 200)"> </line>
<line class="construction" x1="200" x2="200" y1="200" y2="25"
    transform="rotate(240 200 200)"> </line>
 </g>
 
</svg>
<svg height="400" width="400">
<!-- ISOCELES TRIANGLE -->
<polygon points="
    200,50
    70, 275
    330,275"
    fill="rgba(0, 255, 0, 0.5)"
    stroke="black"
    stroke-width="1"
    transform="scale(0.8 1.15) translate(50,-6)" />
 
<!-- POINTS -->
 <circle cx="200" cy="50" r="2" fill="red"/>
 <circle cx="97" cy="308" r="2" fill="red"/>
 <circle cx="303" cy="308" r="2" fill="red"/>
 
 <!-- CONSTRUCTION COMPONENTS -->
 <circle cx="200" cy="200"
 fill="transparent" r="150"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1">
 </circle>
 
 <line  x1="200" x2="200" y1="200" y2="25"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1"
 transform="rotate(0 200 200)">
 </line>
 
 <line  x1="200" x2="200" y1="200" y2="25"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1"
 transform="rotate(137 200 200)">
 </line>
 
 <line  x1="200" x2="200" y1="200" y2="25"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1"
 transform="rotate(-137 200 200)">
 </line>
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 2.</tspan> Isoceles Triangle</text>    
 </svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- SCALENE TRIANGLE -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style:normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - SCALENE TRIANGLE -->
<polygon class="shape" points="
    30,50
    70, 275
    330,275" />
    
<!-- POINTS -->
<circle class="point" cx="30" cy="50" r="2" />
<circle class="point" cx="68" cy="275" r="2" />
<circle class="point" cx="330" cy="275" r="2" />   
<!-- ARCS -->
<!-- TICK MARKS -->
<!-- TEXT VERTICES -->
<!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 3.</tspan> Scalene Triangle</text>       
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150" />
<line class="construction" x1="200" x2="200" y1="200" y2="25"
 transform="rotate(0 200 200)" />
<line class="construction"  x1="200" x2="200" y1="200" y2="25"
 transform="rotate(120 200 200)" />
<line class="construction" x1="200" x2="200" y1="200" y2="25"
 transform="rotate(-120 200 200)" />
 </g>
 
</svg>
<svg height="400" width="400">
<!-- RIGHT TRIANGLE -->
<polygon points="
    200,50
    70, 275
    330,275"
    fill="rgba(0, 255, 0, 0.5)"
    stroke="black"
    stroke-width="1"
     transform="skewX(-30) translate(160 0)"
    />
 
<!-- POINTS -->
 <circle cx="330" cy="50" r="2" fill="red"/>
 <circle cx="70" cy="275" r="2" fill="red"/>
 <circle cx="330" cy="275" r="2" fill="red"/>
 
 
 <!-- CONSTRUCTION COMPONENTS -->
 <circle cx="200" cy="200"
 fill="transparent" r="150"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1">
 </circle>
 
 <line  x1="200" x2="200" y1="200" y2="25"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1"
 transform="rotate(0 200 200)">
 </line>
 
 <line  x1="200" x2="200" y1="200" y2="25"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1"
 transform="rotate(120 200 200)">
 </line>
 
 <line  x1="200" x2="200" y1="200" y2="25"
 stroke="black"
 stroke-dasharray="2, 2"
 stroke-width="1"
 transform="rotate(240 200 200)">
 </line>
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 4.</tspan> Right Triangle</text>    
 </svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- SQUARE -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - SQUARE -->
 <rect class="shape" x="95" y="95" width="210" height="210" />
    
<!-- POINTS -->
<circle class="point" cx="95" cy="95" r="2" />
<circle class="point" cx="95" cy="305" r="2" />
<circle class="point" cx="305" cy="95" r="2" />
<circle class="point" cx="305" cy="305" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
<text class="text1" x="110" y="120">A </text>
<text class="text1" x="285" y="120">B</text>
<text class="text1" x="110" y="290">C</text>
<text class="text1" x="285" y="290">D</text>
 <!-- TEXT LINES -->
<text class="text2" x="200" y="85">a</text>
<text class="text2" x="315" y="200">b</text>
<text class="text2" x="200" y="330">c</text>    
<text class="text2" x="70" y="200">d</text>
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 5.</tspan>Square</text>    
 
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150" />
<line class="construction" x1="40" y1="200" x2="360" y2="200"
    transform="rotate(45 200 200)" />
<line class="construction" x1="40" y1="200" x2="360" y2="200"
    transform="rotate(-45 200 200)"/>
    
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- RECTANGLE -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal; }
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - RECTANGLE -->
 <rect class="shape" x="50" y="95" width="300" height="210"
        fill="rgba(255, 0, 0, 0.5)"
    stroke="black"
    stroke-width="1" />
    
<!-- POINTS -->
<circle class="point" cx="50" cy="95" r="2" fill="red"/>
<circle class="point" cx="350" cy="95" r="2" fill="red"/>
<circle class="point" cx="50" cy="305" r="2" fill="red"/>
<circle class="point" cx="350" cy="305" r="2" fill="red"/>
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 6.</tspan>Rectangle</text>
 
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150"  />
<line class="construction" x1="50" y1="95" x2="350" y2="305" />
<line class="construction" x1="50" y1="305" x2="350" y2="95" />
    
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- PARALLELOGRAM -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - PARALLELOGRAM -->
 <rect class="shape" x="50" y="95" width="300" height="210"
    transform="skewX(-15) translate(53,0)"/>
    
<!-- POINTS -->
 <circle class="point" cx="78" cy="95" r="2" />
<circle class="point" cx="378" cy="95" r="2" />
<circle class="point" cx="322" cy="305" r="2" />
<circle class="point" cx="22" cy="305" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 7.</tspan> Parallelogram</text>        
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150" />
<line class="construction" x1="50" y1="95" x2="350" y2="305" />
<line class="construction" x1="50" y1="305" x2="350" y2="95" />
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- PENTAGON -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - PENTAGON -->
<polygon class="shape" points="
    200,50
    58, 154
    112,321
    288,321
    342,154" />
<!-- POINTS -->
<circle class="point" cx="200" cy="50" r="2" />
<circle class="point" cx="58" cy="154" r="2" />
<circle class="point" cx="112" cy="321" r="2" />
<circle class="point" cx="288" cy="321" r="2" />
<circle class="point" cx="342" cy="154" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 8.</tspan>Pentagon</text>    
 
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150" />
<line class="construction" x1="200" y1="200" x2="200" y2="30"     
    transform="rotate(0 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(72 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(144 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(216 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(288 200 200)" />
    
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
 <!-- HEXAGON -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - HEXAGON -->
 <polygon class="shape" points="
350,200
275,70
125,70
50,200
125,330
275,330" />
<!-- POINTS -->
<circle class="point" class="point" cx="350" cy="200" r="2" />
<circle class="point" class="construction" cx="275" cy="70" r="2" />
<circle class="point" cx="125" cy="70" r="2" />
<circle class="point" cx="50" cy="200" r="2" />
<circle class="point" cx="125" cy="330" r="2" />
<circle class="point" cx="275" cy="330" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 9.</tspan> Hexagon</text>    
 
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" class="construction" cx="200" cy="200" r="150" />
<circle class="construction" class="construction" cx="50" cy="200" r="150" />
<circle class="construction" class="construction" cx="350" cy="200" r="150" />
    
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- HEPTAGON -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - HEPTAGON -->
 <polygon class="shape" points="
200,50
82,106
54,232
135,335
265,335
347,234
316,108" />
<!-- POINTS -->
<circle class="point" cx="200" cy="50" r="2" />
<circle class="point" cx="82" cy="106" r="2" />
<circle class="point" cx="54" cy="232" r="2" />
<circle class="point" cx="135" cy="335" r="2" />
<circle class="point" cx="265" cy="335" r="2" />
<circle class="point" cx="347" cy="234" r="2" />
<circle class="point" cx="316" cy="108" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 10.</tspan> Heptagon</text>    
 
<!-- CONSTRUCTION COMPONENTS -->
<circle class="construction" cx="200" cy="200" r="150" />
<line class="construction" x1="200" y1="200" x2="200" y2="30"     
    transform="rotate(0 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(51.43 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(102.86 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(154.29 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(205.71 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(257.14 200 200)"/>
<line class="construction" x1="200" y1="200" x2="200" y2="30"
    transform="rotate(308.57 200 200)"/>
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- OCTAGON -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - OCTAGON -->
 <polygon class="shape" points="
 200,50
 94,94
 50,200
 94,306
 199.5,350
 306,306
 350,200
 306,94" />
<!-- POINTS -->
<circle class="point" cx="200" cy="50" r="2" />
<circle class="point" cx="94" cy="94" r="2" />
<circle class="point" cx="50" cy="200" r="2" />
<circle class="point" cx="94" cy="306" r="2" />
<circle class="point" cx="199.5" cy="350" r="2" />
<circle class="point" cx="306" cy="306" r="2" />
<circle class="point" cx="350" cy="200" r="2" />
<circle class="point" cx="306" cy="94" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 11.</tspan> Octagon</text>
 
<!-- CONSTRUCTION COMPONENTS -->
    <circle class="construction" cx="200" cy="200" r="150" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(0 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(45 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(90 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(135 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(180 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(225 200 200)"/>
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(270 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(315 200 200)" />
 </g>
 
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- NONAGON -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - NONAGON -->
 <polygon class="shape" points="
 200,50
 104,86
 53,174
 70,275
 148,341
 251,342
 330,275
 348,174
 297,86" />
<!-- POINTS -->
<circle class="point" cx="200" cy="50" r="2" />
<circle class="point" cx="104" cy="86" r="2" />
<circle class="point" cx="53" cy="174" r="2" />
<circle class="point" cx="70" cy="275" r="2" />
<circle class="point" cx="148" cy="341" r="2" />
<circle class="point" cx="251" cy="342" r="2" />
<circle class="point" cx="330" cy="275" r="2" />
<circle class="point" cx="348" cy="174" r="2" />
<circle class="point" cx="297" cy="86" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 12.</tspan> Nonagon</text>
 
<!-- CONSTRUCTION COMPONENTS -->
    <circle class="construction" cx="200" cy="200" r="150" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(0 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(40 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(80 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(120 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(160 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(200 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(240 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(280 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(320 200 200)" />
 </g>
</svg>
<svg height="400" width="400" x="0" y="0" viewBox="0, 0, 400,400" overflow="hidden">
<!-- DECAGON -->
<defs>
<style type="text/css"><![CDATA[
    .shape { stroke: black; fill: rgba(0, 255, 0, 0.5); stroke-width: 1; }
    .line1 { stroke: black; stroke-width: 1; fill:transparent;}
    .line2 { stroke: black; stroke-width: 2; fill:transparent;}
    .line3 { stroke: black; stroke-width: 4; fill:transparent;}
    .line4 { stroke: black; stroke-width: 8; fill:transparent;}
    .point {fill: red;}
    .text1 {font-family:Arial, sans-serif; font-size:24px; fill:black; font-weight:normal; text-anchor:middle;}
    .text2 {font-family:Arial, sans-serif; font-size:20px; fill:black; font-weight:normal; text-anchor:middle;}
    .caption  {font-family:Arial, sans-serif; font-size:18px; font-style:italic; fill:black; font-weight:normal; text-anchor:left;}
    .emphasis {font-weight: bold; font-style: normal;}
    .tick {stroke:black; stroke-width: 1;}
    .angle {stroke:black; stroke-width: 1;}
    .construction {stroke: black; stroke-width: 1; stroke-dasharray:2, 2; fill:transparent;}
]]></style>
</defs>
<g transform="scale(1) rotate(0 200 200) translate(0, 0)">
 <!-- SHAPE - DECAGON -->
 <polygon class="shape" points="
 200,50
 112,79
 58,154
 58,246
 112,321
 200,350
 288,321
 342,247
 342,154
 288,79" />
<!-- POINTS -->
<circle class="point" cx="200" cy="50" r="2" />
<circle class="point" cx="112" cy="79" r="2" />
<circle class="point" cx="58" cy="154" r="2" />
<circle class="point" cx="58" cy="246" r="2" />
<circle class="point" cx="112" cy="321" r="2" />
<circle class="point" cx="200" cy="350" r="2" />
<circle class="point" cx="288" cy="321" r="2" />
<circle class="point" cx="342" cy="247" r="2" />
<circle class="point" cx="342" cy="154" r="2" />
<circle class="point" cx="288" cy="79" r="2" />
<!-- ARCS -->
<!-- TICK MARKS -->
   
<!-- TEXT VERTICES -->
 <!-- TEXT LINES -->
 
<!-- CAPTION -->
  <text class="caption" x="25" y="390"><tspan class="emphasis">Fig 13.</tspan> Decagon</text>
 
<!-- CONSTRUCTION COMPONENTS -->
    <circle class="construction" cx="200" cy="200" r="150" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30"
        transform="rotate(0 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(36 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(72 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(108 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(144 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(180 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(216 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(252 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(288 200 200)" />
    <line class="construction" x1="200" x2="200" y1="200" y2="30" transform="rotate(324 200 200)" />
 </g>
 
</svg>

 

comments powered by Disqus