level 11
夏午👀
楼主
经过一段时间的研究和以前的基础,我设计出了既可以旋转又可以平移的3d算法。下面引用两个帖子:
一个是@4399ok00 的可以旋转的立方体:https://tieba.baidu.com/p/5247539550
还有一个是@Gavin544221 的可以平移的立方体:https://tieba.baidu.com/p/4964655462
但他们的立方体都不能实现对方的算法,我在这里将两者结合起来,就更接近于真3d
但是!这仍然是伪3d!
文件和原理图:百度网盘
效果:

(如果图片没动就下载文件查看)
简单说一下原理:
总体是将三维上的点映射到二维上(就是把三维的点画在屏幕上)
如果摄像头不旋转,只面向z方向平移,那么根据凸透镜成像原理可以直接计算出点在屏幕上的坐标,这是@Gavin544221 的算法
如果摄像头旋转,而且平移,我的想法是让点恢复到没有旋转之前的坐标,再运用上一个算法,旋转需要用到旋转矩阵(如果大家对矩阵感到陌生,就理解为旋转需要用到旋转公式)
具体我给个文献链接:https://jingyan.baidu.com/article/2c8c281dfbf3dd0009252a7b.htm
2017年07月29日 13点07分
1
一个是@4399ok00 的可以旋转的立方体:https://tieba.baidu.com/p/5247539550
还有一个是@Gavin544221 的可以平移的立方体:https://tieba.baidu.com/p/4964655462
但他们的立方体都不能实现对方的算法,我在这里将两者结合起来,就更接近于真3d
但是!这仍然是伪3d!
文件和原理图:百度网盘
效果:

(如果图片没动就下载文件查看)简单说一下原理:
总体是将三维上的点映射到二维上(就是把三维的点画在屏幕上)
如果摄像头不旋转,只面向z方向平移,那么根据凸透镜成像原理可以直接计算出点在屏幕上的坐标,这是@Gavin544221 的算法
如果摄像头旋转,而且平移,我的想法是让点恢复到没有旋转之前的坐标,再运用上一个算法,旋转需要用到旋转矩阵(如果大家对矩阵感到陌生,就理解为旋转需要用到旋转公式)
具体我给个文献链接:https://jingyan.baidu.com/article/2c8c281dfbf3dd0009252a7b.htm