SharpGL学习基础篇--坐标系中的三角形

1:opengGL做立体图,是在三维坐标系中,多次试验,弄清三维坐标系方向,画三角形的原理及成像机制。代码解释一波。

            //实例化OpenGL对象
            OpenGL gl = new OpenGL(); 
 
            //清空Depth和Color缓存      
            gl.Clear(OpenGL.GL_DEPTH_BUFFER_BIT | OpenGL.GL_COLOR_BUFFER_BIT);
            
            //加载坐标系在屏幕画布中间 
            //右手坐标系:中指对己为正Z、食指朝天为正Y、拇指向右为正X
            gl.LoadIdentity(); 
                          
            gl.Begin(OpenGL.GL_TRIANGLES);    //开始画三角形
            {
                gl.Vertex(1.0f, 0.0f, -10.0f);  //画三角形原理:两个向量及向量起点
                gl.Vertex(2.0f, 0.0f, -10.0f);  //直接夹的区域即为所做三角形
                gl.Vertex(1.0f, -1.0f, -10.0f);
            }
            gl.End();    //必须要有结束符号

2:当使用诸如函数:gl.translate()、gl.rotate()时是对整个坐标系,相对屏幕中心进行移动、旋转等,接下若没有使用gl.LoadIdentity() 函数的话,素有图像都是在移动旋转后的图像画的,与前一个坐标系没有关系。

      2.1在画三角形时,若gl.Vertex(x,y,z)中的所有z坐标都为0的话,会导致看不见图像,可能你已经画出来了,但因为视点问题,没展示出来,这时候只需要将所有的z都减去一个合适的整数即可。

       2.2gl.translate(x,y,z)就是按当前坐标,分别移动x,y,z个距离

       2.3gl.rotate(x,y,z)分别绕着三个轴,逆时针转动x,y,z度。

3:正方形相当于两个三角形拼接而成,每个点的先后顺序对作图结果有影响,要顺时针或逆时针画完,不能先画对角线的点。

4:若平移后需要回到中心坐标,调用gl.LoadIdentity() 即可。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值