Archivo:Hyperbolic coordinates.svg

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

Ver la imagen en su resolución original((Imagen SVG, nominalmente 800 × 800 pixels, tamaño de archivo: 20 kB))

Resumen

Descripción Hyperbolic coordinates grip on I cartesian quadrant
Fecha
Fuente Trabajo propio
Autor Rocchini
Permiso
(Reutilización de este archivo)
CC-BY 3.0

Source Code

In C++

void hyperbolic_coordinates() {
	const double DIMX = 800; const double DIMY = 800;
	const double B    = 64;  const double S    = 128;
	const double miu  = -2;  const double mau  = 2;
	const double miv  = 0;   const double mav  = 8;
	const int N = 24;        const int M = 1024;

	FILE * fp = fopen("c:\\temp\\hyperbolic_coordinates.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=\"rocco\">\n"
		,DIMX,DIMY
	);
	fprintf(fp,"<g id=\"edge_layer1\" style=\"fill:none;stroke:#800000;stroke-width:1.5;stroke-opacity:1\">\n" );

	int i,j;
	for(j=0;j<N;++j) {
		const double v = miv + (mav-miv)*double(j)/(N-1);
		fprintf(fp, "<path d=\"" );
		bool first = true;
		for(i=0;i<M;++i) {
			const double u = miu + (mau-miu)*double(i)/(M-1);
			double x = v*exp( u); double y = v*exp(-u);
			x =       x*S+B;      y = DIMY-(y*S+B);
			if(x>=B && x<=DIMX-B && y>=B && y<=DIMY-B ) {
				if(first) fprintf(fp,"M ");
				else      fprintf(fp,"L ");
				fprintf(fp,"%g %g ",x,y);
				first = false;
			}
		}
		fprintf(fp,"\"/>\n");
	}

	fprintf(fp,
		"</g>\n"
		"<g id=\"edge_layer2\" style=\"fill:none;stroke:#000080;stroke-width:1.5;stroke-opacity:1\">\n"
	);

	for(i=0;i<N ;++i) {
		const double u = miu + (mau-miu)*double(i)/(N-1);
		fprintf(fp, "<path d=\"");
		bool first = true;
		for(j=0;j<M;++j)	{
			const double v = miv + (mav-miv)*double(j)/(M-1);
			double x = v*exp( u); double y = v*exp(-u);
			x =       x*S+B;      y = DIMY-(y*S+B);
			if(x>=B && x<=DIMX-B && y>=B && y<=DIMY-B ) {
				if(first) fprintf(fp,"M ");
				else      fprintf(fp,"L ");
				fprintf(fp,"%g %g ",x,y);
				first = false;
			}
		}
		fprintf(fp,"\"/>\n");
	}

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

	fclose(fp);
}

Licencia

Yo, titular de los derechos de autor de esta obra, la publico en los términos de las siguientes licencias:
GNU head Se autoriza la copia, distribución y modificación de este documento bajo los términos de la licencia de documentación libre GNU, versión 1.2 o cualquier otra que posteriormente publique la Fundación para el Software Libre; sin secciones invariables, textos de portada, ni textos de contraportada. Se incluye una copia de la dicha licencia en la sección titulada Licencia de Documentación Libre GNU.
w:es:Creative Commons
atribución
Este archivo se encuentra bajo la licencia Creative Commons Atribución 3.0 Unported.
Eres libre:
  • de compartir – de copiar, distribuir y transmitir el trabajo
  • de remezclar – de adaptar el trabajo
Bajo las siguientes condiciones:
  • atribución – Debes otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si realizaste algún cambio. Puedes hacerlo de cualquier manera razonable pero no de manera que sugiera que el licenciante te respalda a ti o al uso que hagas del trabajo.
Puedes usar la licencia que prefieras.

Leyendas

Añade una explicación corta acerca de lo que representa este archivo

Elementos representados en este archivo

representa a

Historial del archivo

Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.

Fecha y horaMiniaturaDimensionesUsuarioComentario
actual08:14 13 may 2008Miniatura de la versión del 08:14 13 may 2008800 × 800 (20 kB)Rocchini{{Information |Description= Hyperbolic coordinates grip on I cartesian quadrant |Source=self-made |Date=2008-05-13 |Author= Rocchini |Permission=CC-BY 3.0 }}

La siguiente página usa este archivo:

Uso global del archivo

Las wikis siguientes utilizan este archivo: