#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);
//}
//glEnd();
}
计算机图形学-切割球体
最新推荐文章于 2023-04-05 19:32:29 发布
本文深入探讨了计算机图形学中如何进行球体切割的算法和技巧,包括数学模型建立、切割方法以及在3D渲染中的应用。通过实例展示,解释了如何通过编程实现精确的球体切割效果,并讨论了切割过程中的优化策略和常见问题解决办法。

最低0.47元/天 解锁文章
596

被折叠的 条评论
为什么被折叠?



