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 条评论
登录 后参与评论

相关文章

来自专栏小二的折腾日记

LeetCode-52-N-Queens-II

只返回N皇后问题结果的种数。 因此不需要每一个字符串置位了,只需要判断一个位置的横竖,斜45度和斜135度方向的值即可。依然采用递归的方式,这里需要注意的是,由...

531
来自专栏自学笔记

Data Structure_图图论带权图

交通运输,社交网络,互联网,工作的安排,闹区活动等等都可以用到图论处理。图可以分成两大类,一类是无向图,就是没有方向的,就好像两个人都互相认识一样,有向图就是单...

651
来自专栏深度学习那些事儿

pytorch中autograd以及hook函数详解

有些公式为图片,如果这个页面加载不出来,请看这里:https://oldpan.me/archives/pytorch-autograd-hook

1.3K10
来自专栏达摩兵的技术空间

js实现01数字矩阵

952
来自专栏calmound

hust Dating With Girls

http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=573#problem/B 题意:求最大权...

2824
来自专栏数据结构与算法

BZOJ4766: 文艺计算姬

Description "奋战三星期,造台计算机"。小W响应号召,花了三星期造了台文艺计算姬。文艺计算姬比普通计算机有更多的艺 术细胞。普通计算机能计算一个带...

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

“AS3.0高级动画编程”学习:第四章 寻路(AStar/A星/A*)算法 (中)

上一部分提到了节点(Node),代价(Cost),估价公式等基本概念,有了这些知识铺垫 就可以正式开启寻路之旅了! ? 如上图,这是一个5行8列的网格,黄色节点...

2416
来自专栏张泽旭的专栏

java计算奇数阶魔方阵

所谓“奇数阶魔方阵”是指n为不小于3的奇数的魔方阵。这类魔方阵的形式多样,这里我们仅讨论其中的一种形式的正规魔方阵。例如:3阶、5阶和7阶的魔方阵如图3 – 4...

1062
来自专栏数据结构与算法

洛谷P4093 [HEOI2016/TJOI2016]序列

题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他。玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一个值发生变化。现...

3137
来自专栏owent

C++ 新特性学习(六) — 新的字符串编码和伪随机数

使用u””为能至少储存UTF-16的16位元编码,对应’\u’表示16位元的字符。

851

扫码关注云+社区