【openGL】画正弦函数图像

 1 #include "stdafx.h"
 2 #include <GL/glut.h>
 3 #include <stdlib.h>
 4 #include <math.h>
 5 #include <stdio.h>
 6
 7 const GLfloat factor = 0.1f;
 8 void myDisplay(void) {
 9     GLfloat x;
10     glClear(GL_COLOR_BUFFER_BIT);
11     glBegin(GL_LINES);
12     glVertex2f(-1.0f, 0.0f);
13     glVertex2f(1.0f, 0.0f);
14     glVertex2f(0.0f, -1.0f);
15     glVertex2f(0.0f, 1.0f);
16     glEnd();
17     glBegin(GL_LINE_STRIP);
18     for (x = -1.0f / factor; x<1.0f / factor; x += 0.01f) {
19         glVertex2f(x*factor, sin(x)*factor);
20     }
21     glEnd();
22     glFlush();
23 }
24
25 int main(int argc, char *argv[]) {
26     glutInit(&argc, argv);
27     glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
28     glutInitWindowPosition(100, 100);
29     glutInitWindowSize(500, 500);
30     glutCreateWindow("OpenGL正弦函数图像程序");
31     glutDisplayFunc(&myDisplay);
32     glutMainLoop();
33     return 0;
34 }

运行结果如下图所示:

时间: 2024-10-10 16:20:26

【openGL】画正弦函数图像的相关文章

计算机图形学(二)输出图元_2_ OpenGL画线函数

 OpenGL画线函数 图形软件包一般都提供一个描述一条或多条直线段的函数,其中每一直线段由两个端点坐标位置定义.在OpenGL中,和选择一个点位置一样,我们使用glVertex函数选择单个端点的坐标位置.我们使用一对glBegin/g1End来引入一串端点位置.有三个OpenGL符号常量可用于指定如何把这一串端点位置连接成一组直线段.默认情况下,每一符号常量显示白色实线. 使用图元线常量GL_LINES可连接每一对相邻端点而得到一组直线段.通常,这会导致一组未连接的线段,除非重复某些坐标位置.

[Java画图]画函数图像

利用Graphics类画任意显式函数图像,只需修改代码中的F()函数即可,另外调整timesx和timesy参数来分方向放大或缩小图像.需要重定义坐标系. 1 package test; 2 3 import javax.swing.*; 4 import java.awt.Graphics; 5 6 public class DrawFunction extends JFrame { 7 static double timesx = 10, timesy = 10; 8 double F(do

Assignment 2 使用OpenGL画安卓机器人

一. 实现简述 Assignment 2 Report 目标:画一个安卓机器人. 代码结构:在 glutDisplayFunc(drawRobot)中的参数 drawRobot 函数是实 现画机器人的最外层函数,其中包括画脸.画身体.画手和画脚.每个函数又继 续细分画的步骤和方法.如下图所示: 二. 心得体会 这次任务让我对 OpenGl 有了初步认识.通过阅读课本和网上的资料,掌握 使用 OpenGl 的基本功能,比如如何画基本的点.线和多边形.并理解了一些之 前没明白的重要概念,比如 glL

opengl画个球

本文介绍两种方法用opengl绘制一个球体,一种是计算球面点的位置,然后画出来,另一种是glut工具箱自带的函数. 一.直接绘制法 直接贴代码,解释都写在注释里了.绘制时先移动好坐标系,然后调用这方法画就行. <span style="font-family:SimSun;font-size:12px;">//球心坐标为(x,y,z),球的半径为radius,M,N分别表示球体的横纵向被分成多少份 void drawSphere(GLfloat xx, GLfloat yy

matplotlib 画封闭图像并填充

1.画矩形 这个费了我半天劲,不知怎么就可以了. 复制来自:https://www.cnblogs.com/ymjyqsx/p/7390288.html import  matplotlib.pyplot  as plt fig = plt.figure()ax = fig.add_subplot(111)   #创建子图,为什么要这样创建,不明白 rect = plt.Rectangle((0.1,0.2),0.4,0.3, color="red")    # (0.1,0.2)为左

python如何画三维图像?

python三维图像输出的代码如下所示:#画3D函数图像输出from mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import cmimport matplotlib.pyplot as pltimport numpy as npimport mpl_toolkits.mplot3dfigure=plt.figure()#ax = Axes3D(figure)ax=figure.gca(projection="3d")x1=np.

SDL2+OpenGL (4)混合图像产生动态效果

利用OpenGL的glBlendFunc函数将下面这张图作为纹理产生动态效果 1 #include <GL/glew.h> 2 #include <SDL2/SDL.h> 3 #include <SDL2/SDL_opengl.h> 4 #include <SDL2/SDL_image.h> 5 bool quit; 6 SDL_Window* window; 7 SDL_GLContext glContext; 8 SDL_Event sdlEvent;

使用NIFTI指令画nii图像

? 关于几种显示工具 mricro:显示出来的左右脑是反着的: mricroN,SPM,xjview,BrainNetViewer:显示出的左右脑是正确的,并且对于做过仿射变换的图像可以自动识别并且校正显示为正确的左右脑. ? NIFTI mapping commands ① load_untouch_nii 以及 save_untouch_nii必须成对使用: ② load_nii 以及 save_nii 必须成对使用: ③ 若使用make_nii,则后续应当用 save_nii 保存图像.

OpenGL画圆

中点画圆 1 #include<gl/glut.h> 2 3 4 void MidPointCirle(int r) 5 { 6 int x,y; 7 float d; 8 x=0;y=r;d=1.25-r; 9 glColor3f(1.0f,1.0f,1.0f); 10 glVertex2i(x,y); 11 while(x<=y) 12 { 13 if(d<0) 14 d+=2*x+3; 15 else 16 { 17 d+=2*(x-y)+5; 18 y--; 19 } 20