繪圖元件概覽
Eidograph 中的「元件」指的是 Eidolang 構造物件。物件之間透過名稱互相參照,修改上游物件後,所有派生物件都會依照相依關係圖重新計算。
自由、綁定與派生
每個物件都屬於一種自由度層級:
| 層級 | 範例 | 互動方式 |
|---|---|---|
| 自由(橙色) | point A 0 0 | 可直接拖曳;座標會寫回腳本 |
| 綁定(紫色) | point P on c at 0.25 | 只能沿其承載物件拖曳;參數會寫回 |
| 派生(灰色) | point M = midpoint(A, B) | 無法拖曳,需改變其輸入物件 |
這項規則在 2D 與 3D 中都一致,也是「為什麼這個點不能拖動」的第一個檢查點。
平面元件
點與線性物件
txt
space plane
point A -3 -1
point B 3 -1
segment base A B
point M = base.mid
perpendicular p M base常見的線性物件包括 segment、line、ray、vector,以及平行線與垂直線。點可以是自由的,也可以綁定在線段、圓、曲線或其他路徑上。
圓、圓弧、橢圓與多邊形
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"每個結果都是可供後續指令參照的第一級物件。圓、橢圓與多邊形可以轉為區域,參與聯集、交集與差集運算;任何路徑之間也都可以求交點。
函式與動態變化
plot、curve、polar、equation 與 locus 都會產生路徑。param 提供可調整的數值,animate 讓參數或綁定物件隨時間變化,stage 則將構造組織成循序演示。
txt
param r 2 range 0.5 4
circle c M radius r
animate r duration 2s mode alternate立體元件
3D 圖形以 space solid 開頭。基本物件包括 point3、segment3、vector3、平面、球、圓,以及盒體、稜柱、稜錐、圓柱與圓錐,此外還有空間曲線、軌跡、座標架與函式曲面。
txt
space solid
point3 O 0 0 0
point3 T 0 0 3
sphere s O radius 2
cylinder body O T radius 1使用指標工具可以環繞相機旋轉。選取的物件仍會在物件面板中顯示類型、狀態與可編輯屬性。3D SVG 是依目前視角重新產生的線框/輪廓投影,而不是 WebGL 畫布的截圖。
樣式、標籤與群組
style 控制顏色、線寬、不透明度、填色與 2D 虛線樣式。label 可加上文字,或完整以 $$…$$ 包住的 LaTeX 公式。textbox 可在 2D 畫布上放置可換行的文字內容。group 可讓多個物件共用隱藏、顯示與樣式操作。
屬性彈出視窗是編輯這些指令的視覺化入口。無論是在彈出視窗還是原始碼編輯器中修改,結果都是一般的文字編輯,可以復原,也能被 Agent 讀取。
