<notatio-curve-3d>
<notatio-curve-3d value="KnotCurve(TorusKnot(2, 3))"> -- a curve in space, from an expression that evaluates to a list of points.
Driven by the expression, not by attributes: the figure on a page is then the same thing a reader can retype and change, and the heads that produce it (KnotCurve, LorenzCurve) are ordinary heads anyone can call.
A knot is only legible if you can see which strand passes in front, so the curve is drawn as depth-sorted arcs, each cased in the background colour: the nearer strand erases the farther where they meet. Hue runs along the parameter, so a strand can be followed through a crossing. Drag rotates, ctrl/⌘ + wheel zooms, double-click resets — the same gestures <notatio-plot-3d> uses.
Attributes
| Attribute | Type | Default | Notes |
|---|---|---|---|
value | string | "" | A notatio expression evaluating to a list of 3-D points. |
points | readonly Triple[] | undefined | undefined | Points to draw directly, skipping the expression. For a host that has already evaluated the curve (a worksheet has), re-parsing and re-evaluating the same expression here would double the cost of every frame. Set as a property. |
azimuth | number | 45 | Rotation about the vertical, in degrees. Dragging changes this. |
elevation | number | 25 | Viewing angle above the plane, in degrees. Dragging changes this. |
zoom | number | 1 | View scale; ctrl/cmd + wheel or a pinch changes this. |
open | boolean | false | Leave the curve open, for a trajectory that is not a loop. |
torus | string | "" | Draw the torus the curve lies on, faintly, behind it: "major,minor". |
label | string | "" | Caption drawn above the curve. |
at | number | Number.NaN | |
clock | string | "false" |