日期:2014-05-18  浏览次数:21007 次

关于三维坐标换算成二维坐标的问题
在三维空间中   中心点   (0,0)是位于中间的     分别有四个范围   比如
0,0   到   -5000,5000     0,0   到   5000,5000       0,0到5000,-5000     0,0   到-5000,-5000

二维小地图的坐标范围是   0,0到300,300      


我想让三维空间中的人物   与小地图上的箭头图片同步

各位看看有什么办法吗

------解决方案--------------------
三维要换算成两维,你必须确定一个两维的投影平面,将三维点投影至该平面得到在该平面上的坐标,然后在将该两维投影平面上的坐标按比例换算成你的小平面上的坐标
------解决方案--------------------
有二维转三维的,逆一下吧:)

使用C#映射二维图像到三维球形表面
http://bbs.msproject.cn/default.aspx?g=posts&t=191


---------------------------------------------------
http://bbs.msproject.cn/

.NET开源代码下载
---------------------------------------------------
------解决方案--------------------
在三维空间中 中心点 (0,0)是位于中间的 分别有四个范围 比如
0,0 到 -5000,5000 0,0 到 5000,5000 0,0到5000,-5000 0,0 到-5000,-5000

==============================================

三维空间不是应该用3个坐标表示么?要么就是1个2维坐标+1个角度,怎么可以用2个坐标呢?
如果有x,y,z的三维空间中,最简单就是将坐标投影到x-y平面上,直接取x,y的坐标就可以。然后要做的就是坐标系的变化。x和y的范围都是-5000 - 5000,换算到0 - 10000的坐标系,公式为,(x+5000,y+5000),然后再换算到0 - 300的坐标系,就是(0.03x+5000*0.03,0.03y+5000*0.03),得到结果为(0.03*x+150,0.03*y+150),公式就出来了。记得到最后将0.03*x和0.03*y要取整以后再加。