Geometries
撰写时间:2023-09-18
修订时间:2026-05-02
Geometries类负责处理与顶点相关的数据,故有较多的方法,特此作明确的分类。
该类的各个方法的实现,均来源于一线日常实践所需,因此具有非常高的实用性。得益于该类,我们可以很优雅的方式来实现、扩展各种各样的Mesh类。
文件内容框架
Point返回一个顶点对象。
下面开始Geometries的定义。
弧度转换
这两组方法用于弧度与角度值的互换。
获取顶点
GetVertexFromIndex
GetVertexFromIndex从一个由每3个元素代表一个顶点所构成的顶点数组中返回指定索引值的顶点。
源代码:
客户端代码:
GeoPC.js模块中的extend函数,将一个标准的PageConsole实例,扩展为支持打印顶点信息等功能的对象。
通过这种方式,在不影响原有对象功能的基础上,我们可以在特定领域内,自由、充分、独立地扩展任意对象的额外功能。
上面代码,从vertices中取出第1个顶点。
目前的实现是固定为顶点数组中每3个元素代表一个顶点。
GetVerticesFromIndices
GetVerticesFromIndices根据一个指定的索引值数组,从一个由每3个元素代表一个顶点所构成的顶点数组中返回一个包含多个顶点的顶点数组。
源代码:
GetVerticesFromIndices在内部调用上一节中的GetVertexFromIndex方法,取出各相应的顶点以组成一个新的顶点数组,并返回该数组。
客户端代码:
vertices是一个有5个顶点的数组,faceIndices将顶点数组索引值为[0, 3, 4]的3个顶点定义为一个面,GetVerticesFromIndices方法据此从顶点数组中提取相应的顶点,并返回一个新的数组。
上一章中的FaceMesh类的构造方法中就使用了GetVerticesFromIndices方法用以方便地构建各个面。
