当前位置:编程学习 > C#/ASP.NET >>

OpenGL模型平移问题

Gl.glTranslatef(Convert.ToSingle(-(Max.x + Min.x) / 2.0), Convert.ToSingle(-(Max.y + Min.y) / 2.0), Convert.ToSingle(-(Max.z + Min.z) / 2.0));     


Max.x,Max.y,Max.z;Min.x, Min.y, Min.z定义了一个打开模型的最小外接矩形(Max均为原始数据坐标),
用以上语句为什么不能把模型的中心移动到屏幕中心?

问题:模型的原始坐标跟屏幕坐标关系?比如模型的一个点三维坐标为x=40.0,y=40.0,z=40.0,打开到OpenGL视窗中,点的坐标仍然是x=40.0,y=40.0,z=40.0?还是通过某种方式转换到屏幕坐标?

刚接触,不是很懂,问的外行的话,大家不要笑 --------------------编程问答-------------------- 自动置顶,别沉了。。。。。。,解释下也行 --------------------编程问答-------------------- 比如你把一个物体往左边移动了5米。
在你的眼里,它是向左还是向右移动了?
答案取决于你的位置和视角 - 你在它前面(向左?),你在他后面(向右?),你在它左边(靠近?)。

所以,物体的坐标(世界坐标)到屏幕坐标的转换,还取决于视点和视角。 --------------------编程问答--------------------
引用 2 楼 gomoku 的回复:
比如你把一个物体往左边移动了5米。
在你的眼里,它是向左还是向右移动了?
答案取决于你的位置和视角 - 你在它前面(向左?),你在他后面(向右?),你在它左边(靠近?)。

所以,物体的坐标(世界坐标)到屏幕坐标的转换,还取决于视点和视角。


Glu.gluLookAt(0.0f, 0.0f, 1f, 0.0f, 0.0f, -900f, 0f, 1f, 0f);


求具体方法,-_-!!! --------------------编程问答-------------------- 你理解了,具体方法就有了:)
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,