Skip to content

3D 相機、互動與立體匯出

3D 畫布使用透視相機與 WebGL 渲染,但相機的移動不會改變世界座標。環繞、縮放與重置視圖只會改變觀看方式,不會更動 Eidolang 物件。

相機控制

  • 拖曳空白畫布:環繞目前的目標點旋轉。
  • 滾輪或雙指捏合:以指標附近為中心縮放。
  • 點擊角落的方向軸:顯示重置視圖按鈕;執行後會回到原點目標與初始距離。
  • 內嵌的小視窗會顯示世界座標的 x/y/z 軸,其中 z 軸朝上。

切換圖形時,相機位置與目標會以本機視圖狀態保留,重新掛載時會恢復,但不會寫入 .eido。縮放距離會受目前專案的 3D 最小/最大距離限制。

選取與拖曳 3D 點

在指標工具下,點擊物件即可選取。拾取的優先順序是先點、再線性物件、最後才是曲面/實體,因此半透明球體內部的點仍然可以被選取。

  • 自由的 point3 在面向相機的平面上拖曳;
  • 綁定點沿著 segment3/line3/ray3 移動;
  • 綁定在球面上的點沿球面移動;
  • 派生點無法直接拖曳。

啟用自動吸附後,自由點靠近既有點座標時會吸附過去,或改為綁定到附近的線性承載物件或球面。候選目標會在放開前先反白顯示。

3D 繪圖工具

Point3 會在世界座標 z = 0 平面上放置點;按下後垂直拖曳,即可建立非零的 z 座標。Segment3、Sphere、Cylinder、Cone 等工具會根據既有或新建的控制點進行構造,並顯示虛線或線框預覽。

平面、盒體、稜柱、稜錐,以及更複雜的曲線/曲面,通常需要在 Eidolang 中建立。可以從一個 3D 範例開始修改。

自適應格線與尺寸

格線間距會依相機距離,以 1-2-5 的階梯調整,角落圖例會顯示目前的單位。無限長的直線與平面會隨視距擴展。點、交點標記與標籤會維持近似固定的螢幕尺寸,方便可靠地選取。

3D PNG

PNG 讀取的是 WebGL 渲染結果:

  • 目前視角會保留現有構圖;
  • 符合內容會保留觀看方向,但會暫時置中並拉遠相機,以容納整個模型;
  • 提供 1×/2×/4× 像素倍率;
  • 可以排除地面格線與方向指示小視窗;
  • 3D 一律會渲染背景,不支援透明背景。

3D SVG

3D SVG 並不是畫布截圖。Eidograph 會依據目前已求值的模型與相機,重新產生線框/輪廓投影:線與曲線會轉換為投影後的折線,實體會輸出邊線與解析輪廓,曲面則會輸出等參數格線,並帶有半透明填色。

目前尚未支援隱藏線消除。深度排序僅為近似值,複雜的重疊情況可能與實體 WebGL 畫面不同。SVG 適合用於示意圖與向量排版,而非工程製圖投影。

3D GIF 與 MP4

GIF 與 MP4 可以使用腳本中的 animatestage 時間軸,也可以採用自動相機環繞。符合內容會建立一個臨時的匯出用相機,不會更動已儲存的互動相機。兩種格式渲染同樣的影格;相同環繞時長下 MP4 的檔案明顯更小。若渲染過大或過慢,可降低影格率、像素倍率、時長或曲面取樣數。