HTML
<script src="https://cindyjs.org/dist/latest/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: "M", type: "Free", pos: [ -1.6818181818181819, -4.0, -1.1363636363636365 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "C0", type: "CircleByRadius", pos: { xx: 0.2840909090909091, yy: 0.2840909090909091, zz: 0.0545454545454546, xy: 0.0, xz: -0.8409090909090908, yz: 2.0 }, color: [ 0.0, 0.0, 1.0 ], radius: 3.793257175568247, args: [ "M" ], size: 2, printname: "$C_{0}$" },
{ name: "g", type: "Free", pos: [ 4.0, -0.9456869009584664, 0.31948881789137384 ], color: [ 1.0, 0.0, 0.0 ], labeled: true },
{ name: "a", type: "Through", pos: [ -0.06479831524380367, 1.077271990928236, 4.0 ], color: [ 0.0, 0.0, 1.0 ], args: [ "g" ], size: 2 },
{ name: "b", type: "Orthogonal", color: [ 0.0, 0.0, 0.0 ], args: [ "a", "M" ], alpha: 0.21367521367521367, clip: "inci" },
{ name: "Collection__1", type: "IntersectionConicLine", args: [ "C0", "b" ] },
{ name: "B", type: "SelectP", pos: [ 4.0, -0.624009261605962, 2.342257448476232 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__1" ], labeled: true },
{ name: "M'", type: "Meet", color: [ 1.0, 0.0, 0.0 ], args: [ "a", "b" ], labeled: true },
{ name: "C1", type: "Compass", color: [ 0.0, 0.0, 0.0 ], args: [ "B", "M", "M'" ], alpha: 0.28205128205128205, printname: "$C_{1}$" },
{ name: "Collection__2", type: "IntersectionConicLine", args: [ "C1", "b" ] },
{ name: "E", type: "SelectP", pos: [ 4.0, 0.44776563085282806, 2.3803650002081005 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__2" ], size: 3.0 },
{ name: "A", type: "SelectP", pos: [ 1.1569419990236467, -4.0, 0.5416590483117556 ], color: [ 1.0, 0.0, 0.0 ], args: [ "Collection__2" ], size: 3.0 },
{ name: "c", type: "Parallel", color: [ 0.0, 0.0, 1.0 ], args: [ "a", "E" ],...