- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五 实现简单图形的二维几何变换
一、实验目的与要求:
1.巩固图形学中关于二维几何变换的算法;
2 .编写程序实现一个简单图形的平移、 比例、旋转、对称和错切
几何变换;
二、实验环境
VC++6.0 MFC 类
三、实验内容:
void CTuxingbianhuanView::bianhua()
{
CClientDC dc(this);
CPen pen1,pen2,pen3;
pen1.CreatePen(PS_SOLID,2,RGB(255,10,255));
pen2.CreatePen(PS_SOLID,2,RGB(255,10,10));
pen3.CreatePen(PS_SOLID,2,RGB(100,200,100));
int
a[11][2]={100,105,90,135,60,135,85,155,75,185,100,165,125,185,115,155,140,
135,110,135,100,105};
dc.SelectObject(pen1);
dc.MoveTo (a[0][0],a[0][1]);
for(int i=0;i11;i++)
{
dc.LineTo (a[i][0],a[i][1]);
}
dc.TextOut (35,155, 原图 );// 原图
int tx=120,ty=100;
dc.MoveTo (a[0][0]+tx,a[0][1]+ty);
for( i=0;i11;i++)
{
dc.LineTo (a[i][0]+tx,a[i][1]+ty);
}
dc.TextOut (270,270, 平移 );// 平移
Sleep(5);
double sx=0.5,sy=0.5;
dc.MoveTo (a[0][0]*sx,a[0][1]*sy);
for( i=0;i11;i++)
{
dc.LineTo (a[i][0]*sx,a[i][1]*sy);
Sleep(5);
}
1
dc.TextOut (75,35, 比例 );// 比例
int t;
dc.MoveTo (a[0][0]*cos(t/6)-a[0][1]*sin(t/6),// 一个点
a[0][0]*sin(t/6)+a[0][1]*cos(t/6));
for( i=0;i11;i++)
{
dc.LineTo (a[i][0]*cos(t/6)-a[i][1]*sin(t/6),// 一个点
a[i][0]*sin(t/6)+a[i][1]*cos(t/6));
}
dc.TextOut (160,104, 旋转 );// 旋转
Sleep(5);
int m=0,b=200;
dc.MoveTo (a[0][0]*(1-m*m)/(1+m*m)+2*(a[0][1]-b)*m/(1+m*m),// 一个点
a[0][0]*(2*m)/(1+m*m)+(a[0][1]-b)*(m*m-1)/(1+m*m)+b);
for( i=0;i11;i++)
{
dc.LineTo (a[i][0]*(1-m*m)/(1+m*m)+2*(a[i][1]-b)*m/(1+m*m),
a[i][0]*(2*m)/(1+m*m)+(a[i][1]-b)*(m*m-1)/(1+m*m)+b);
}
dc.TextOut (130,275, 对称 );// 对称
Sleep(5);
dc.SelectObject(pen3);
double c=2,d=1.5,u=50;
dc.MoveTo (a[0][0]+c*a[0][1],a[0][1]-u);
for( i=0;i11;i++)
{
dc.LineTo (a[i][0]+c*a[i][1],a[i][1]-u);
}
dc.TextOut (450,80, 沿 X 方向关于 Y 错切 );// 沿 X 方向关于 Y 错切
Sleep(5);
int s=170,h=200;
dc.MoveTo (a[0][0]+s,d*a[0][0]+a[0][1]-h);
for( i=0;i11;i++)
{
dc.
您可能关注的文档
- 母亲之家罗伯特文丘里.pdf
- 内推方案伯乐奖.pdf
- 年特岗教师真题.pdf
- 钱伯初量子力学解答.pdf
- 任意奇数阶幻方的罗伯移步法.pdf
- 如何绘制伯德图.pdf
- 三角函数的图像变换.pdf
- 三角恒等变换教案.pdf
- 三角恒等变换练习题一.pdf
- 三角恒等变换学案.pdf
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)