问题标签 [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.

0 投票
1 回答
1829 浏览

computer-vision - 齐次矩阵有八个独立比例的矩阵元素?

我正在阅读一些关于计算机视觉的论文。这似乎是一个简单的事实,但我无法理解。它是关于用于平面投影变换的齐次 [3x3] 矩阵。并且据说有八种独立比例的矩阵元素。不知道比例是多少,独立的八个比例是多少?请帮我解决这个问题。

谢谢你。

0 投票
1 回答
887 浏览

opengl - glunproject 更便宜的替代品

我正在开放框架中构建一个游戏,其中相机在 3d 空间中的静止 2d 平面上移动。我需要为每一帧选择 5 个坐标,因为相机总是在移动(1 个用于鼠标,4 个用于视口角以锻炼要绘制的内容)。但是我发现 gluUnproject 函数太慢了。由于我只在固定平面上选择坐标,目前在 Z = 0 上,我认为我应该能够通过使用我的相机类中的模型视图和投影矩阵非常便宜地计算出我的坐标,但我就是无法解决如何做数学。

总结一下,我有

相机 - MODELVIEW 和 PROJECTION 矩阵,VIEWPORT 平面与 z 轴对齐,尺寸为 world_dims.x、world_dims.y

我想在不使用 gluUnproject 的情况下将屏幕坐标转换为平面上的未投影坐标。

以防我对我的 gluUnproject 感到愚蠢,这是该位的代码

}

0 投票
1 回答
373 浏览

vb.net - 照片坐标与。世界坐标

我有一张用我的数码相机拍摄的带有地理标签的快照(照片)。

我想在单击这张照片上的任何像素时读取世界坐标(真实坐标)。

我怎么能做到这一点?

0 投票
1 回答
6671 浏览

matlab - 使用 MATLAB 从投影矩阵进行反投影

我有一个 256x256 的投影矩阵。每行都是以相等角度拍摄的投影。我需要使用 matlab 生成带有反投影的原始图像,我对 matlab 并不熟悉。你能建议我任何代码示例或算法吗?我发现了一些类似的代码,我无法使用它们生成原始图像。

0 投票
2 回答
1660 浏览

matlab - 来自相同投影矩阵的不同基本矩阵

我使用两个投影矩阵 P1 和 P2(例如我使用恐龙数据集),我需要计算基本矩阵 F。所以我使用两个 Matlab 函数:

  • Peter Kovesi 的函数:www.csse.uwa.edu.au/~pk/Research/MatlabFns/Projective/fundfromcameras.m
  • 齐瑟曼:www.robots.ox.ac.uk/~vgg/hzbook/code/vgg_multiview/vgg_F_from_P.m

这些函数应该做同样的事情,但我有不同的 F 值!怎么可能?哪个是正确的功能?

如果两个点 X1 和 X2 在两个不同的图像中“相同”,则 X2^T*F*X1 = 0 ... 所以我通过使用 SURF 从两个旋转图像(5 度)中找到了两个对应点,但是 X2^T *F*X1 在这两个函数中永远不会等于零。有任何想法吗?

相反,如果我使用这个从匹配点计算 F 的函数:

我有那个 X2^T*F*X1 = 0 .... 显然 F 与其他两个函数的两个 FI 不同...

0 投票
2 回答
1241 浏览

java - OpenGL渲染到纹理坐标

我希望能够渲染到纹理(用于着色器、字体),但我遇到了一个问题,即正确定位四边形(帧缓冲区本身做了它应该做的事情)。生成的(复制的)纹理在大多数情况下显示在左上角,其余部分被裁剪。这对于矩形纹理来说更糟,对方形纹理几乎没有影响(所以我碰巧几天都没有意识到这种行为)

示例代码:

示例图片:

在此处输入图像描述

上面是渲染的原始图像,在复制版本下面

我究竟做错了什么?


更新:现在看起来纹理被下采样了

在此处输入图像描述

0 投票
1 回答
675 浏览

opengl - How to get the projection plane in OpenGL

I use the gluPerspective and glLookAt to set my projection matrix and view matrix. If I want to get the coordinate of the eye, it's the first three arguments in the gluLookAt, right?

However, now I need to get the projection plane, that is, the position of the screen in the world coordinate system. You know, if I can calculate the left-bottom corner point and the right-top corner point, the plane is right there!

Could anyone give me a hint about how to do this calculation?

0 投票
1 回答
1054 浏览

ios - 在 Apple 的增强现实示例代码“pARk”中使用四元数

我正在使用适用于 iOS 的 AR 应用程序在相机视图上显示注释 - 就像我们从 wikiitude、junaio 等中都知道的那样。我是这个主题的新手,很抱歉我的愚蠢问题 :)

我在这里从苹果下载了“pARk”示例代码,以研究如何使用另一种技术来可视化注释,而不是使用俯仰、偏航、滚动和方位角进行复杂计算:http: //developer.apple.com/library/ios/ #samplecode/pARk/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011083

Apple 在这个示例中使用了旋转矩阵,我想转移它,所以它使用四元数。我怎样才能做到这一点?我了解坐标到 ECEF 和 ENU 的转换...我必须更改此转换吗,我认为不是(对吗?)。

我看到将投影矩阵(截锥体)表示为四元数的问题......这是不可能的,对吧?

也许有人可以给我提示,我必须改变什么以及如何改变这个例子才能得到我想要的。

感谢所有答案!

0 投票
1 回答
1636 浏览

opengl-es - 如何在lhs和rhs之间转换opengl投影矩阵?

我有一个 lhs 着色器,但碰巧有一个 rhs 投影矩阵,如何在它们之间进行转换?

0 投票
1 回答
2696 浏览

c++ - C++ OpenGL 从 2D 切换到 3D

我在 C++ Visual Studio 2008 Forms 应用程序中使用 OpenGL,当布尔设置为真/假时,我希望 GL 控件在 3D 和 2D 之间切换。

3D 绘图工作正常,2D 绘图工作正常,从一个切换到另一个时出现问题。因此,如果我在 2D 中启动应用程序绘图,它可以完美地工作并且与 3D 相同,但是如果我在运行时更改布尔值,它将不会绘制任何东西。

这是我从一个更改为另一个的代码。

我不知道做错了什么,但我想我没有清除一些矩阵或其他东西,因为就像我之前所说的,当变量draw3D==true在开始时它完美地绘制并且当变量draw3D==false在开始时它完美地绘制在 2D 中,但运行时的更改使其无法正常工作。