資源簡介
Bezier曲線是通過一組多邊形折線的頂點來定義的。如果折線的頂點固定不變,則由其定義的Bezier曲線是唯一的。在折線的各頂點中,只有第一點和最后一點在曲線上且作為曲線的起始處和終止處,其他的點用于控制曲線的形狀及階次。曲線的形狀趨向于多邊形折線的形狀,要修改曲線,只要修改折線的各頂點就可以了。因此,多邊形折線又稱Bezier曲線的控制多邊形,其頂點稱為控制點。
代碼片段和文件信息
#include?“stdafx.h“
#include????
#include?????????
#include?????????
#include?????????
??
??
GLfloat?ctrlPoints[4][2]?=??
{??
????????{?-0.8f?0.1f?}?{-0.4f?0.6f?}?{?0.2f?0.8f?}?{?0.7f?0.2f?}??
};??
??
??
void?myDisplay(void){??
????glClearColor(1.0?1.0?1.0?1.0);
????glClear(GL_COLOR_BUFFER_BIT);???
????glPointSize(3);??
????glLineWidth(3);
????
????glColor3f(1.0?0.0?0.0);??
??? for?(int?i?=?0;?i glVertex2f(v[i].x?v[i].y);
glEnd();
??
????glColor3f(0.0?0.0?1.0);??
????glBegin(GL_LINE_STRIP);??
????for?(int?i?=?0;?i?4;?i++){??
????????glVertex2fv(&ctrlPoints[i][0]);??
????}??
????glEnd();??
??
????float?xarray[11];??
????float?yarray[11];??
????int?n?=?4;//number??
????GLfloat?ps[11][2];???
????int?u?=?0;??
????for(double?t?=?0.0;t<=1;t+=0.1)??
????{???
????????for?(int?i?=?1;?i?????????{??
????????????for?(int?j?=?0;?j?????????????{??
????????????????if?(i?==?1)?//?i==1時第一次迭代由已知控制點計算????
????????????????{??
- 上一篇:c++病毒
- 下一篇:基于C語言的《點餐系統》
評論
共有 條評論