![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图形学
文章平均质量分 81
陈奕迅Coder
个人还未添加简历!
展开
-
图形学 直线算法
1.DDA算法我们在画直线时我们取的像素都在确定的两个像素里选择。DDA直线算法在于利用K或者K的倒数,我们都知道k=dy/dx,所以是单位x内y的变化。 不过在屏幕内我们通常以像素为单位,所以当|k|<1时我们以dx=1,dy=k。当|k|>=1,我们发现y比x走的多,|dy/dx|>1即dy>dx,所以为了在机器中我们以y走一个像素,x增加1/k。 优点:比...原创 2018-04-15 12:12:17 · 1316 阅读 · 0 评论 -
图形学 画圆算法(Bresenham + 中点)
圆的特性我们的圆中,具有对称的特性,在xy坐标轴中具有八对称的特性。我们只需要画出一个点 按照八对称性,我们就能获得八个点,所以我们只需要画一个八分之一圆就好了。我们就选择最利于我们思考的第一象限0~Math.sqrt(1)部分,就是上边橘点位置的区域。中点画圆我们通过中点到圆的距离(通过符号判定),我们就能选择相应的点。我们每次的选择中点时,增量都是有规律的。我们通过对直...原创 2018-04-15 13:29:22 · 11653 阅读 · 2 评论 -
VS2017 nuget安装 并且使用,以opengl为例
刚刚配置glut的时候,踩了很多很多坑,不知道什么原因我按照网上的教程来配置glut,但是都是错误,有可能是因为vs2017版本的问题。 后来查了很多博客,发现还能用NuGet来引入这些包,而且我看了别人都能成功。就很激动的去配置,后来发现并无nuan用。然后今天早上再次配置了一下,成功了!!虽然还没完全懂但是可以运行glut的示例了,怎么说都是一大突破了。有小伙伴科普的就评论,给我...原创 2018-05-05 13:20:24 · 13796 阅读 · 12 评论 -
c/c++下指针判空失效问题 讨论
今天在写c的时候,好久不写,容易遇到指针问题!!!(这是我刚开始写的内心独白)可是。。。真的遇到了!!!刚开始以为是我写的判空错误,我刚开始是这样写的:p->next==NULL 然后一直以为是我其他地方逻辑的问题,调试发现一直pop栈的时候会有问题,就是老是栈为空了还在pop。好不容易查到博客说要用if(p->next)或着if(!p->next),可是我不知道为什么呀!!!后...原创 2018-05-07 21:29:36 · 1474 阅读 · 0 评论 -
opengl 图形学3个直线裁剪算法
图形学三个最基础的直线裁剪算法//根据x、y来编码int EnCode(int x,int y){ int c = 0; if (x<XL) { c |= LEFT; } if (x>XR) { c |= RIGHT; } if (y>YT) { c |= TOP; } if (y<YB) { c |= BOTTOM; } ...原创 2018-05-15 23:03:13 · 1487 阅读 · 0 评论 -
Cyrus Beck(参数化)裁剪算法基于opengl实现
Cyrus Beck裁剪算法是计算机图形学中的一个实验,这个实验的难点在于理解,而不在于实现。这个算法也是基础算法里比较有趣的一个。CB算法只针对凸多边形,对于凹多边形不适用。 Cyrus Beck算法要求我们对多边形的每条边进行讨论,从而找出真正的入点和出点。CB算法也叫参数化裁剪,那是因为其中用到了初中的几何原理,相似三角形,如果你将实验用到的几个矢量进行简单的平移延长就能发现所谓...原创 2018-06-16 10:12:00 · 3685 阅读 · 0 评论