HTML
<script src="https://cindyjs.org/dist/latest/Cindy.js"></script>
<script src="https://cindyjs.org/dist/v0.8.7/Cindy.js"></script>
<div id="CSCanvas"></div>
<script>
CindyJS({
scripts: "cs*",
defaultAppearance: { fontFamily: "sans-serif", lineSize: 1, pointSize: 5.0, textsize: 12.0 },
angleUnit: "°",
geometry: [
{ name: "A", type: "Free", pos: [ 4.0, -0.0, -0.5 ], color: [ 1.0, 0.0, 0.0 ], visible: false, labeled: true },
{ name: "B", type: "Free", pos: [ 4.0, -0.0, 0.4 ], color: [ 1.0, 0.0, 0.0 ], visible: false, labeled: true },
{ name: "C", type: "Free", pos: [ 0.0, -4.0, 1.0 ], color: [ 1.0, 0.0, 0.0 ], visible: false, labeled: true },
{ name: "D", type: "Free", pos: [ 0.0, -4.0, -0.5 ], color: [ 1.0, 0.0, 0.0 ], visible: false, labeled: true },
{ name: "a", type: "Segment", color: [ 0.0, 0.0, 0.0 ], args: [ "A", "B" ], arrowshape: "line", arrowsides: "==>", arrowsize: 1.2000000000000002, arrowposition: 1.0 },
{ name: "b", type: "Segment", color: [ 0.0, 0.0, 0.0 ], args: [ "C", "D" ], arrowshape: "line", arrowsides: "==>", arrowsize: 1.2000000000000002, arrowposition: 1.0 },
{ name: "O", type: "Meet", color: [ 1.0, 0.0, 0.0 ], args: [ "a", "b" ], labeled: true },
{ name: "(2;1)", type: "Free", pos: [ 4.0, 2.0, 2.0 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "c", type: "Join", color: [ 0.0, 0.0, 1.0 ], args: [ "O", "(2;1)" ], size: 2 },
{ name: "w", type: "PointOnLine", pos: [ 4.0, 2.0, 0.6596306068601583 ], color: [ 1.0, 0.0, 0.0 ], args: [ "c" ], labeled: true },
{ name: "d", type: "Orthogonal", color: [ 0.0, 0.0, 1.0 ], args: [ "b", "w" ], visible: false },
{ name: "F", type: "Meet", color: [ 1.0, 0.0, 0.0 ], args: [ "b", "d" ], visible: false, labeled: true },
{ name: "G", type: "Free", pos: [ 2.0, -4.0, 0.6666666666666666 ], color: [ 1.0, 0.0, 0.0 ], visible: false, labeled: true },
{ name: "H", type: "Free", pos: [ 3.2, -4.0, 0.8 ], color: [ 1.0, 0.0, 0.0 ], visible: false, labeled: true },...