资源简介
使用18个控制点绘制6组三次Bezier曲线鱼轮廓,可以通过调节控制点,控制鱼轮廓生成形状。

代码片段和文件信息
/*
* This Code Was Created By Jeff Molofee 2000
* A HUGE Thanks To Fredric Echols For Cleaning Up
* And Optimizing The base Code Making It More Flexible!
* If You‘ve Found This Code Useful Please Let Me Know.
* Visit My Site At nehe.gamedev.net
*/
#include // Header File For Windows
#include // Header File For The OpenGL32 Library
#include // Header File For The GLu32 Library
#include // Header File For The Glaux Library
#include
#include
//Math types derived from the KempoApi tMath library
bool isClicked = false; // NEW: Clicking The Mouse?
bool isRClicked = false; // NEW: Clicking The Right Mouse Button?
typedef union Tuple2f_t
{
struct
{
GLfloat X Y;
} s;
GLfloat T[2];
} Tuple2fT; //A generic 2-element tuple that is represented by single-precision floating point xy coordinates.
#define Point2fT Tuple2fT //A 2 element point that is represented by single precision floating point xy coordinates.
HDC hDC=NULL; // Private GDI Device Context
HGLRC hRC=NULL; // Permanent Rendering Context
HWND hWnd=NULL; // Holds Our Window Handle
HINSTANCE hInstance; // Holds The Instance Of The Application
bool keys[256]; // Array Used For The Keyboard Routine
bool active=TRUE; // Window Active Flag Set To TRUE By Default
bool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By Default
bool keyleftdown=TRUE;
Point2fT MousePt; // NEW: Current Mouse Point
float p0_h=0;
float p0_w=0;
float p1_h=0;
float p1_w=0;
float p2_h=0;
float p2_w=0;
float p3_h=0;
float p3_w=0;
float p11_h=0;
float p11_w=0;
float p22_h=0;
float p22_w=0;
float p33_h=0;
float p33_w=0;
float p111_h=0;
float p111_w=0;
float p222_h=0;
float p222_w=0;
float p333_h=0;
float p333_w=0;
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM); // Declaration For WndProc
//文件
std::ofstream putfiletxt(“a.txt“);
//定义顶点类
class Point
{
private:
float p_x;
float p_y;
float p_z;
public:
Point(float xfloat yfloat z):p_x(x)p_y(y)p_z(z)
{
}
Point operator+(Point &point)
{
Point p=*this;
p.p_x=p.p_x+point.p_x;
p.p_y=p.p_y+point.p_y;
p.p_z=p.p_z+point.p_z;
return p;
}
Point operator*(float m)
{
Point p=*this;
p.p_x=p.p_x*m;
p.p_y=p.p_y*m;
p.p_z=p.p_z*m;
return p;
}
float point_x()
{
return p_x;
}
float point_y()
{
return p_y;
}
float point_z()
{
return p_z;
}
};
void drawallpoint(Point& point0Point& point1Point& point2Point& point3)
{
//glEnable(GL_LINE_STIPPLE); //声明线型为虚线;
//glLineStipple (10 0x1111); //设定线型
//glLineWidth(2); //设定线宽
//glBegin(GL_LINE_STRIP);
//glColor3f(0.01.00.0);
//glVertex3f(point0.point_x()point0.point_y()point0.point_z());
//glVertex3f(point1.point_x()point1.point_y()point1.point_z());
//glVertex3f(point2.point_x()point2.point_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7884198 2011-10-26 02:54 鲫鱼厚轮廓\a.txt
文件 102090 2011-07-12 17:25 鲫鱼厚轮廓\Debug\a.txt
文件 16294 2011-10-26 02:35 鲫鱼厚轮廓\Debug\BuildLog.htm
文件 667648 2011-10-26 02:35 鲫鱼厚轮廓\Debug\lesson2.exe
文件 146 2011-04-11 22:40 鲫鱼厚轮廓\Debug\lesson2.exe.em
文件 212 2011-04-11 22:40 鲫鱼厚轮廓\Debug\lesson2.exe.em
文件 145 2011-10-26 02:35 鲫鱼厚轮廓\Debug\lesson2.exe.intermediate.manifest
文件 1501284 2011-10-26 02:35 鲫鱼厚轮廓\Debug\lesson2.ilk
文件 532378 2011-10-26 02:35 鲫鱼厚轮廓\Debug\Lesson2.obj
文件 3042304 2011-10-26 02:35 鲫鱼厚轮廓\Debug\lesson2.pdb
文件 67 2011-10-26 02:35 鲫鱼厚轮廓\Debug\mt.dep
文件 1453056 2011-10-26 02:35 鲫鱼厚轮廓\Debug\vc80.idb
文件 217088 2011-10-26 02:35 鲫鱼厚轮廓\Debug\vc80.pdb
文件 26419 2011-10-26 03:28 鲫鱼厚轮廓\Lesson2.cpp
文件 4056 2011-04-11 22:40 鲫鱼厚轮廓\Lesson2.dsp
文件 539 2011-04-11 22:40 鲫鱼厚轮廓\Lesson2.dsw
文件 7474176 2011-10-26 03:59 鲫鱼厚轮廓\Lesson2.ncb
文件 878 2011-04-11 22:40 鲫鱼厚轮廓\Lesson2.sln
..A..H. 57344 2011-10-26 03:59 鲫鱼厚轮廓\Lesson2.suo
文件 5552 2011-04-11 22:40 鲫鱼厚轮廓\lesson2.vcproj
文件 1405 2011-10-26 03:59 鲫鱼厚轮廓\lesson2.vcproj.DIAO.Administrator.user
文件 1409 2011-04-11 22:40 鲫鱼厚轮廓\lesson2.vcproj.MONICA.Administrator.user
文件 1427 2011-06-12 00:30 鲫鱼厚轮廓\lesson2.vcproj.PC-201103051308.Administrator.user
文件 1427 2011-07-03 18:54 鲫鱼厚轮廓\lesson2.vcproj.PC2009083115XTS.Administrator.user
文件 1427 2011-04-11 22:40 鲫鱼厚轮廓\lesson2.vcproj.WWW-B0143540B21.Administrator.user
文件 771 2011-04-11 22:40 鲫鱼厚轮廓\NeHe‘s Readme.txt
目录 0 2011-10-26 02:35 鲫鱼厚轮廓\Debug
目录 0 2011-10-26 03:28 鲫鱼厚轮廓
----------- --------- ---------- ----- ----
22993740 28
............此处省略1个文件信息
- 上一篇:iptapev3.zip
- 下一篇:电子设计大赛控制类题目——水温控制系统讲义
相关资源
- OpenGL参考手册
- Qt Creator opengl实现四元数鼠标控制轨迹
- OpenGL文档,api大全,可直接查询函数
- opengl轮廓字体源代码
- MFC读三维模型obj文件
- 利用OpenGL写毛笔字算法
- MFC中OpenGL面和体的绘制以及动画效果
- 基于OPENGL的光线跟踪源代码368758
- VC 实现三维旋转(源码)
- 自编用openGL实现3D分形树,分形山
- OpenGL球形贴图自旋程序
- OpenGL导入贴图的Texture类
- 计算机图形学(openGL)代码
- 用OpenGL开发的机械臂运动仿真程序(
- OpenGL-3D坦克模拟
- OPENGL实现世界上最小的3D游戏
- VS2012OpenGL配置所需要的全部libdllh文件
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- opengl室内场景的绘制,包括碰撞检测
评论
共有 条评论