Liaoning Normal University
计算机图形学
期末实验报告
题目:用抛物样条曲线绘制动物图案
学院: 计算机与信息技术学院
专业: 计算机科学与技术
班级序号: 6班19号
学号: 20101118050005
学生姓名: 孙蕾
指导教师: 唐棣
2012年12月
利用抛物样条曲线绘制米奇动物图案代码:
#include<>
#include<>
void parspl(int p[][2],int n,int k,int e)
{
int x,y,i,j,m;
float t1,t2,t3,t,a,b,c,d;
if(e==1)
{
m=n;
p[0][0]=p[1][0];
p[0][1]=p[1][1];
p[n+1][0]=p[n][0];
p[n+1][1]=p[n][1];
}
else
{
m=n+1;
p[0][0]=p[n][0];
p[0][1]=p[n][1];
p[m][0]=p[1][0];
p[m][1]=p[1][1];
p[m+1][0]=p[2][0];
p[m+1][1]=p[2][1];}
t=;
moveto(p[1][0],p[1][1]);
for(i=0;i<m-1;i++)
{
for(j=1;j<k;j++)
{
t1=j*t;
t2=t1*t1;
t3=t2*t1;
a=*t2-t1-*t3;
b=-*t2+*t3;
c=t1+*t2-*t3;
d=*t3-*t2;
x=a*p[i][0]+b*p[i+1][0]+c*p[i+2][0]+d*p[i+3][0];
y=a*p[i][1]+b*p[i+1][1]+c*p[i+2][1]+d*p[i+3][1];
o(x,y);
}
o(p[i+2][0],p[i+2][1]);
}
}
main()
{
int i;
int a[12][2]={0,0,145,103,149,93,156,83,168,76,177,75,187,76,194,82,199,87,202,97,201,105,0,0}; /*左耳朵*/
int b[20][2]={0,0,254,86,246,76,239,65,240,54,249,45,261,42,275,41,285,44,292,49,299,57,303,66,
302,77,296,84,289,89,281,90,275,91,269,91,265,90,0,0}; /*右耳朵*/
int c[20][2]={0,0,203,158,197,146,192,131,194,118,198,111,203,105,211,96,225,89,234,87,239,86,
246,85,256,86,264,89,270,91,281,99,289,108,294,117,296,124,0,0}; /*耳朵之间的去曲线*/
int d[10][2]={0,0,211,
米奇曲线绘制实验报告 来自淘豆网www.taodocs.com转载请标明出处.