如何得出处于当前屏幕的所有网格

网格是45度视角的,如图

我想得到处于屏幕内的网格编号

大家有什么好的思路没

这个运算过程比较复杂,不好形容,你参考一下这些资料可以得出结论(实际上我也没有学会,不好意思)
http://www.songho.ca/opengl/gl_transform.html
http://www.songho.ca/opengl/gl_projectionmatrix.html
看懂这个就可以算出来
大概思路是构建视椎 后转换到CVV就是那种

一种思路是判断点是否在视锥体内,找出所有在视锥体内的网格点,然后这些网格点的周围4个网格都在屏幕内。
有一种情况要考虑,如果没有网格点在视锥体内,网格平面却和视锥体有相交,那么只有一个网格在视锥体内(摄像机太靠近网格了)。

当然如果网格很大,点很多的情况,遍历是很耗时的,需要优化一下,我的一种思路是把视锥体上下左右4个平面和网格平面的相交线求出来,得到一个四边形,只判断这个四边形的AABB内的网格点。

http://www.cnblogs.com/kingime/p/3682039.html

【游戏】关于45°角度地图坐标的计算原理

这个应该可以帮到你

判断多有格子是不是在屏幕内就行了。
更好的方法,可以用一个4叉树管理所有网格,然后逐个子树判断。