Skip to content

Drawing components ​

An Eidograph “component” is an Eidolang construction object. Objects refer to one another by name, and changing an upstream object recalculates every derived object through the dependency graph.

Free, bound, and derived ​

Every object belongs to one freedom tier:

TierExampleInteraction
Free (orange)point A 0 0Drag directly; coordinates are written back
Bound (purple)point P on c at 0.25Drag only along its carrier; the parameter is written back
Derived (gray)point M = midpoint(A, B)Cannot be dragged; move its inputs instead

The same rule applies in 2D and 3D, and it is the first thing to check when a point does not drag.

Plane components ​

Points and linear objects ​

txt
space plane
point A -3 -1
point B 3 -1
segment base A B
point M = base.mid
perpendicular p M base

Common linear objects include segment, line, ray, vector, parallels, and perpendiculars. A point may be free or bound to a segment, circle, curve, or another path.

Circles, arcs, ellipses, and polygons ​

txt
circle c M through A
point P on c at 45deg
arc a A P B
polygon tri A P B
label P text "P"

Each result is a first-class object that later commands can reference. Circles, ellipses, and polygons can become regions for union, intersection, and difference; any paths can be intersected.

Functions and motion ​

plot, curve, polar, equation, and locus produce paths. param supplies an adjustable value, animate varies a parameter or bound object over time, and stage organizes a sequential presentation.

txt
param r 2 range 0.5 4
circle c M radius r
animate r duration 2s mode alternate

Solid components ​

A 3D figure starts with space solid. Its primitives include point3, segment3, vector3, planes, spheres, circles, boxes, prisms, pyramids, cylinders, and cones, plus spatial curves, loci, frames, and function surfaces.

txt
space solid
point3 O 0 0 0
point3 T 0 0 3
sphere s O radius 2
cylinder body O T radius 1

Use the Pointer tool to orbit the camera. Selected objects still expose type, status, and editable properties in the Objects panel. A 3D SVG is a regenerated wireframe/contour projection from the current view, not a screenshot of the WebGL canvas.

Style, labels, and groups ​

style controls color, width, opacity, fill, and 2D dash style. label adds text or a complete $$…$$ LaTeX formula. textbox adds wrapped content on a 2D canvas. group lets several objects share hide, show, and style operations.

The properties popover is a visual editor for these commands. Whether changed there or in the source editor, the result is an ordinary text edit that can be undone and read by an agent.