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

📄 main.cpp

📁 一个用Flex开发的FlashAS3程序,一个足球的3DFlash模型,其中包括一个C++语言写的足球数据的自动生成器.
💻 CPP
字号:
#include <iostream.h>
#include <math.h>
#include <fstream.h>
#include <iomanip.h>

#define PI 3.14159265

struct Point
{
	double x;
	double y;
	double z;
};

void main()
{
	int i,j;
	double a = 0.4035482123351997;
	double b = 0.343278613;
	double Hb = 0.93923362;
	double sin18 = sin(PI/10);
	double cos18 = cos(PI/10);
	double sin36 = sin(PI/5);
	double cos36 = cos(PI/5);
	double C = (asin(a/2) + asin(b))*2;
	double sinC = sin(C);
	double cosC = cos(C);

	Point pts[60];
	Point pt5[5];
	pts[0].x = 0;
	pts[0].y = b;
	pts[0].z = -Hb;

	for(i=1; i<5; i++)
	{
		pts[i].x = pts[i-1].x*sin18 - pts[i-1].y*cos18;
		pts[i].y = pts[i-1].x*cos18 + pts[i-1].y*sin18;
		pts[i].z = pts[i-1].z;
	}

	//围绕Z轴逆时针旋转36度
	for(i=0; i<5; i++)
	{
		pt5[i].x = -pts[i].x;
		pt5[i].y = -pts[i].y;
		pt5[i].z = pts[i].z;
	}

	//围绕X轴逆时针旋转C度
	for(i=0; i<5; i++)
	{
		pts[i+5].x = pt5[i].x;
		pts[i+5].y = pt5[i].y*cosC - pt5[i].z*sinC;
		pts[i+5].z = pt5[i].y*sinC + pt5[i].z*cosC;
	}

	for(i=2; i<6; i++)
	{
		for(j=0; j<5; j++)
		{
			pts[5*i+j].x = pts[5*(i-1)+j].x*sin18 - pts[5*(i-1)+j].y*cos18;
			pts[5*i+j].y = pts[5*(i-1)+j].x*cos18 + pts[5*(i-1)+j].y*sin18;
			pts[5*i+j].z = pts[5*(i-1)+j].z;
		}
	}

	for(i=0; i<30; i++)
	{
		pts[59-i].x = -pts[i].x;
		pts[59-i].y = -pts[i].y;
		pts[59-i].z = -pts[i].z;
	}

	ofstream fs("data.txt");
	for(i=0; i<60; i++)
	{
		fs<<setw(10)<<pts[i].x<<",";
		if((i+1)%5 == 0)
		{
			fs<<endl;
		}
	}
	fs<<endl;

	for(i=0; i<60; i++)
	{
		fs<<setw(10)<<pts[i].y<<",";
		if((i+1)%5 == 0)
		{
			fs<<endl;
		}
	}
	fs<<endl;

	for(i=0; i<60; i++)
	{
		fs<<setw(10)<<pts[i].z<<",";
		if((i+1)%5 == 0)
		{
			fs<<endl;
		}
	}
	fs<<endl;

	fs<<"football points:"<<"( x , y , z )"<<endl;

	for(i = 0; i<60; i++)
	{
		fs<<i+1<<":"<<"("
		  <<setw(10)<<pts[i].x<<","
		  <<setw(10)<<pts[i].y<<","
		  <<setw(10)<<pts[i].z<<")"
		  <<endl;
	}
}

⌨️ 快捷键说明

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