- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机 学院 计算机科学与技术 专业7班 学号3109006191
姓名刘英双协作者 教师评定
实验四Bezier
实验四
Bezier曲线生成
1、 实验目的与要求
通过实验掌握理解并会自己编程实现二维Bezier曲线的画图;
实现二维2、3、4阶Bezier曲线的绘制。
将生成算法以菜单或按钮形式集成到用户界面上。
坐标参数可以用鼠标或键盘输入。
2、 实验方案
实验1:
Bezier曲线定义:
给定n+1个控制顶点Pi(i二0~n),则Bezier曲线定义为:
P(t)=ZBi,n(t)Pi ue[0,1]
其中:Bi,n(t)称为基函数。
Bi,n(t)=Ci nti (1-t)n-i
Ci n=n!/(i!*(n-i)!)
Bezie「曲线性质
?端点性质:
P(0)=P0, P(1)=Pn,即:曲线过二端点。
P,(0)=n(P1-P0), P,(1)=n(Pn-Pn-1)
即:在二端点与控制多边形相切。
?凸包性:Bezier曲线完成落在控制多边形的凸包内。
对称性:由Pi与Pn?i组成的曲线,位置一致,方向相反。
包络性:Pn (t)二(1-t)Pn-l (t)+tPn-l (t)
实验2
实现了在菜单【曲线】〉生成,弹出一个对话框,要求用户输入Bezier曲线的次数。
实现了在菜单【曲线】?计算,去掉点,计算生成Bezier ft线的控制点
在界面中用鼠标左键点击,确定控制点,输入完控制点后,系统自动生成Bezier曲线
3、 实验结果和数据处理
实验1实验结果:
①实验的代码如下:
#include GL/glut.h
#include stdio.h
#inckide stdlib.h
#include vector
using namespace std;
struct Point {
int x, y;
};
Point pt[4],bz[ll];
vectorPoint vpt;
bool bDraw;
int nlnput;
void CalcBZPoints()
{
float a0,al,a2,a3,b0,bl,b2,b3;
a0=pt[0].x;
al=?3*pt[O].x+3*pt[l].x;
a2=3 *pt[O] .x-6*pt[ 1 ] .x+3 *pt[2] .x; a3=-ptfOl.x+3*pt[l].x-3*pt[2].x+pt[3].x; bO=pt[O].y;
bl=-3*pt[O].y+3*pt[l].y;
b2=3*pt[0].y-6*pt[ l].y+3*pl ⑵.y; b3=-pt[0].y+3*pt[l].y-3*pt[2].y+pt[3].y; float t = 0;
float dt = 0.01;
for(int i = 0; tl.l; t+=0.1, i++)
bz[i].x = a0+al*t+a2*t*t+a3*t*t*t;
bz[i].y = b0+bl*t+b2*t*t+b3*t*t*t;
}
}
void ControlPoint(vectorPoint vpt)
{
glPointSize(2);
for(int i=0; ivpt.size(); i++)
{
glBegin (GL.POINTS);
glColor3f (1 .Of, O.Of, O.Of); glVertex2i (vpt[i].x,vpt[i].y); glEnd ();
}
}
void PolylineGL(Point *pt, int num)
{
glBegin (GL_LINE_STRIP);
for(int i=0;inum;i4-+)
{
glColor3f(1.0f, l.Of, 1.00;
glEnd ();
void myDisplayO
{
glClear(GL_COLOR_BUFFER_BIT); glColor3f (l.Of, l.Of, 1.00;
if (vpt.size() 0) {
ControlPoint(vpt);
}
if(bDraw)
{
PolylineGL(pt, 4);
CaIcBZPoints();
PolylineGL(bz, 11);
}
glFlush();
}
void Init()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_SMOOTH);
printf(Please Click left button of mouse to input control point of Bezier Curve!\n);
void Reshape(int w, int h)
glViewport(0, 0, (GLsizei) w, (GLsizei
您可能关注的文档
- 广东省2019高考物理一轮基础复习讲义专题9机械能守恒定律与能量(含解析).docx
- 广东省2019高考物理一轮基础复习讲义专题10万有引力定律(含解析).docx
- 广东省2019高考物理一轮基础复习讲义专题11电场(含解析).docx
- 广东省2019高考物理一轮基础复习讲义专题12磁场(含解析).docx
- 广东省2019高考物理一轮基础复习演练专题2匀变速直线运动(含解析).docx
- 广东省2019高考物理一轮基础复习演练专题11电场(含解析).docx
- 广东省2019高考物理一轮基础复习演练专题12磁场(含解析).docx
- 广东省2019高考物理一轮基础复习演练专题13电磁感应(含解析).docx
- 广东省2019高考物理一轮基础复习演练专题16单位制、实验与探究(含解析).docx
- 广东省2019届高三六校第一次联考理科数学试题.docx
- 2025广东佛山市顺北集团有限公司规划岗招聘1人考试备考试题及答案解析.docx
- 2025重庆巫溪县古路镇卫生院招聘笔试参考题库及答案解析.docx
- 2025福建厦门市集美区上塘中学非在编和产假顶岗教师招聘3人笔试备考试题及答案解析.docx
- 2025广东广州市中心放疗科何立儒教授课题组自聘技术员招聘1人考试参考试题及答案解析.docx
- 2025福建厦门外代国际货运有限公司海峡快线单证业务员岗社会招聘1人考试备考试题及答案解析.docx
- 2025年齐齐哈尔龙沙区江安街道公益性岗位招聘1人考试备考试题及答案解析.docx
- 2025福建漳州芗城教育投资有限公司下属子公司招聘13人笔试备考试题及答案解析.docx
- 2025年华能核电开发有限公司所属基层企业社会化招聘考试参考题库及答案解析.docx
- 燃气安全培训管理内容课件.pptx
- 四川宏达(集团)有限公司本部及所属企业2025年12月社会招聘笔试模拟试题及答案解析.docx
最近下载
- 新视野大学英语(第四版)视听说教程2(思政智慧版).pdf VIP
- 杭州西奥电梯XO-CON4342电气原理图纸接线图ALMCB.pdf
- GA_T 1788.3-2021 公安视频图像信息系统安全技术要求 第3部分:安全交互.doc VIP
- 2025至2030年中国微型电子天平市场现状分析及前景预测报告.docx
- GA_T 1788.2-2021 公安视频图像信息系统安全技术要求 第2部分:前端设备.doc VIP
- GA_T 1788.1-2021 公安视频图像信息系统安全技术要求 第1部分:通用要求.doc VIP
- 备稿六步范文,备稿六步.doc VIP
- 空间信息考古-洞察及研究.docx VIP
- 丝绸之路(南道)屯戍遗址空间考古:历史脉络与当代探索.docx
- KEYENCE基恩士IV3 系列 用户手册 (PC 软件篇).pdf
原创力文档


文档评论(0)