OpenGL绘制几个基本初等函数图像

OpenGL绘制几个基本初等函数图像OpenGL 绘制 x 三次方和 x 三分之一次方 includeGL glut h includemath hvoidmyDispl void inti glClear GL COLOR

大家好,欢迎来到IT知识分享网。

1.x三次方和x三分之一次方
在这里插入图片描述

#include <GL/glut.h> #include <math.h> void myDisplay(void) { 
    int i; glClear(GL_COLOR_BUFFER_BIT); glClearColor(1.0f, 1.0f, 0.5f, 1.0f); glColor3f(0.5f, 0.1f, 1.0f); glBegin(GL_LINE_STRIP); for (i = 0; i < 1000; i++) // 画 x 三分之一次方 glVertex2f(i * 0.001, pow(i * 0.001, 0.)); glEnd(); glBegin(GL_LINE_STRIP); // 画x三次方的 for (i = -1000; i < 0; i++) glVertex2f(i * 0.001, pow(i * 0.001, 3)); glEnd(); glFlush(); } int main(int argc, char* argv[]) { 
    glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("复合函数"); glutDisplayFunc(&myDisplay); glutMainLoop(); return 0; } 

运行结果
在这里插入图片描述

2半立方抛物线

#include <GL/glut.h> #include <math.h> void myDisplay(void) { 
    int i; glClear(GL_COLOR_BUFFER_BIT); glClearColor(0.1f, 0.7f, 0.2f, 0.5f); glColor3f(0.0f, 0.0f, 1.0f); glBegin(GL_LINE_STRIP); for (i = 0; i < 1000; i++) glVertex2f(i * 0.001, sqrt(pow(0.9 * i * 0.001, 3))); glEnd(); glBegin(GL_LINE_STRIP); for (i = 0; i < 1000; i++) glVertex2f(i * 0.001, -sqrt(pow(0.9 * i * 0.001, 3))); glEnd(); glFlush(); } int main(int argc, char* argv[]) { 
    glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("半立方抛物线"); glutDisplayFunc(&myDisplay); glutMainLoop(); return 0; } 

在这里插入图片描述
3.概率曲线

#include <GL/glut.h> #include <math.h> void myDisplay(void) { 
    int i; glClear(GL_COLOR_BUFFER_BIT); glClearColor(0.0f, 1.0f, 0.5f, 1.0f); glColor3f(0.5f, 0.0f, 1.0f); glBegin(GL_LINE_STRIP); for (i = -1000; i < 1000; i++) glVertex2f(i * 0.001, pow(2.9, -pow(i * 0.001, 2)) - 0.2); glEnd(); glFlush(); } int main(int argc, char* argv[]) { 
    glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("概率曲线y=e^-(x^2)"); glutDisplayFunc(&myDisplay); glutMainLoop(); return 0; } 

在这里插入图片描述

4.ln(|x|)

 ```cpp #include <GL/glut.h> #include <math.h> void myDisplay(void) { 
    int i; glClear(GL_COLOR_BUFFER_BIT); glClearColor(0.0f, 0.5f, 0.7f, 0.5f); glColor3f(0.9f, 0.7f, 1.0f); gluOrtho2D(-3, 3, -3, 3); glBegin(GL_LINE_STRIP); for (i = -30000; i < 30000; i++){ 
    if (i == 0) continue; glVertex2f(i * 0.001, log(fabs(i * 0.001))); } glEnd(); glFlush(); } int main(int argc, char* argv[]) { 
    glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("ln(|x|)"); glutDisplayFunc(&myDisplay); glutMainLoop(); return 0; } 

在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/156486.html

(0)
上一篇 2025-02-11 21:26
下一篇 2025-02-11 21:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信