导航:首页 > 源码编译 > 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样条曲线算法实现代码相关的资料

热点内容
appstore中的钱怎么退 浏览:495
单片机程序下载后如何运行 浏览:475
刚买的阿里云服务器怎样搭建网站 浏览:637
公园设计pdf 浏览:684
缓解压力最好的办法美国 浏览:387
前后端系统数据加密解密 浏览:194
中国移动营业app怎么看套餐 浏览:205
javastatic数组 浏览:950
需要会员管理源码 浏览:415
手机app如何解除加密 浏览:167
用云服务器还得买个瘦主机 浏览:728
如何查看办公电脑服务器地址 浏览:368
海星云的服务器是什么系统 浏览:411
抖音小笼包解压神器 浏览:558
手机下载的源码在哪里储存 浏览:846
pdf看三维 浏览:406
九宫算法干什么用的 浏览:907
phpjava性能比较 浏览:886
2016会计中级pdf 浏览:181
农村信用社app怎么删除明细 浏览:818