问题标签 [projection-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 投影矩阵:结合第二阶段组的过渡矩阵和生育矩阵
我想问一下如何将以下信息组合到投影矩阵中。我确实有转换 ( T ) 和生育 ( F ) 矩阵的数据,因此投影矩阵 ( A ) 等于这两个矩阵的总和,即A=T+F。
关于转移矩阵中的个体,他们可以向上移动到单位时间单位(成为“更旧”一个时间单位)或向下(反之亦然)(即,转移矩阵中的条目是下对角线或超对角线值)。
问题是如何在第二阶段组的 A 中组合 T 和 F 值,其中 T 和 F 条目重叠?也就是说,如果从阶段 2 移动到阶段 3 的概率等于例如 0.4,并且从阶段 2 到阶段 1 = 0.1,它与 F 值 - 3 重叠(这不是概率,而是不同的单位)。如何有意义地结合这些信息?先感谢您。
请找到下面的矩阵来说明问题。P(i) - 从一个阶段移动到另一个阶段的概率,Z(i) - 从一个阶段向后移动到另一个阶段的概率(时间可逆性);F(i) - 生育力值。
ios - 投影矩阵有什么用?
我一直在尝试分析 Apple 的 pARk(增强现实示例应用程序),在那里我遇到了以下功能,
带有以下参数的方法调用:
我看到这projection matrix
是乘以rotation matrix
(由 motionManager.deviceMotion API 获得)。投影矩阵有什么用?为什么要和旋转矩阵相乘?
为什么结果矩阵必须再次与 PointOfInterest 向量坐标相乘?
感谢这里的任何帮助。
示例代码链接在这里
opengl - 使正方形填充整个窗口
如何确定在现代OpenGL 中使正方形填充整个窗口所需的变换。例如,我有一个 800 x 600 的窗口,两个三角形的顶点坐标从 -1 和 1 延伸。如果没有任何类型的变换,这些坐标将填充 800 x 600 的窗口,因为 OpenGL 的坐标从 -1 延伸到 1 . 但是,如果我想使用标准 MVP 转换怎么办?我如何确定需要做什么才能填满整个窗口。考虑这段代码:
具有相同的坐标。我现在会在窗口中间的某个地方得到一个正方形。假设我不更改投影矩阵,需要对视图和模型矩阵进行哪些更改?我了解矩阵数学,但不了解它与窗口坐标本身的关系。
谁能帮我理解这一点?
c# - GUI.matrix 的非仿射变换 (c#/unity)
我试图统一理解 GUI.matrix,但文档很少。
我发现第一象限是一个仿射变换矩阵,所以我设法编写代码来缩放、旋转和倾斜我的 gui。但我想要一个看起来像在背景图像上的屏幕上的 gui,并且该图像具有透视性。这意味着我需要将平行线映射到非平行线。
我对非仿射变换的理解不是很好,但我的主要障碍是我不知道 GUI.matrix 中的所有其他元素是什么。
基本上,目前,我有一个功能transformationFunction()
,当我这样做时
我的 GUI 元素位于“虚拟屏幕”上,该屏幕相对于我的实际屏幕进行了缩放、旋转和剪切。但我真正想要的是
这不保留并行性,允许我拥有一个梯形的 GUI(例如)。GUI.matrix 的 16 个元素中必须有足够的信息才能做到这一点,我只是不确定这些信息是如何构成的。
opengl - 创建 OpenGL 投影矩阵以剪切对象
我正在尝试渲染一个盒子,其中近面与显示器的角落完全对齐,但其余部分可以剪切(透视)有点像视差效果。基本上和这个一模一样。
我发现将我的投影矩阵乘以这个剪切矩阵会产生正确的效果:
然而,视图体积似乎在体积中心周围发生剪切,因此一旦您开始旋转,盒子的正面就会在显示区域之外摆动。
也许我可以改变模型或视口来补偿,但这似乎是作弊。这可以用正确的投影矩阵来完成,还是有一种好方法来计算需要应用于模型视图矩阵的其他一些平移?
java - LWJGL 投影矩阵 - 什么都没有发生
目前,我正在尝试在 LWJGL 中创建一个 Camera 类,但我遇到了投影矩阵的问题。出于某种原因,当我尝试将顶点乘以投影矩阵时,屏幕上什么也没有出现。
相机类
主班
顶点着色器
ShaderProgram 类
当我运行它时,我创建的 VBO(一个三角形)不会出现,但是当我将投影矩阵排除在顶点着色器的乘法之外时,它运行得很好。我错过了什么吗?
machine-learning - 为什么线性变换可以提高高维数据分类的准确性和效率?
设 X 为 m×n(m:记录数,n:属性数)数据集。当属性数 n 较大且数据集 X 有噪声时,分类变得更加复杂,分类精度降低。解决这个问题的一种方法是使用线性变换,即对Y=XR进行分类,其中R是n×p矩阵,p<=n。我想知道线性变换如何简化分类?如果我们在 X 有噪声时对转换后的数据 Y 进行分类,为什么分类精度会提高?
opengl - OpenGL:从帧缓冲区对象加载渲染纹理
我正在对一个framebuffer
对象进行两次模糊处理。为了确保在 中FBO
,整个场景都被我试图模糊的图像覆盖。这是过程。
- 我已经设置了
FBO
需要模糊的图像尺寸。 我正在
Orthographic Projection
使用以下函数(称为 assetupOrtho(FBO's dimensions)
)设置一个:glViewport(0, 0, w, h) glMatrixMode(GL_PROJECTION) glLoadIdentity() glOrtho(0,1,0,1,-1,1) glMatrixMode(GL_MODELVIEW) glLoadIdentity()
- 使用此投影绘制到
FBO
。解除绑定FBO
(回到屏幕)。 Perspective View
通过调用setupPerspective(window's dimensions)
并将glOrtho
上面的内容替换为来切换到glFrustum
。
如果我绘制简单的白色四边形,则视图切换按预期工作。一个四边形正在绘制,Orthographic Projection
另一个正在绘制中Perspective View
。现在从FBO
(let id be RENDEREDTEXTURE
) 获取渲染纹理。
RENDEREDTEXTURE
如果我在Orthographic Projection
我的主场景中绑定,它会显示模糊的图像。如果我将它绑定到Perspective View
我的主场景中,之前可见的白色四边形(在 中绘制Perspective View
)就会消失。
解决方案:作为答案发布。
注意:使用纹理时永远不要忘记 MIPMAP 生成。
这里可能是什么问题?
请建议任何替代方法,以便在 中FBO
,只有我要处理的图像可见(为此我进行了正交投影),并且在主场景中,处理后的图像就像从图像文件加载的任何其他纹理一样.