标签:C++
共 27 篇文章
接着说计算机图形学实习,这次说的算法是二维图形的旋转变换,本例所使用的算法完全原创,这是我个人根据数学公式推导出来的。不是书上说的矩阵方法实现,通过我这个例子完全可以360度,顺逆时针去旋转图形!
继续阅读接着写那些狗血的算法,今天写的是扫描线种子填充的算法实现,还是老规矩,把算法封装成了一个函数,需要使用的话直接传参即可~
详细用法请看下面的使用说明,好累啊(修改别人的代码也不容易),不过看着这扫描线种子填充的算法为我所用,很是欣慰。
继续阅读很久没有更新计算机图形学的东西了,这几天遇到一些问题,各种问题,也懒得去说什么了。废话不多说什么了,今天给出的是边相关扫描线算法的实现。算法原理也不多说了,其实说我也说不清楚,下面直接给出边相关算法的实现代码,所有的代码在VS2008中编译通过。我把代码打包了一个函数,需要用到的人可以直接复制,详细使用方法请见后面的说明。
继续阅读之前已经公布了关于Bresenham算法画圆的MFC代码实现方法,今天接着上次的说,继续我的狗血实习,继续写代码,今天要写的中点画圆的算法,还是老规矩,算法我就不仔细解释了,这里直接给出MFC实现方法
继续阅读之前已经公布了关于DDA算法画圆的MFC代码实现方法,今天接着上次的说,继续我的狗血实习,继续写代码,今天要写的Bresenham算法生成圆形的算法,还是老规矩,算法我就不仔细解释了,这里直接给出MFC实现方法
继续阅读之前已经写过两篇帖子记录计算机中怎样生成直线的算法,从今天我开始我要介绍怎样生成圆形的算法。总共会介绍三种,还是老规矩,我就不介绍原理了。这是我们的实习内容,我这里只是完成实习后做到一个mark,以便以后用,当然也希望帮到需要的人。
回到正题,今天说的是DDA生成圆的算法。
继续阅读前一篇,我写了关于DDA生成直线算法的实现代码,今天继续跟进,这是一个比DDA还要好的算法,叫做Bresenham算法,废话不多说了,直接放代码,我把代码封装成一个函数,要用的直接修改使用即可。
下面是实现代码:
继续阅读至于什么是DDA算法,这里不想多说,如果这个都不明白的话,可以直接跳过此文了,我这里给出的DDA生成直线的算法,以及在VS2008下的实现过程,这是对自己经验的一个总结,也是对所学到一个记录,这里先mark一下。
下面是代码实现,需要的拿去:
继续阅读继续说说那狗血的计算机图形学实习,这次我想实现一个预览的效果,于是乎就涉及到了在对话框里面绘图,本来在view里面绘图都轻车熟路了,这次要在对话框里绘图还是头一回啊,这可是个小挑战!自己在msdn查了一下,然后加上google+百度,找出来一种方法,今晚时间有点紧,就直接放代码了,可以根据个人要求适当修改代码。
继续阅读实习中用到了打开保存文件对话框,学到一点东西,这里记录一下。别的不多说,先来看看一个实例——
CFileDialog openDlg( TRUE, "Material File(*.material)|*.material", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Material File(*.material)|*.material||", this);继续阅读