导航:首页 > 源码编译 > b样条曲线算法实现代码

b样条曲线算法实现代码

发布时间:2023-10-15 07:20:16

① 求一个用python实现的基于deboor-cox的B样条算法

② 计算机图形学问题

1、直线的生成和2种算法:DDA算法:代码如下
void
dda(Graphics
g,int
x1,int
x2,int
y1,int
y2)
{int
k;
float
x,y,dx,dy;
k=Math.abs(x2-x1);
if(Math.abs(y2-y1)>k)
k=Math.abs(y2-y1);
dx=(float)(x2-x1)/k;
dy=(float)(y2-y1)/k;
x=(float)x1;
y=(float)y1;
for(int
i=0;i<k;i++)
drawLine((int)x+.5f,((int)y+.5f,((int)x+.5f.((int)y+.5f);
x=x+dx;
y=y+dy;
}
}
Breseham算法;
2、填充的定义和2种算法分别是
扫描线种子填充算法和递归算法
3、图像学的定义与运用
定义是研究如何在计算机环境下生成,处理和现实图形的一门学科。具体应用很广泛:像有些公司在制造汽车,飞机等时,会先画出制图,一般都会在计算机上绘制出来;等等吧

③ 计算机图形学程序

void CDeBoorView::OnDraw(CDC* pDC)
{
int deg=8;float coeffx[9]={200,50,100,150,200,250,300,350,200};
float coeffy[9]={200,100,50,50,100,50,50,100,200};
float knot[18]={0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2};
CDeBoorDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
int L,n1=9,n=100,i,j;
L=n1-deg;
float u;
float ps[100][2];
for(i=0;i<n1;i++){
if(i==0)pDC->MoveTo(coeffx[i],coeffy[i]);
pDC->亏戚LineTo(coeffx[i],coeffy[i]);
}
for(i=deg;i<衫空谨或基L+deg+1;i++){
if(knot[i+1]>knot[i])
for(j=0;j<n;j++){
u=knot[i]+j*(knot[i+1]-knot[i])/n;
ps[j][0]=deboor(deg,coeffx,knot,u,i,pDC);
ps[j][1]=deboor(deg,coeffy,knot,u,i,pDC);

CPen newpen(PS_SOLID,3,RGB(255,0,0));
CPen *old1=pDC->SelectObject(&newpen);
if(j==0)
pDC->MoveTo(ps[j][0],ps[j][1]);
pDC->LineTo(ps[j][0],ps[j][1]);
}
}
}
float CDeBoorView::deboor(int deg,float coeff[],float knot[],float u,int i,CDC*pDC){
int k,j;
float t1,t2;
float coeffa[30];
for(j=i-deg;j<=i;j++)
coeffa[j]=coeff[j];
for(k=1;k<=deg;k++)
for(j=i;j>=i-deg+k;j--)
{
t1=(knot[j]-u)/(knot[j]-knot[j+deg-k+1]);
t2=1.0-t1;
coeffa[j]=t2*coeffa[j-1]+t1*coeffa[j];
}
return(coeffa[i]);
}

阅读全文

与b样条曲线算法实现代码相关的资料

热点内容
程序员转金融IT 浏览:834
黑马程序员培训效果如何 浏览:910
本地集成编译 浏览:528
韩国电影哪个app可以看 浏览:703
玖月授权什么app什么梗 浏览:785
怎么使用服务器上的ip地址是什么情况 浏览:750
手机密码加密后怎么解密 浏览:343
华为云的服务器的ip地址怎么访问不 浏览:367
webstormvue在线实时编译生效 浏览:184
3225pdf 浏览:171
java中的常用类 浏览:395
安卓手机oppo反向色调怎么开 浏览:138
罗志祥pdf 浏览:224
美国战争pdf 浏览:243
任务栏右击如何显示常用文件夹 浏览:100
海克斯康三次元编程 浏览:748
什么app可以上门喂猫 浏览:889
老程序员抓弹幕 浏览:655
刷地铁卡应该下个什么app 浏览:154
安卓版谷歌浏览器为什么用不了 浏览:505