File:Demipenteract graph ortho.svg

Материал из Викисклада, хранилища свободных медиафайлов
Перейти к навигации Перейти к поиску

Исходный файл(SVG-файл, номинально 800 × 800 пкс, размер файла: 805 байт)

Краткие подписи

Краткие подписи

Добавьте однострочное описание того, что собой представляет этот файл

Краткое описание[править]

Описание
English: Othographic projection of Demipenteract (edge gragh)
Дата
Источник Собственная работа
Автор 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);
}

Лицензирование[править]

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
GNU head Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.
w:ru:Creative Commons
атрибуция
Этот файл доступен по лицензии Creative Commons Attribution 3.0 Unported
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
Вы можете выбрать любую из этих лицензий.

История файла

Нажмите на дату/время, чтобы увидеть версию файла от того времени.

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий03:17, 11 октября 2021Миниатюра для версии от 03:17, 11 октября 2021800 × 800 (805 байт)Andreasl01 (обсуждение | вклад)Simplified code
21:34, 12 сентября 2008Миниатюра для версии от 21:34, 12 сентября 2008800 × 800 (5 КБ)Tomruen (обсуждение | вклад)try red dots
11:40, 28 июля 2008Миниатюра для версии от 11:40, 28 июля 2008800 × 800 (5 КБ)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|

Следующая страница использует этот файл:

Глобальное использование файла

Метаданные