#include <stdio.h>
#include <gl/glut.h>
#include <math.h>
#include "gmath.h"
#include "gmatrix3d.h"
#include "gvector3d.h"
#include "gcamera.h"
#include "gmaterial.h"
#include "glight.h"
#include "gtexture2d.h"
GMatrix3d gRotmatrix;
GTexture2D gEarthTex;
GMatrix3d gRotMatrix;
double gRotx = 0.0;
double gRotY = 0.0;
bool gIsButtonDown = false;
int gMouseX = 0;
int gMouseY = 0;
GCamera gCamera;
GLight gLight0;
void drawPlan()
{
glColor3f(0.6f,0.6f,0.6f);
int nx;
nx = 10;
double dx = 2.0 / nx;
double x, y0,y1;
double da = 2 * PI / nx;
double alpha = 0;
glBegin(GL_QUADS);
x = -1;
for (int i = 0; i < nx; i++)
{
GVector3d v0, v1;
y0 = sin(alpha) * 0.2;
y1 = sin(alpha + da) * 0.2;
v0.set(-0.2*cos(alpha), 1.0 / PI, 0);
v0.normalize();
v1.set(-0.2*cos(alpha+da), 1.0 / PI, 0);
v1.normalize();
glVertex3d(x, y0, -1);
glVertex3d(x, y0, 1);
glVertex3d(x+dx, y1, 1);
glVertex3d(x+dx, y1, -1);
x += dx;
alpha += da;
}
glEnd();
//glBegin(GL_LINES);
//for(float u=-1.0f;u<1.01f;u+=0.2f)
//{
// glVertex3d(-1,0,u);
// glVertex3d(1,0,u);
// glVertex3d(u,0,-1);
// glVertex3d(u,0,1);
//}
计算机图形学-切割圆球
最新推荐文章于 2023-06-01 08:01:03 发布
本文深入探讨计算机图形学中的三维圆球切割技术,主要围绕OpenGL进行讲解,涉及顶点着色器、片段着色器的应用,以及如何通过数学公式实现对圆球的精确切割操作。
摘要由CSDN通过智能技术生成