Fișier:Demipenteract graph ortho.svg

Conținutul paginii nu este suportat în alte limbi.
De la Wikipedia, enciclopedia liberă

Mărește rezoluția imaginii(Fișier SVG, cu dimensiunea nominală de 800 × 800 pixeli, mărime fișier: 805 octeți)

Acest fișier se află la Wikimedia Commons. Consultați pagina sa descriptivă acolo.

Descriere fișier

Descriere
English: Othographic projection of Demipenteract (edge gragh)
Dată
Sursă Operă proprie
Autor Claudio Rocchini

Source Code

static int nbit( int x ) {
	int n = 0;
	while(x) { if(x&1) ++n; x >>= 1; }
	return n;
}

void main() {
	const int D  = 5; const int NV = 16; const int NE = 80;
	double v[NV][D]; int    e[NE][2];
	double px[NV]; double py[NV];
		// Magic numbers
	const double x1 = -.1464466094; const double y1 =  .3535533906;
	const double x2 = -.1464466094; const double y2 = -.3535533906;
        const double x3 = -.3535533906; const double y3 =  .1464466094;
	const double y4 = -.1464466094; const double x4 = -.3535533906;
	const double x5 = 0;            const double y5 = 0;
	const double PX[D] = {x1,x2,x3,x4,x5};
	const double PY[D] = {y1,y2,y3,y4,y5};
	int i,j,k,l;

	for(k=0,i=0;i<(1<<D);++i) if(nbit(i)%2==0){
		for(j=0;j<D;++j) v[k][j] = (i>>j)&1 ? 1.0 : -1.0;
		++k;
	}
	assert(k==NV);

	for(k=0,i=0;i<NV-1;++i) for(j=i+1;j<NV;++j) {
		double d = 0;
		for(l=0;l<D;++l) { double t = v[i][l]-v[j][l]; d += t*t; }
		if(d==8) { e[k][0]=i; e[k][1]=j; ++k; }
	}
	
	for(i=0;i<NV;++i){
		px[i] = 0; for(l=0;l<D;++l) px[i] += v[i][l]*PX[l];
		py[i] = 0; for(l=0;l<D;++l) py[i] += v[i][l]*PY[l];
	}
	
	const double SX = 800; const double SY = 800;
	const double B  = 64;  const double R  = 12;
	
	const double sca  = std::min((SX-2*B)/2,(SY-2*B)/2);
	for(i=0;i<NV;++i) { px[i] = B+(px[i]+1)*sca; py[i] = B+(py[i]+1)*sca; }

	FILE * fp = fopen("c:\\temp\\Demipenteract_Graph2.svg","w");
	fprintf(fp,
		"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"
		"<svg\n"
		"xmlns:svg=\"http://www.w3.org/2000/svg\"\n"
		"xmlns=\"http://www.w3.org/2000/svg\"\n"
		"version=\"1.0\"\n"
		"width=\"%g\"\n" "height=\"%g\"\n"
		"id=\"Demipenteract_Graph2\">\n"
		,SX,SY
	);

	fprintf(fp,"<g style=\"stroke:#000000;stroke-width:3;stroke-opacity:1.0;\">\n");
	for(i=0;i<NE;++i)
		fprintf(fp,
			"<line x1=\"%5.1lf\" y1=\"%5.1lf\" x2=\"%5.1lf\" y2=\"%5.1lf\"/>\n"
			,px[e[i][0]],py[e[i][0]], px[e[i][1]],py[e[i][1]]
		);
	fprintf(fp,"</g>\n");

	fprintf(fp,"<g style=\"stroke:#000000;stroke-width:2;fill:#0000E0\">\n");
	for(i=0;i<NV;++i)
		fprintf(fp,"<circle cx=\"%5.1lf\" cy=\"%5.1lf\" r=\"%5.1lf\"/>\n",px[i],py[i],R);
	fprintf(fp,"</g>\n");

	fprintf(fp,"</svg>\n");
	fclose(fp);
}

Licențiere

Eu, deținătorul drepturilor de autor ale acestei opere, prin prezenta îmi public lucrarea sub următoarele licențe:
GNU head Se permite copierea, distribuirea și/sau modificarea acestui document conform termenilor Documentației de licență liberă GNU, versiunea 1.2 sau orice altă versiune ulterioară publicată de Free Software Foundation, fără părți neschimbabile, texte de pe copertele principale și finale. O copie a acestei licențe este inclusă în secțiunea numită Documentația de licență liberă GNU.
w:ro:Creative Commons
atribuind
Acest fișier a fost eliberat sub licența Creative Commons Atribuire 3.0 Neadaptată.
Sunteți liber:
  • să partajați cu alții – aveți dreptul de a copia, distribui și transmite opera
  • să adaptați – aveți dreptul de a adapta opera
În următoarele condiții:
  • atribuind – Trebuie să atribuiți opera corespunzător, introducând o legătură către licență și indicând dacă ați făcut schimbări. Puteți face asta prin orice metodă rezonabilă, dar nu într-un fel care ar sugera faptul că persoana ce a licențiat conținutul v-ar susține sau ar aproba folosirea de către dumneavoastră a operei sale.
Puteți alege licența pe care o doriți.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

subiectul reprezentat

28 iulie 2008

image/svg+xml

Istoricul fișierului

Apăsați pe Data și ora pentru a vedea versiunea trimisă atunci.

Data și oraMiniaturăDimensiuniUtilizatorComentariu
actuală11 octombrie 2021 06:17Miniatură pentru versiunea din 11 octombrie 2021 06:17800x800 (805 octeți)Andreasl01Simplified code
13 septembrie 2008 00:34Miniatură pentru versiunea din 13 septembrie 2008 00:34800x800 (5 KB)Tomruentry red dots
28 iulie 2008 14:40Miniatură pentru versiunea din 28 iulie 2008 14:40800x800 (5 KB)Rocchini{{Information |Description={{en|1=Othographic projection of Demipenteract (edge gragh)}} |Source=Opera creata dall'uploader (own work by uploader) |Author=Claudio Rocchini |Date=2008-07-28 |Permission= |other_versions= }} {{ImageUpload|

Următoarele pagini conțin această imagine:

Utilizarea globală a fișierului

Informații