多重基元的高效表示
| Point[{pt1,pt2,...}] | 由点 |
| Line[{line1,line2,...}] | 由线 |
| Polygon[{poly1,poly2,...}] | 由多边形 |
一些基元存在复元素形式,与相同情况下分立的基元相比,能被 Mathematica 的前端更快速地处理和绘制图形. 对于大数量的基元, 使用复元素形式还能够显著减小笔记本文件的大小. 和不使用复元素形式相比,使用复元素形式的笔记本可以达到前者尺寸的一半或更小,而其绘图速度能达到前者的十倍.
| In[1]:= |
| Out[1]= | ![]() |
| GraphicsComplex[{pt1,pt2,...},data] | 复合图形,在 data 中的图形基元的整数坐标 i 被视为 |
当多个基元共享同一坐标数据时,例如在网格或图形中, 使用 GraphicsComplex 可去除重复坐标数据而使效率进一步提高. Mathematica 的曲面和图形绘制函数通常采用这种表示形式.
| In[2]:= |
| Out[2]= | ![]() |
GraphicsComplex 不仅可以提高效率,而且在与用户交互方面也很有用. 拥有共用坐标的基元,在其中一个被拖动时始终保持连在一起.
| In[3]:= |
| Out[3]= | ![]() |
任何基元都可以在 GraphicsComplex 内使用,而 GraphicsComplex 可以用于 2D 或 3D 图形. 在GraphicsComplex 内,基元的坐标位置被 GraphicsComplex 中坐标数据的指标所取代.
这个 GraphicsComplex 复合了多种形式的基元.
| In[4]:= |
| Out[4]= | ![]() |
GraphicsComplex 在表示多边形网格时尤其有用. 使用 GraphicsComplex,能够避免出现由数值误差所造成的相邻多边形之间的间隙.
| In[5]:= |
| Out[5]= | ![]() |






