曲线和曲面

所属分类:OpenGL
开发工具:Visual C++
文件大小:644KB
下载次数:14
上传日期:2017-09-27 20:42:28
上 传 者DreamTony
说明:  曲线和曲面Curves & Surfaces 实现一个简单的2D样条曲线编辑器。该编辑器应支持Bezier曲线和B样条曲线, 可以实现两种曲线的转换(仅对四个控制点的双三次样条曲线)。在你的曲线程序能工作后,将转到由这些曲线来产生曲面:旋转曲面和双三次Bezier 片.
(Curves and surfaces Curves & Surfaces To achieve a simple 2D spline editor. The editor should support the Bezier curve and the B spline curve, and you can achieve the conversion of the two curves (only the double three spline curve of the four control points). After your curve program can work, you'll go through the curves to produce surfaces: rotating surfaces and double three Bezier slices)

文件列表:
111152-陈均永-20151002692-作业1\代码及文件\arg_parser.h (2344, 2017-09-11)
111152-陈均永-20151002692-作业1\代码及文件\curve.h (14108, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\glCanvas.cpp (5302, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\glCanvas.h (1254, 2017-09-11)
111152-陈均永-20151002692-作业1\代码及文件\main.cpp (1362, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\matrix.cpp (8567, 2017-09-11)
111152-陈均永-20151002692-作业1\代码及文件\matrix.h (3833, 2017-09-11)
111152-陈均永-20151002692-作业1\代码及文件\output01_bezier.txt (211, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\output01_bspline.txt (213, 2017-09-19)
111152-陈均永-20151002692-作业1\代码及文件\output02_bezier.txt (211, 2017-09-19)
111152-陈均永-20151002692-作业1\代码及文件\output02_bspline.txt (213, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\output07_edit.txt (221, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\patch_high.obj (101819, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\patch_low.obj (1101, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\patch_med.obj (6095, 2017-09-24)
111152-陈均永-20151002692-作业1\代码及文件\scene06_torus_high.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene06_torus_low.txt (537, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene07_vase_high.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene07_vase_low.txt (536, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene08_bezier_patch_high.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene08_bezier_patch_low.txt (537, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene08_bezier_patch_med.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene09_teapot_high.txt (539, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene09_teapot_low.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene10_transparent_vase.txt (1102, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene11_reflective_teapot.txt (1586, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_06_torus_high.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_06_torus_low.txt (537, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_07_vase_high.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_07_vase_low.txt (536, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_08_bezier_patch_high.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_08_bezier_patch_low.txt (537, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_08_bezier_patch_med.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_09_teapot_high.txt (539, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_09_teapot_low.txt (538, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_10_transparent_vase.txt (1102, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\scene8_11_reflective_teapot.txt (1586, 2005-08-30)
111152-陈均永-20151002692-作业1\代码及文件\spline.cpp (0, 2017-09-23)
111152-陈均永-20151002692-作业1\代码及文件\spline.h (1090, 2017-09-23)
... ...

程序中的BUG:1.不知道问什么在运行release版生成.exe文件后,程序的.exe文件无法执行,所以不能够用.bat文件来运行程序,每次在main()里面输入参数都需要手动输入,比较麻烦。 2.在画甜甜圈之前读入spline06_torus.txt文件的bezier曲线图画出来时两端没有连在一起,但是如果是像读入spline01_bezier.txt文件画bezier曲线时又没有出现这个错误。 完成情况:1.调试原始工程,使它能够运行。 2.为Curve 类实现Paint(ArgParser*)函数,正常画出bezier曲线和BSpline曲线。 3.实现Bezier曲线和BSplines曲线之间的转换.通过实现OutputBezier(FILE *file)函数来进行曲线转换。 4.实现的Bezier 和 BSpline 曲线一般化。通过实现BSplineCurve和BezierCurve类的增,删,移动点函数。 5.实现SurfaceOfRevolution类。由于SurfaceOfRevolution是由 BezieCuve和BSplineCurve来初始化,所以在实现SurfaceOfRevolution类时,只要调用 BezieCuve和BSplineCurve类中相应的函数就可以了。包括Paint和OutputTriangles函数。 6.最后的两步没有实现编写SetCurveVertex(ArgParser* args)函数,以及相关的助手函数。但是能够输出茶壶和花瓶的obj文件。没有实现场景。 在程序中实现的曲线转换和obj图像包含在提交的文件夹中。 在作业1中,前几步都可以通过补充原程序来实现。像移动点之类的函数只要通过改变从文件中读取到的点坐标数组的相应值就可以实现。画曲线的关键在于求用公式出曲线中的点。后面在做obj图时比较难,需要做相应的转换。通过这次作业,我了解到了曲线和3维图像是怎么画出来的。

近期下载者

相关文件


收藏者