Төп файл(SVG файлы, шартлы 800 × 800 нокта, файлның зурлыгы: 229 Кб)

Бу файл Викиҗыентык проектыннан һәм башка проектларда кулланылырга мөмкин. Файл турында тулырак мәгълүмат түбәндә күрсәтелгән.

Тасвирлама

Тасвир
English: Example of Fractal Canopy with angle=PI/11 and reduction factor=0.75
Дата
Чыганак Үз эшем
Автор Claudio Rocchini

Лицензияләү

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
w:ru:Creative Commons
атрибуция шул ук кагыйдәләр буенча таратыла
Әлеге файл Creative Commons Attribution-Share Alike 3.0 Unported лицензиясе буенча рөхсәт ителгән.
Сез ирекле рәвештә:
  • уртаклашырга – бу язмадан күчермә алырга, таратырга һәм тапшырырга
  • юрамалар ясау – бу язманы үзгәртергә
Түбәндәге шартларда:
  • атрибуция – Сез тиешле бәя, лицензиягә сылтама бирергә һәм үзгәрешләр кертелгәнме-юкмы икәнен күрсәтергә тиешсез. Сез моны теләсә-нинди дөрес булган ысул белән эшли аласыз, әмма лицензиар сезне яки куллануыгызны хуплый дигән фикер калырга тиеш түгел.
  • шул ук кагыйдәләр буенча таратыла – Әгәр сез бу әсәрне үзгәртәсез, әверелдерәсез яки аның нигезендә яңаны булдырасыз, башлангыч әсәрнең рөхсәтнамәсен яки башлангыч рөхсәтнамәгә туры килә торган рөхсәтнамәне кулланырга тиешсез.

Source Code

/* (C)2013 Claudio Rocchini, CC-BY 3.0 */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <vector>

const double PI = 3.1415926535897932384626433832795;

class edge {
public:
	double l,t,a,x,y;
	edge() {}
	edge( double nl, double nt, double na, double nx, double ny ) :
		l(nl),t(nt),a(na),x(nx),y(ny) {}
};

int main() {
	const double SX = 800;  const double SY = 800;
	const double a = PI/11; const double r = 0.75; const double minl = 10;
	
	std::vector<edge> st;
	st.push_back( edge(200,25,-PI/2,SX/2,SY-10) );
	
	FILE * fo = fopen("fractal_canopy.svg","w");
	fprintf(fo,
		"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n"
		"<svg xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns=\"http://www.w3.org/2000/svg\"\n"
		"version=\"1.0\" width=\"%g\" height=\"%g\" id=\"fractal_canopy\">\n"
		,SX,SY
	);
	
	double lastt = -1.0;
	for(size_t i=0;i<st.size();++i) {
		double nx = st[i].x+st[i].l*cos(st[i].a);
		double ny = st[i].y+st[i].l*sin(st[i].a);
	
		if(lastt!=st[i].t) {
			if(lastt!=-1.0) fprintf(fo,"</g>\n");
			lastt = st[i].t;
			fprintf(fo,"<g style=\"stroke:#000000;stroke-width:%g;fill:none\">\n"
				,lastt);
		}
		fprintf(fo,"<line x1=\"%6.2f\" y1=\"%6.2f\" x2=\"%6.2f\" y2=\"%6.2f\"/>\n"
			,st[i].x,st[i].y,nx,ny);
		if(st[i].l<=minl) continue;
		st.push_back( edge(st[i].l*r,st[i].t*r,st[i].a+a,nx,ny) );
		st.push_back( edge(st[i].l*r,st[i].t*r,st[i].a-a,nx,ny) );
	}
	fprintf(fo,"</g>\n");
	fprintf(fo,"</svg>\n");
	fclose(fo);
	return 0;
}

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

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

Элементы, изображённые на этом файле

тасвирланган феномен

У этого свойства есть некоторое значение без элемента в

Файл тарихы

Файлның нинди булганлыгын күрү өчен «дата/вакыт» дигәненә басыгыз.

Дата/вакытКече рәсемҮлчәмнәреКулланучыИскәрмә
агымдагы2 гый 2013, 10:412 гый 2013, 10:41 юрамасы өчен кече рәсем800 × 800 (229 Кб)RocchiniUser created page with UploadWizard

Әлеге файл киләсе битне куллана:

Файлның гомуми кулланышы

Әлеге файл аста бирелгән викиларда куллана:

Бу файлның гомуми кулланышын карау.

Метабирелмәләр