计算几何实验报告

上传人:daj****de2 文档编号:168997271 上传时间:2022-11-14 格式:DOCX 页数:9 大小:89.83KB
收藏 版权申诉 举报 下载
计算几何实验报告_第1页
第1页 / 共9页
计算几何实验报告_第2页
第2页 / 共9页
计算几何实验报告_第3页
第3页 / 共9页
资源描述:

《计算几何实验报告》由会员分享,可在线阅读,更多相关《计算几何实验报告(9页珍藏版)》请在装配图网上搜索。

1、MS扌、吗SHENYANG UNIVERSITY OF TECHNOLOGY实验报告课程名称:计算几何实验实验项目:I.Bezier曲线 2.B样条曲线专业班级:信息与计算科学1202班姓 名: 马全 学号:120701211实验室号:理学院机房实验组号:实验时间:2015.6.26 批阅时间:指导教师:曲绍波 成 绩:专业班级:信息与计算科学1202班学号:120701211 姓名: 马全实验名称: 1实验目的:(1)了解Bezier曲线,B样条曲线(2)根据要求编制程序进行实现2实验内容:编制程序实现(1)Bezier曲线,(2)B样条曲线。3.实验题目一、Bezier曲线:编制程序实现(

2、1)根据输入的4个控制定点绘制3次Bezier曲线和相关的控制多边形;(2)对于(1)中的Bezier曲线进行升阶,画出升阶后的控制多边形;(3)对于输入的参数值,根据de Casteljau算法绘出曲线上相应的点。二、B样条曲线:编制程序实现(1) 根据输入的8个控制定点P0,P,P7绘制定义在节点向量U=0,0,0,1,2,3,4,5,6,6,6上的2次B样条曲线和对应的控制多边形:曲线的每一段用不同的 颜色或线形绘出。(2)对于(1)中的控制顶点和节点向量,绘制相应的3次B样条和相应 的控制多边形:曲线的每一段用不同的颜色或线形绘出。4实验步骤或程序(经调试后正确的源程序)【见附件A】5

3、. 程序运行结果【见附件A】6. 出现的问题及解决方法未出现问题。附件A沈阳工业大学实验报告适用计算机程序设计类)专业班级: 信息与计算科学1202班学号: 120701211 姓名: 马全一,源程序(C+语言)1. Bezier 曲线(Win32App vc6.0)#include#include#include#define NUM 10LRESULT CALLBACK Winproc(HWND,UINT,WPARAM,LPARAM);int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstanc,LPSTR lpCmdLine,

4、int nShowCmd)MSG msg;static TCHAR szClassName = TEXT;HWND hwnd;WNDCLASS wc;wc.cbClsExtra =0;wc.cbWndExtra =0;wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);wc.hCursor = LoadCursor(NULL,IDC_ARROW);wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);wc.hInstance = hInstance;wc.lpfnWndProc = Winproc;wc.l

5、pszClassName = szClassName;wc.lpszMenuName = NULL;wc.style = CS_HREDRAW|CS_VREDRAW;if(!RegisterClass(&wc) MessageBox(NULL,TEXT(),TEXT(),MB_ICONERROR);return 0;hwnd = CreateWindow(szClassName,szClassName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstanc

6、e,NULL);ShowWindow(hwnd,SW_SHOWMAXIMIZED);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)TranslateMessage(&msg);DispatchMessage(&msg);return msg.wParam;WPARAMLRESULT CALLBACK Winproc(HWND hwnd,UINT message, wparam,LPARAM lparam)PAINTSTRUCT ps;HDC hdc;static POINT ptNUM;TEXTMETRIC tm;static int cx

7、Client,cyClient;HPEN hpen;int i,j,k,n,t;switch(message)case WM_CREATE:static int cxchar;hdc = GetDC(hwnd);GetTextMetrics(hdc,&tm);cxchar = tm.tmAveCharWidth;ReleaseDC(hwnd,hdc);case WM_SIZE:cxClient = LOWORD(lparam);cyClient = HIWORD(lparam);return 0;case WM_PAINT:hdc = GetDC(hwnd);srand(time(0);Rec

8、tangle(hdc,0,0,cxClient,cyClient);for(i=0; i500; i+)SelectObject(hdc,GetStockObject(WHITE_PEN);PolyBezier(hdc,pt,NUM);for(j=0; jNUM; j+)ptj.x = rand()%cxClient;ptj.y = rand()%cyClient;hpen = CreatePen(PS_INSIDEFRAME,3,RGB(rand()%256,rand()%256,rand()%256);DeleteObject(SelectObject(hdc,hpen);PolyBezi

9、er(hdc,pt,NUM);for(k=0; k50000000;k+);for(i=0; icxchar*20) n=cxchar*20;SetTextColor(hdc,RGB(rand()%256,rand()%256,rand()%256);TextOut(hdc,n/2,(t+k)/2,TEXT(Pierm Bezier!),lstrlen(TEXT(Pierm Bezier!);ReleaseDC(hwnd,hdc);DeleteObject(hpen);ValidateRect(hwnd,NULL);return 0;case WM_DESTROY:PostQuitMessag

10、e(0);return 0;return DefWindowProc(hwnd,message,wparam,lparam);2B 样条曲线namespacespstaticdoubleeps =1.0e-8;voidSetEps(doubleEps)if(Epsb|a-b;doubleN(inti,intk,doublesu,doubleu)if(k=0)if(u-su0=sui&u0) if(MBiger(sui+k-sui,eps)&MBiger(sui+k+1-sui+1,eps) return (u-sui)*N(i,k-1,su,u)/(sui+k-sui)+(sui+k+1-u)

11、*N(i+1,k-1,su,u)/(sui +k+1-sui+1);else if(!MBiger(sui+k-sui,eps)&MBiger(sui+k+1-sui+1,eps) return(sui+k+1-u)*N(i+1,k-1,su,u)/(sui+k+1-sui+1);else if(MBiger(sui+k-sui,eps)&!MBiger(sui+k+1-sui+1,eps) return(u-sui)*N(i,k-1,su,u)/(sui+k-sui);elsereturn0.0;elsereturn0.0;doubleBSL1(intk,doublesu,doubled,i

12、ntn,doubleu)inti;doubles=0.0;for(i=0;in;i+)s=s+di*N(i,k,su,u);returns;二运行结果1. Bezier 曲线:编制程序实现(1) 根据输入的4个控制定点绘制3次Bezier曲线和相关的控制多边形;网 50150.501PljlSlIJSOI厂绅血130|2)对于(1)中的Bezier曲线进行升阶,画出升阶后的控制多边形;3)对于输入的参数值,根据de Casteljau算法绘出曲线上相应的点。2. B 样条曲线:编制程序实现(1)根据输入的8个控制定点P0,P,P7绘制定义在节点向量U=0,0,0,1,2,3,4,5,6,6,6上的2次B样条曲线和对应的控制多边形:曲线的每一段用不同的颜色

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!