⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy5.c

📁 计算机图形学 二维图形的旋转与平移设计 C语言编写的
💻 C
字号:

#include<stdio.h>
#include<graphics.h>
#include<math.h>
#include<stdlib.h>
void main()
{
	int gdriver,gmode;
	int i,j;
	int points[100][2];
	float changepoints[100][2];
	int numpoints;
	float m[2][2];
	gdriver = DETECT;
	initgraph(&gdriver,&gmode,"C:\\TCPP\\BGI");
	setbkcolor(1);
	setcolor(RED);
	printf("Please input number of points :");
	scanf("%d",&numpoints);	
	j = 1;
	for(i=0; i<numpoints; i++)
	{
		printf("Please input point %d : ",j++);
		scanf("%d%d",&points[i][0],&points[i][1]);		
	}


	for(i=0; i<numpoints-1; i++)
	{
		line(points[i][0],points[i][1],points[i+1][0],points[i+1][1]);
	}	
	line(points[0][0],points[0][1],points[numpoints-1][0],points[numpoints-1][1]);
	printf("Please input anxi of chan zhao dian :");
	scanf("%f%f",&m[0][1],&m[1][0]);
	printf("Please input anxi of bi lei :");
	scanf("%f%f",&m[0][0],&m[1][1]);
	for(i=0; i<numpoints; i++)
	{
		changepoints[i][0] = m[0][0]*points[i][0] + m[1][0]*points[i][1];
		changepoints[i][1] = m[0][1]*points[i][0] + m[1][1]*points[i][1];
	}
	for(i=0; i<numpoints-1; i++)
	{
		line(changepoints[i][0],changepoints[i][1],changepoints[i+1][0],changepoints[i+1][1]);
	}	
	line(changepoints[0][0],changepoints[0][1],changepoints[numpoints-1][0],changepoints[numpoints-1][1]);
	printf("Please input  xuan zhuan anxi :");
	int a,b;
	scanf("%d%d",&a,&b);	
	printf("Please input  xuan zhuan jiao du :");
	float x;
	scanf("%f",&x);	
	
	for(i=0; i<numpoints; i++)
	{
		changepoints[i][0] = cos(x)*points[i][0] - sin(x)*points[i][1] - a*(cos(x)-1)+b*sin(x);
		changepoints[i][1] = sin(x)*points[i][0] + cos(x)*points[i][1] - a*sin(x) - b*(cos(x) - 1);
	}
	for(i=0; i<numpoints-1; i++)
	{
		line(changepoints[i][0],changepoints[i][1],changepoints[i+1][0],changepoints[i+1][1]);
	}	
	line(changepoints[0][0],changepoints[0][1],changepoints[numpoints-1][0],changepoints[numpoints-1][1]);
	getchar();
	getchar();
	getchar();
	closegraph();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -