摘要:
如何计算有N个顶点(P1,P2,P3,……Pn)定义的平面多边形的面积?多边形面积的计算公式如下:设有n个点(x[1],y[1])(x[2],y[2]),...(x[n],y[n])围成一个没有边相交的多边形,则其围成的闭合多边形面积|S|为:S=∑y[i]*(x[i+1]-x[i-1]),其中i=1,2,...n,且当i与j除以n的余数相同的时候,x[i]=x[j],y[i]=y[j]。该公式用于凸凹多边形均可。如何判别一个点Q是否落在该多边形内部?交点计数检验法:从点Q作一射线至无穷远X=X0+u(u≥0)Y=Y0求射线与多边形边的交点个数。若交点个数为奇数,则点在多边形内;否则,点在多边 阅读全文
阅读排行榜
3D渲染管线
2013-08-11 22:24 by 北漂男孩, 652 阅读, 收藏,
摘要:
渲染管线 从最开始的Input Assembler阶段到最终的Output Merger阶段,每个阶段处理完的输出,传递给下一个阶段,作为其输入。1.Input Assembler Stage 这个阶段的主要目的是根据用户提供的顶点及索引信息,构建多边形,主要有点、线段、三角形。给定顶点和索引,构建多边形的方法取决于所使用的基本图元的拓扑类型(Primitive Topology)。D3D11中常见的拓扑类型有以下几种: 1.Point List:定义的每一个顶点作为一个单独的点进行绘制,如图: 2.Line Strip:所有的顶点按顺序逐个连接成线段,如图:3.Line List:所有的顶点 阅读全文
常量引用
2013-08-20 17:11 by 北漂男孩, 632 阅读, 收藏,
摘要:
#include void disp(const int &a){ coutvoid disp(const int &a){ cout<<a<<endl;}void main(){ int x=1; disp(x);} 总结:如果要求实参随形参的改变而改变,则用一般的引用,如果实参随形参的改变而改变则使用常量引用,类的复制函数正是利用了这一点实现对象之间的复制。 main(){ int x=10; int *p;p=&x; 把x的地址赋值给指针p,使p指向x printf("%d",*p); 、、10}分析:可以看出通过指针访 阅读全文
反向迭代
2013-08-11 12:16 by 北漂男孩, 525 阅读, 收藏,
摘要:
这里主要讨论的是反向迭代器的一个很特殊、也很容易出错的性质,即它的“逻辑位置”与“物理位置”。先通过看一个例子开始:[cpp]view plaincopyvectorvec;for(vector::size_typei=1;i::iteratoritr=vec.begin()+4;cout::reverse_iteratorr_itr(itr);cout<<*r_itr<<endl;这个例子中,vec中存放从1到9的9个连续数字,并初始化一个普通迭代器指向数字5,打印输出结果显而易见,为5。然后再初始化一个反向迭代器,该迭代器指向与普通迭代器一样的物理位置,然后打印输出 阅读全文
c++知识点
2013-08-11 11:05 by 北漂男孩, 489 阅读, 收藏,
摘要:
C++中最重要, 也最令人头疼的事情之一就是资源管理。原则上,每次在堆区用关键字new申请一块内存,必须对应一个delete来释放它。对应一般的小程序,通过细心地写代码,很容易做到。但当程序变大、变复杂的时候,仅仅依靠谨慎的编写程序也是很难做到的。考虑以下几种情况:1. 用new申请资源与用delete释放资源之间的跨度比较大,很容易在做完中间一系列的任务后忘记最初曾申请过资源,导致未释放它。2. 一个资源被多个变量引用,这样每个引用结束后当然不能及时的释放,因为此时并不知道其他地方是否还在引用这个它。这样也容易导致在最后一个引用后依然没释放资源。3. 对一个资源的引用存在多个分支,因此要保. 阅读全文
浙公网安备 33010602011771号