This is Me!——回顾第一个项目的前前后后

今天终于把论文敲完了,一路走来,颇多感想。遂写下以下诸多文字,以飨读者。
在说这个项目之前,先简单介绍一下我的经历。我叫王财勇,家是山西的,2009年至2013年在新疆大学就读数学专业,也许有人会问,为什么你要去新疆读书?其实答案很简单,我高考分不高,所以未能进入理想院校就读,因此调剂到新大数学系。开始我很失望,本来就调剂,还读了数学。后来我就不怎么后悔了。尽管新大也是211高校,在新疆也是第一高校,但在内地排名仍然在80左右。但是就是这个排名不高的学校,她的数学专业却令全国的同行不敢小觑。我们新大的图论和生物数学领域在业内是很有名的,先后走出了很多知名教授,如厦门大学教授张福基,曾担任我们的系主任、南开大学组合数学中心副主任李学良教授、美国贝尔实验室和离散数学与理论计算机科学研究中心博士后研究人员永学荣等,还有一大批的教授在这里仍然讲学,更庆幸的我读书那年,新大正好成立了第一届全国理科基础与人才培养基地班。这个班至今全国只有18个院校有,而且可以办这个班的学校基本都是985,新大能够办这种班,也说明了新大的数学真是很强。我在这样一个很好的环境下开始了我的数学本科学习。
本科学习的生涯是充实的,我的成绩也很好,最终大四毕业,我特意打了一下我的成绩单,四年的学分绩点是3.81,名列榜首,也因此我成功保送到厦门大学攻读研究生。
在厦大,我的专业是计算数学,导师是曾晓明老师,研究方向是计算机辅助几何设计与计算机图形学。由于我在本科学的是应用数学,比较理论化,研究生转到了计算数学,这就意味着我即将接触到更多的编程。遗憾的是我之前仅有Matlab与C语言的基础,而且应该说很浅,现在我更多的是要使用C++。怎么办呢?没办法,只有硬着头皮去学C++了。我找了一本比较简单的C++入门书,主要学了一些关于类、继承、多态性等方面的知识,这时老师就让我旁听一门叫《数字几何处理》的课,那门课让我收益良多,我开始迈进了计算机图形学的大门。那门课让我知道了OpenGL,Openmesh,也让我看到了图形学的绚丽与精彩。那门课有是三个大作业,是用C++编写的,我们要求补充里面的一些程序,我是个C++新手,第一个程序没做完,也挺着急的,就找别人的看了看,也开始自己去琢磨,终于后面的两个程序我搞出了。那时感觉挺有成就感,后来我又学了《计算机图形学教程》、《计算几何》等专业课,理论基本建立了一些。
为了继续加强C++的学习,我又利用课余时间与暑假,先后补充了数据结构、算法、C++ STL、Qt、最优化理论等方面的知识,尤其是Qt的学习让我终于见识了计算机的神奇,我终于可以自己编写一个小的软件,设计一个界面,这些让我倍感兴奋。C++ STL是我经常要使用的标准库,非常好用,里面提供了vector/list/deque/string等数据结构和一些常用的算法如sort等,它的学习为我后来的程序设计带来了很多方便。于是在这些基本的知识补充地差不多的时候,我开始正式开展项目了。
时间是2014年9月5日,我开始了,这个一直持续到2015年4月15日。期间我得到了老师和师兄的帮助,他们帮助我指明行动的方向,并且介绍了许多经典的库。库的威力在C++中是相当强大的,我在项目的实施中,先后调用了Graphite用来计算曲面的曲率、ANN中的kd tree用来求解近似最近邻、Openmesh用来读入曲面与处理三角网格、CGAL用来求解三角形与四边形的求交以及三角形与线段的求交、Qt用来设计界面、libQGLViewer用来处理三维模型的显示和绘制等,这么多的库都是我在做项目的过程中学习的,不是可以学的,只是因为有需要,所以才学,这也教了我一种学习的方法就是边实践边学习,这样的效率最高。就这样,一路上磕磕绊绊,我都不知道改了多少次,有多少次是晚上11点半回去的,这个项目的实践让我看到了研发的辛苦,当然了也带给我许多的知识和充实。
今天我正式把论文改完了,感受到了一种轻松与兴奋,虽然文章的结果与最初的想法不一定完全契合,但结果还是很好的,最后只想对长期以来给我指导的导师和师兄说声谢谢,他们的帮助让我感到了团队的力量,的确,在现今这个时代,没有什么事是一个人可以搞定的,大家在一起讨论、研究甚至争吵,这些都会让我们的工作变得更加美好。
结尾附上该项目的主页链接:https://github.com/xiamenwcy/b-spline-knots-setting,敬请指教。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学JavaScript三(变量)

一、变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符。 定义变量时要使用var操作符 如: var message; /*定义一个名为message的变量,该变量…

DES加密过程例解

DES加密算法是最被广泛使用的对称加密算法,通过示例来演示DES、TribleDES(3Key) DES-ECB: 按8字节为单位进行加密,不足8字节补0key: 1111111111111111indata: 2222222222222222 OutData: 950973182317F8…

linux在双系统中消失了,双系统重新安装windows后,ubuntu选项消失

1、首先用LiveCD进入ubuntu2、打开终端,,输入:fdisk -l 查看自己linux的分区情况,我的分了4个区,swap,boot,/,home,对应的分别是:/dev/sda9 swap…

Cydia源局域网化

2019独角兽企业重金招聘Python工程师标准>>> 步骤 在网址根目录创建文件夹cydia,把你的deb文件放到 cydia/debs/ 文件夹下。在终端cd进入cydia文件夹输入命令:dpkg-scanpackages debs /dev/null > Packages输入命令:tar zcvf P…

前缀++ 后缀++ 运算符重载

下面例子程序中 const Fraction operator (int) 中 int不过是个哑元(dummy),是永远用不上的 它只是用来判断++是prefix 还是 postfix 记住,如果有哑元,则是postfix,否则&#xff0c…

固定资产调整对资产折旧的影响

固定资产折旧计提方法 一、原值增加: 1、已摊销资产: 摊销调整时间设在当期:(1078135) 在进行原值增加后,摊销日期不变时,折旧在当月体现。 每月新增月折旧调增金额*(1-残值率)/(折旧年限*12-已提折旧月份的个数) 例&a…

linux系统中 库分为静态库和,Linux系统静态库与共享库

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?This article mainly introduces the statics library and shared library on Linux and has done some experiments for better comprehension.Static library&am…

软件工程概论作业01

软件工程作业01 写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。 思路:随机生成两个数进行计算…

成员指针运算符 .* 和 -*

转载: http://www.groad.net/bbs/thread-5548-1-1.html 有一种特殊的指针叫做成员指针,它们通常指向一个类的成员,而不是对象中成员的特定实例。 成员指针并不是真正的指针,它只是成员在对象中的偏移量,它们分别是&am…

捕捉Entity framework 6的详细异常提示

采用 try{}catch (Exception e){throw;}不能捕捉到详细异常提示, e.message的内容为"Validation failed for one or more entities. See EntityValidationErrors property for more details." 如果需要获取详细的异常提示,采用 1 try2 {3 return…

8.16——熟悉安装linux系统

一、linux的版本——CentOS CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服…

linux中设置默认权限的命令,Linux默认权限掩码

Linux教程Linux教程:http://www.fdlly.com/m/linux文章目录默认权限掩码设置权限掩码以文字的方式设置权限掩码查看系统当前的权限掩码默认权限掩码当我们创建文件或目录时,系统会自动根据权限掩码来生成预设权限;默认情况下的umask值是022(可…

percona-toolkit工具包安装

percona-toolkit工具包同percona-xtrabackup一样都是用Perl写的工具包,percona-toolkit工具包是一组高级的管理mysql的工具包集,可以用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,在生产环境中能极大的提高效率,安装…

C++允许重载的运算符和不允许重载的运算符

C中绝大部分的运算符允许重载&#xff0c;具体规定见表10.1。 表10.1 C允许重载的运算符双目算术运算符 (加)&#xff0c;-(减)&#xff0c;*(乘)&#xff0c;/(除)&#xff0c;% (取模) 关系运算符 (等于)&#xff0c;! (不等于)&#xff0c;< (小于)&#xff0c;> (大…

Google Mesa概览

Google Mesa的文章&#xff1a;https://research.google.com/pubs/pub42851.html https://gigaom.com/2014/08/07/google-shows-off-mesa-a-super-fast-data-warehouse-that-runs-across-data-centers/ 为什么未来的Hadoop是实时的&#xff1a; https://gigaom.com/2013/03/0…

C++数组参数应用方式探讨(转)

对于经验丰富的编程人员来说&#xff0c;C编程语言应该是他们经常使用于程序开发的一种实用性语言。那么&#xff0c;在C中&#xff0c;C数组参数永远不会按值传递。它是传递第一个元素&#xff08;准确地说是第0个&#xff09;的指针。 例如&#xff0c;如下声明&#xff1a; …

一篇关于兼容问题的基础总结

1.添加兼容文件(以 es5-shim 为例) 方法一&#xff1a; <script src"https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>在你的开发中&#xff0c;在需要为他做兼容的文件引入改文件 方法二(以模块引入)&#xff1a; 在…

假如生活欺骗了你

假如生活欺骗了你&#xff0c; 不要悲伤&#xff0c;不要心急&#xff01; 忧郁的日子里需要镇静&#xff1a; 相信吧&#xff0c;快乐的日子将会降临。 心儿永远向往着未来&#xff1b; 现在却常是忧郁&#xff0c; 一切都将会过去&#xff1b; 而那过去了的&#xff0c…

linux编译mmc驱动,Embeded linux之MMC驱动

一、注册平台设备platform_device_register(&usr_mci_device);二、填写平台设备结构体static struct platform_device usr_mci_device {.name "xxx",.id 0,.dev {.release usr_mci_platdev_release,.dma_mask &usr_mmc_dmama…

redis windows下的环境搭建

先说下安装吧&#xff01;感觉这东西跟mongodb差不多&#xff0c;安装和布置挺简单&#xff0c;下载地址&#xff1a;https://github.com/dmajkic/redis/downloads 下载下来的包里有两个&#xff0c;一个是32位的&#xff0c;一个是64位的。根据自己的实情情况选择&#xff0c;…