{
rearrange;
const context = DOM.context2d(width, width);
context.translate(width / 2, width / 2);
drawEllipse(a, b, context);
const points = [
pointOnEllipse(-Math.PI * (basicConfig ? 3 / 4 : randRange(3 / 4, 1))),
pointOnEllipse(Math.PI * (basicConfig ? 1 / 2 : randRange(1 / 4, 3 / 4))),
pointOnEllipse(-Math.PI * (basicConfig ? 1 / 4 : randRange(0, 1 / 4))),
pointOnEllipse(Math.PI * (basicConfig ? 3 / 4 : randRange(3 / 4, 1))),
pointOnEllipse(-Math.PI * (basicConfig ? 1 / 2 : randRange(1 / 4, 3 / 4))),
pointOnEllipse(Math.PI * (basicConfig ? 1 / 4 : randRange(0, 1 / 4)))
];
const lines = [];
for (let i = 0; i < points.length; ++i) {
circle([...points[i], 3], context);
context.fillText("P" + (i + 1), points[i][0] + 10, points[i][1] + 10);
const con = points[(i + 1) % points.length];
const l = line(points[i], con, context);
lines.push(l);
}
const intersections = [];
for (let i = 0; i < 3; ++i) {
const intersection = intersectionLL(lines[i], lines[i + 3]);
circle([...intersection, 3], context, { color: "red" });
intersections.push(intersection);
}
line(intersections[0], intersections[1], context, { color: "red" });
return context.canvas;
}