Questions tagged «geometry»

2
为什么将模型视图矩阵的转置逆用于转换法向量?
当渲染3D场景并将变换应用于对象时,必须使用模型视图矩阵的转置逆来变换法线。因此,对于法线,modelViewMatrix M,变换后的法线n '为ñnn中号MMñ′n′n' ñ′= (M− 1)Ť⋅ ñn′=(M−1)T⋅nn' = (M^{-1})^{T} \cdot n 变换对象时,很明显需要对法线进行相应的变换。但是,为什么从数学上讲这是对应的转换矩阵呢?

3
游戏中几何LOD的最新状态是什么?
现代游戏如何对对象网格(例如角色,地形和树叶)的几何细节层次?我的问题分为两部分: 资产管道是什么样的?艺术家是否制作了后来被淘汰的高聚模型?如果是这样,哪种抽取算法最流行?LOD网格有时是手工完成的吗? 引擎在运行时如何在不同的对象LOD之间转换?是否有平稳或渐进的过渡? 答案可能是“不同的工作室使用不同的技术”。如果是这样,请确定一些最常见的做法。如果您能指出涵盖特定示例的白皮书/幻灯片,那也很好。
15 geometry 

4
预计网格水位细节
我正在尝试使用C ++和DirectX11实现海洋场景。目前,我有一个投影网格,Gerstner波浪和基本的阴影。我的问题是,当我将相机水平对准目标时,即使在高顶点数的情况下,我也可以看到远处的水平面,投影网格变得不足。这些屏幕快照说明了问题: 我知道问题的原因在于投影网格的概念(网格在相机附近是详细的,距离相机很远),但是必须有一个最佳实践来解决这个问题。 有任何想法吗?

2
如何为生成的几何计算表面法线
我有一个基于调用代码的输入生成3D形状的类。输入的内容包括长度,深度,弧度等。我的代码完美地生成了几何图形,但是在计算表面法线时遇到了麻烦。点亮时,由于计算出的不正确的表面法线,我的形状具有非常奇怪的着色/纹理。从我所有的研究中,我相信我的数学是正确的,似乎我的技术或方法有问题。 在高层次上,如何以编程方式计算所生成形状的表面法线?我在我的代码上使用iOS上的Swift / SceneKit,但是通用答案很好。 我有两个数组代表我的形状。一个是一组3D点,这些点代表组成形状的顶点。另一个数组是第一个数组的索引列表,这些索引将顶点映射为三角形。我需要获取该数据并生成一个第三数组,该数组是一组有助于形状发光的表面法线。(请参见SCNGeometrySourceSemanticNormalSceneKit`) 顶点和索引的列表始终根据类的输入而有所不同,因此我无法预先计算或对表面法线进行硬编码。

1
为什么3D Studio中的平滑网格最终得到相同数量的顶点/三角形?那么如何用相同的几何形状对它们进行平滑处理?
我试图理解为什么在3D Studio中平滑的网格(修改器/平滑器)在该过程之前或之后最终具有相同数量的顶点/面,以及完全相同的几何形状。 在以下示例中,两个网格都具有32个顶点和60个面。 尽管我有使用编程(c ++和c#)的经验,但我还是计算机图形学的初学者。因此,我的期望是,平滑网格的平滑外观将需要其他顶点,即三角形的细分,以便最终获得更详细的最终网格。但是,事实并非如此。 因此,我问: 1)如何在不增加网格几何细节的情况下进行平滑处理? 2)与原始网格相比,平滑处理是否至少增加了分配/用于存储新网格的内存? 超级欢迎您进行说明,但也欢迎您参考(学术界与否)。
11 3d  geometry  mesh  memory  model 

1
创建Voronoi网格的管道
我想实现一个Maya插件(此问题独立于Maya)以创建3D Voronoi模式,例如 我只知道我必须从点采样开始(我实现了本文描述的自适应泊松采样算法)。 我认为,从这些观点出发,我应该使用Voronoi创建网格的3D线(我尝试使用(Python)scipy.spatial.Voronoi,但结果与我的预期有所不同)。 我想念什么吗?谁能建议我创建此类模式所必须实施的适当管道和算法? [编辑]以下是是我所得到的处理结果我从scipy.spatial.Voronoi得到这样(的建议了几个例子在这里): vor = Voronoi(points) for vpair in vor.ridge_vertices: for i in range(len(vpair) - 1): if all(x >= 0 for x in vpair): v0 = vor.vertices[vpair[i]] v1 = vor.vertices[vpair[i+1]] create_line(v0.tolist(), v1.tolist()) 灰色顶点是采样点(原始形状是一个简单的球体): 这是更复杂的形状(手臂)
10 3d  geometry  mesh  polygon 

3
沿曲线排序一组无序点
我有一组3D点(我从执行实体细分的库中恢复),这些点属于曲线(即,实体的边缘)。这意味着曲线肯定会经过这些点中的每一个。 但是,点集是无序的,因此我需要对其进行排序,以便能够正确绘制此曲线。 有没有针对此类问题的已知方法? 一些其他信息: 曲线通常是参数化的(样条曲线/贝塞尔曲线,圆切片..)。 这些点作为浮点坐标给出。 这些点非常密集地打包(但是它们可以像我想要的那样密集)。为了让您有个想法,对于一条曲线,它在x中占19个单位,在x中占10个单位,在z中占5个单位,我引用了曲线段中的一系列点:(20.7622,25.8676,0)(20.6573,25.856, 0)(20.5529,25.8444,0)(20.4489,25.8329,0)(20.3454,25.8213,0)
9 geometry  mesh  curve 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.