#include <glut.h>
#include <stdio.h>
#include <gl.h>
#include <math.h>
int i, j;
const int N = 40;
float x[N], y[N];
#define PI 3.1416
void glRect(int leftX, int leftY, int rightX, int rightY) {
glBegin(GL_LINE_LOOP);
glVertex2d(leftX, leftY);
glVertex2d(rightX, leftY);
glVertex2d(rightX, rightY);
glVertex2d(leftX, rightY);
glEnd();
}
void glArc(double x, double y, double start_angle, double end_angle, double radius) {
glBegin(GL_LINE_STRIP);
double delta_angle = PI / 180;
for (double i = start_angle; i <= end_angle; i += delta_angle) {
double vx = x + radius * cos(i);
double vy = y + radius * sin(i);
glVertex2d(vx, vy);
}
glEnd();
}
void glCircle(double x, double y, double radius) {
glArc(x, y, 0, 2 * PI, radius);
}
void glTri(int x1, int y1, int x2, int y2, int x3, int y3) {
glBegin(GL_LINE_LOOP);
glVertex2d(x1, y1);
glVertex2d(x2, y2);
glVertex2d(x3, y3);
glEnd();
}
void glLine(int x1, int y1, int x2, int y2) {
glBegin(GL_LINE_STRIP);
glVertex2d(x1, y1);
glVertex2d(x2, y2);
glEnd();
}
void display(void) {
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glLineWidth(3.0);
// 绘制熊猫的身体
glColor3f(0.0, 0.0, 0.0);
glCircle(0, 0, 100);
// 绘制熊猫的头部
glColor3f(0.0, 0.0, 0.0);
glCircle(0, 120, 60);
// 绘制熊猫的眼睛
glColor3f(0.0, 0.0, 0.0);
glCircle(-30, 140, 15);
glCircle(30, 140, 15);
// 绘制熊猫的眼珠
glColor3f(1.0, 1.0, 1.0);
glCircle(-30, 140, 5);
glCircle(30, 140, 5);
// 绘制熊猫的鼻子
glColor3f(0.0, 0.0, 0.0);
glCircle(0, 110, 10);
// 绘制熊猫的嘴巴
glColor3f(0.0, 0.0, 0.0);
glArc(0, 90, 0, PI, 20);
// 绘制熊猫的耳朵
glColor3f(0.0, 0.0, 0.0);
glCircle(-60, 180, 20);
glCircle(60, 180, 20);
// 绘制熊猫的手臂
glColor3f(0.0, 0.0, 0.0);
glRect(-120, -40, -80, 40);
glRect(80, -40, 120, 40);
// 绘制熊猫的腿
glColor3f(0.0, 0.0, 0.0);
glRevsc++运行结果图片
最新发布