JavaFX文档翻译——TriangleMesh篇

Defines a 3D triangle mesh that consists of its associated VertexFormat and a set of separate arrays of vertex components such as points, normals, texture coordinates, and an array of faces that define the individual triangles of the mesh.

TriangleMesh类定义了一个3D的三角形网格,这个网格由它相关的VertexFormat类和一组独立的顶点组件数组组成。其中,顶点组件包括:点、法线、纹理坐标和一组定义单个三角形网格的表面数组。

Note that the term point, as used in the method names and method descriptions, actually refers to a 3D point (x, y, z) in space representing the position of a single vertex. The term points (plural) is used to indicate sets of 3D points for multiple vertices.

请注意,在函数名和函数描述中所谓的“点”,实际上是指三维空间中的一个点。

Similarly, the term normal is used to indicate a 3D vector (nx, ny, nz) in space representing the direction of a single vertex. The term normals (plural) is used to indicate sets of 3D vectors for multiple vertices.

相似的,术语“法线”是用来表示空间中的一个3维矢量,这个矢量代表一个点的方向。

The term texCoord is used to indicate a single pair of 2D texture coordinates (u, v) for a single vertex, while the term texCoords (plural) is used to indicate sets of texture coordinates for multiple vertices.

术语“texCoord”用来表示一个顶点的2维纹理坐标(u,v)。术语“texCoords”被用来表示多个顶点的一组纹理坐标。

Lastly, the term face is used to indicate 3 set of interleaving points, normals (optional, depending on the associated VertexFormat) and texture coordinates that together represent the geometric topology of a single triangle, while the term faces (plural) is used to indicate sets of triangles (each represent by a face).

最后,术语“face”表示一组“点”、“法线”、“纹理坐标”的集合,一个face表示一个三角形的几何拓扑。其中“法线”是可选的,依赖于相关的VertexFormat。术语“faces”表示一组三角形的几何拓扑。

For example, the faces with VertexFormat.POINT_TEXCOORD that represent a single textured rectangle, using 2 triangles, have the following data order: [ p0, t0, p1, t1, p3, t3, // First triangle of a textured rectangle p1, t1, p2, t2, p3, t3 // Second triangle of a textured rectangle ]

例如,一个拥有VertexFormat.POINT_TEXCOORD属性的faces代表了一个具有纹理的长方形,这个长方形由两个三角形构成,这个faces的数据结构如下: [ p0,t0,p1,t1,p3,t3, //具有纹理的长方形的第一个三角形 p1,t1,p2,t2,p3,t3//长方形的第二个三角形 ]

whereas the faces with VertexFormat.POINT_NORMAL_TEXCOORD that represent a single textured rectangle, using 2 triangles, have the following data order: [ p0, n0, t0, p1, n1, t1, p3, n3, t3, // First triangle of a textured rectangle p1, n1, t1, p2, n2, t2, p3, n3, t3 // Second triangle of a textured rectangle ]

然而,如果faces具有参数VertexFormat.POINT_NORMAL_TEXCOORD,那么这个faces代表了一个具有纹理的3D长方形,faces的数据结构如下: [ p0, n0, t0, p1, n1, t1, p3, n3, t3, // 具有纹理的长方形的第一个三角形 p1, n1, t1, p2, n2, t2, p3, n3, t3 // 长方形的第二个三角形 ]

where p0, p1, p2 and p3 are indices into the points array, n0, n1, n2 and n3 are indices into the normals array, and t0, t1, t2 and t3 are indices into the texCoords array.

p0, p1, p2和p3的位置代表着点的数组,n0, n1, n2和n3为法线数组,t0, t1, t2和t3为纹理坐标数组。

A triangle has a front and back face. The winding order of a triangle’s vertices determines which side is the front face. JavaFX chooses the counter-clockwise (or right-hand rule) winding order as the front face. By default, only the front face of a triangle is rendered. See CullFace for more information.

一个三角形有正反两面。三角形顶点的绕组顺序决定了哪一面是正面。JavaFX选择了逆时针方向的环绕顺序作为正面。在默认情况下,只有三角形的正面会被渲染。

The length of points, normals, and texCoords must be divisible by 3, 3, and 2 respectively. The length of faces must be divisible by 6 if it is of VertexFormat.POINT_TEXCOORD else it must be divisible by 9 if it is of VertexFormat.POINT_NORMAL_TEXCOORD. The values in the faces array must be within the range of the number of vertices in the points array (0 to points.length / 3 - 1) for the point indices, within the range of the number of vertices in the normals array (0 to normals.length / 3 - 1) for the normal indices, and within the range of the number of the vertices in the texCoords array (0 to texCoords.length / 2 - 1) for the texture coordinate indices.

点、法线、纹理坐标的长度必须能被3、3、2整除。如果faces携带VertexFormat.POINT_TEXCOORD属性,那么faces的长度必须能被6整除,如果faces携带VertexFormat.POINT_NORMAL_TEXCOORD属性,那么它的长度必须能被9整除。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏NewbieWeb

WebGL ThreeJS学习总结三

总结三主要是学习ThreeJS框架和一些数学知识等,包括相机、光线、形状、变换、视角控制、焦点控制、矩阵和弧度等;并根据所学知识实现一些稍复杂的效果。

622
来自专栏人工智能

如何使用tableaux进行逻辑计算

原文作者:Miguel Diaz Kusztrich

3208
来自专栏take time, save time

你所能用到的无损压缩编码(二)

     上个月项目荷兰大佬要检查,搞的我想写的东西不断推迟,现在检查完了,我决定继续把我想写的这整个一个系列写完,上一次写的是最简单的无损编码行程编码,这一次...

3189
来自专栏菩提树下的杨过

“AS3.0高级动画编程”学习:第二章转向行为(上)

因为这一章的内容基本上都是涉及向量的,先来一个2D向量类:Vector2D.as (再次强烈建议不熟悉向量运算的童鞋,先回去恶补一下高等数学-07章空间解释几何...

1746
来自专栏菩提树下的杨过

Flash/Flex学习笔记(43):动量守恒与能量守恒

动能公式: ? 动量公式: ? 动量守恒: ? 能量守恒: ? 根据这些规律可以得到下列方程组: ? ? 解该方程组,得到下面的公式: ? ? 把这二个公式相...

1757
来自专栏DannyHoo的专栏

iOS开发中使用算法之二分搜索算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

512
来自专栏水击三千

Silverlight学习(五)图形标绘

Silverlight中进行图形标绘的方法太多了,这里的标绘和Arcgis中的标绘不同,这里大多是静态的标绘。标绘的方法主要有Path(路径标记法)、直接标绘(...

2198
来自专栏机器之心

资源 | 知网(HowNet)知识库的简单调用指南

机器之心整理 参与:蒋思源 机器之心曾采访过语知科技的董强先生,在那一篇文章中,我们详细讨论了基于知网知识库的 NLP 解决方案。虽然我们已经了解了这种方法的潜...

3535
来自专栏柠檬先生

css3 过渡和2d变换——回顾

1.transition   语法:transition: property duration timing-function delay;       tr...

1905
来自专栏程序生活

计算两个字符串相(或句子)似度的方法1 编辑距离2 余弦相似度3 FuzzyWuzzy

2083

扫描关注云+社区