Jump to content

User talk:Rocchini/data

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Some data support.

Gosset 1_32 vertices ????

[edit]
0.0000000 0.5000000 0.5000000 0.2886751 0.2041241 0.6123724 
0.0000000 -0.5000000 0.5000000 0.2886751 0.2041241 0.6123724 
0.0000000 0.5000000 -0.5000000 0.2886751 0.2041241 0.6123724 
0.0000000 -0.0000000 0.5000000 -0.5773503 0.2041241 0.6123724 
-0.5000000 0.0000000 0.0000000 0.5773503 -0.2041241 0.6123724 
0.0000000 0.5000000 -0.0000000 0.2886751 0.8164966 0.0000000 
0.0000000 -0.5000000 -0.5000000 0.2886751 0.2041241 0.6123724 
0.0000000 -0.5000000 -0.0000000 0.2886751 0.8164966 0.0000000 
0.0000000 -0.0000000 -0.5000000 -0.5773503 0.2041241 0.6123724 
-0.5000000 -0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 
0.0000000 -0.0000000 -0.0000000 -0.5773503 0.8164966 0.0000000 
0.5000000 0.0000000 0.0000000 0.5773503 -0.2041241 0.6123724 
-0.5000000 0.0000000 -0.5000000 0.5773503 0.4082483 0.0000000 
0.5000000 0.0000000 0.0000000 -0.0000000 0.6123724 0.6123724 
0.5000000 -0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 
-0.5000000 0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 
-0.5000000 -0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 
0.5000000 0.0000000 -0.5000000 0.5773503 0.4082483 0.0000000 
-0.5000000 0.0000000 0.5000000 0.5773503 0.4082483 0.0000000 
-0.5000000 0.0000000 0.0000000 -0.0000000 0.6123724 0.6123724 
0.5000000 0.5000000 0.0000000 -0.2886751 -0.2041241 0.6123724 
0.5000000 -0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 
-0.5000000 0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 
-0.5000000 -0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 
0.5000000 0.0000000 0.5000000 0.5773503 0.4082483 0.0000000 
-0.0000000 -0.0000000 -0.5000000 0.0000000 -0.6123724 0.6123724 
0.5000000 0.5000000 -0.5000000 -0.2886751 0.4082483 0.0000000 
0.5000000 -0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 
-0.5000000 0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 
-0.0000000 -0.5000000 -0.0000000 0.8660254 0.0000000 0.0000000 
-0.0000000 -0.0000000 0.5000000 0.0000000 -0.6123724 0.6123724 
-0.0000000 -0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 
0.5000000 0.5000000 0.5000000 -0.2886751 0.4082483 0.0000000 
-0.0000000 -1.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 
-1.0000000 -0.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 
-0.0000000 0.5000000 -0.0000000 0.8660254 0.0000000 0.0000000 
-0.0000000 -0.0000000 -0.5000000 0.0000000 0.6123724 -0.6123724 
-0.0000000 -0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 
-0.5000000 -0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 
-0.0000000 1.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 
1.0000000 -0.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 
-0.0000000 -0.5000000 -0.0000000 -0.8660254 0.0000000 0.0000000 
-0.0000000 -0.0000000 0.5000000 0.0000000 0.6123724 -0.6123724 
-0.5000000 -0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 
0.5000000 -0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 
-0.5000000 0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 
-0.0000000 0.5000000 -0.0000000 -0.8660254 0.0000000 0.0000000 
-0.5000000 -0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 
0.5000000 -0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 
-0.5000000 0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 
0.5000000 0.5000000 -0.5000000 0.2886751 -0.4082483 0.0000000 
-0.5000000 -0.0000000 -0.5000000 -0.5773503 -0.4082483 0.0000000 
0.5000000 -0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 
-0.5000000 0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 
0.5000000 0.5000000 0.5000000 0.2886751 -0.4082483 0.0000000 
-0.5000000 -0.0000000 0.5000000 -0.5773503 -0.4082483 0.0000000 
0.5000000 -0.0000000 -0.5000000 -0.5773503 -0.4082483 0.0000000 
0.5000000 0.5000000 -0.0000000 0.2886751 0.2041241 -0.6123724 
-0.5000000 -0.0000000 -0.0000000 -0.5773503 0.2041241 -0.6123724 
0.5000000 -0.0000000 0.5000000 -0.5773503 -0.4082483 0.0000000 
-0.0000000 -0.0000000 -0.0000000 0.5773503 -0.8164966 0.0000000 
0.5000000 -0.0000000 -0.0000000 -0.5773503 0.2041241 -0.6123724 
-0.0000000 -0.0000000 -0.5000000 0.5773503 -0.2041241 -0.6123724 
-0.0000000 -0.5000000 -0.0000000 -0.2886751 -0.8164966 0.0000000 
-0.0000000 -0.5000000 -0.5000000 -0.2886751 -0.2041241 -0.6123724 
-0.0000000 -0.0000000 0.5000000 0.5773503 -0.2041241 -0.6123724 
-0.0000000 0.5000000 -0.0000000 -0.2886751 -0.8164966 0.0000000 
-0.0000000 0.5000000 -0.5000000 -0.2886751 -0.2041241 -0.6123724 
-0.0000000 -0.5000000 0.5000000 -0.2886751 -0.2041241 -0.6123724 
-0.0000000 0.5000000 0.5000000 -0.2886751 -0.2041241 -0.6123724 
-0.5000000 -0.0000000 -0.0000000 0.0000000 -0.6123724 -0.6123724 
0.5000000 -0.0000000 -0.0000000 0.0000000 -0.6123724 -0.6123724 

Find Petrie souce code

[edit]
int binom( int n, int k ) {
	int i;
	double r = 1;
	if(k>n-k) {
		for(i=k+1;i<=n;++i) r *= i;
		for(i=2;i<=n-k;++i) r /= i;
	} else {
		for(i=n-k+1;i<=n;++i) r *= i;
		for(i=2    ;i<=k;++i) r /= i;
	}
	return int(r);
}


void first_subset( int n, int m, int ss[] ) {
	for(int i=0;i<m;++i) ss[i] = i;
}

bool next_subset( int n, int m, int ss[] ){
	int i = m-1;
	while(++ss[i]==n+i-m+1)
		if(--i<0) return false;
	for(++i;i<m;++i)
		ss[i] = ss[i-1]+1;
	return true;
}

        // ND = number of dimensions, NV = number of vertices, v = coordinates of vertices
	// ADJ = graph adjacency matrix, Q = number of vertices of petri polygon
void find_petri_projection( const int ND, const int NV, const double v[], const bool ADJ[], int Q ){
	int i; const int NSA = ND;
	std::vector<int> ss(NSA);
	const double da = 2.0*PI/Q;
	std::vector<double> RX(NSA);	// Coordinates of petri polygon
	std::vector<double> RY(NSA);

	for(i=0;i<ND;++i) { RX[i] = cos(i*da); RY[i] = sin(i*da); }
	int totsub = binom(NV,NSA);
	first_subset(NV,NSA,&(ss[0]));
	do {
		bool good = true;
		for(i=0;i<ND-1;++i)
			if(!ADJ[ss[i]*NV+ss[i+1]]) { good = false; break; }
		if(good)
		{		
			const int M = 2*ND;
			std::vector<double> x(M);
			std::vector<double> A(M*(M+1));

			for(i=0;i<NSA;++i) {
				for(int j=0;j<ND;++j) {
					A[(0  +i)*(M+1)+j+ 0] = v[ss[i]*ND+j];
					A[(0  +i)*(M+1)+j+ND] = 0;
					A[(NSA+i)*(M+1)+j+ 0] = 0;
					A[(NSA+i)*(M+1)+j+ND] = v[ss[i]*ND+j];
				}
				A[(0  +i)*(M+1)+M] = RX[i];
				A[(NSA+i)*(M+1)+M] = RY[i];
			}

			if(Gauss(M,&(A[0]),&(x[0]))){
				for(i=0;i<M;++i) {
					printf("%40.20lf",x[i]);
					if(i==ND-1 || i==M-1) printf("};\n"); else printf(",\n");
				}
				printf("\n");
			}
		}
	} while( next_subset(NV,NSA,&(ss[0])) );
}