BOUNTY UPDATE
在Denis的链接之后,这是如何使用threeblindmiceandamonkey代码:
// the destination rect is our 'in' quad
int dw = 300, dh = 250;
double in[4][4] = {{0,0},{dw,0},{dw,dh},{0,dh}};
// the quad in the source image is our 'out'
double out[4][5] = {{171,72},{331,93},{333,188},{177,210}};
double homo[3][6];
const int ret = mapQuadToQuad(in,out,homo);
// homo can be used for calculating the x,y of any destination point
// in the source, e.g.
for(int i=0; i<4; i++) {
double p1[3] = {out[i][0],out[i][7],1};
double p2[3];
transformMatrix(p1,p2,homo);
p2[0] /= p2[2]; …Run Code Online (Sandbox Code Playgroud) 我们有一个红色正方形的网格.意思是我们有一个3个正方形(角度= = 90度)的数组,我们知道它们具有相同的大小,位于同一平面上,并且相对于它们所躺着的平面具有相同的旋转,并且不在同一条线上平面.
我们有一个包含带正方形平面的空间投影.
我们想要用正方形转动我们的平面投影,这样我们就会看到它像我们面对的那样,一般来说我们需要一个公式来转动原始平面投影的每个点,这样它就像我们在下面的图像上一样.
什么公式可以用来解决这个问题,如何解决它,有没有人面临这样的事情呢?

我需要为我的图像创建3D深度效果.数字1是我所拥有的,数字2是我希望转换为数字1的形状.那么Java标准图形库或其他一些开源库中是否有任何方法?
我正在研究一个简单的增强现实应用程序,我的问题是:
有没有任何简单的算法或库可以帮助我确定我的测试对象(黑色矩形)所在的平面的旋转和透视.
我基本上从网络摄像头抓取一个帧,然后标记测试对象的角落.现在我知道相机焦平面中每个角落的位置,当然我也知道测试对象的角落在纸平面上的位置.我想知道的是我应该采取什么样的轮换来达到照片上的情况.对于多个路径,对我来说......其中任何一个都是合适的.
我打算用Five3D AS3库将一些照片渲染到那个平面上(我目前无法定义).