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

GIF 可以使用脚本的 animate/stage 时间线,也可以自动环绕相机。适合内容会在不改变已保存相机的前提下围绕模型建立临时导出相机。导出完成后交互视角保持不变。

若 GIF 太大,请降低帧率、像素倍率或动画时长;曲面 samples 较高时也会明显增加逐帧渲染成本。