爱问知识人 爱问教育 医院库

求高人帮我解释一下这段代码

首页

求高人帮我解释一下这段代码

一段openGL画圆的代码,但是不知道原理是什么,尤其是sin和cos那里,没看明白,求高手指点!

glBegin(GL_POLYGON);
        
    for(float angle=0.0f;angle<2.0f*3.1 f;angle+=0.00001f)
    {
            int x = 100.0f*sin(angle);
            int y = 100.0f*cos(angle);
      glVertex2f(x, y);
      }
        glEnd();

提交回答
好评回答
  • 2010-10-13 19:43:21
      楼上的,怎么能这么给别人解读代码呢,人家要的是原理。
    画圆很简单的,定义好圆心位置和半径就可以在一个直角坐标系中画出来。当然,让计算机画圆时,只需要给它圆周上每个点的位置就行了。
    代码:
    for(float angle=0。0f;angle<2。
      0f*3。14159265f;angle+=0。00001f) { int x = 100。0f*sin(angle); int y = 100。0f*cos(angle); glVertex2f(x, y); } 表示,在[0,2π]之间,每隔0。
      00001个弧度计算一个圆周上点的位置,就是: int x = 100。0f*sin(angle); int y = 100。0f*cos(angle); 其中,半径为100; 位置计算好了,需要将它画出来,否则我们看不到这个点,自然也看不到圆了。
      语句:glVertex2f(x, y) 就是将坐标为(x,y)的点绘制出来。 。

    1***

    2010-10-13 19:43:21

其他答案

    2010-10-11 15:12:51
  • 将输入的浮点型常量由零凯开始,每次增加0.00001f,直到满足angle<2.0f*3.14159265f停止,将angle sin后,乘以100,再将所得数赋值给x变量;y同理;
    最后glVertex2f(x, y)来调用x,y参数; 

    庄***

    2010-10-11 15:12:51

类似问题

换一换
  • 图像处理软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):