Imagen 3-d para ver campos magneticos

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Responder
Mensaje
Autor
Avatar de Usuario
fusion
Mensajes: 4573
Registrado: Lun Feb 20, 2006 1:12 pm
País: Madrid
Ciudad: Alcobendas
Ubicación: Madrid

Imagen 3-d para ver campos magneticos

#1 Mensaje por fusion »

Pues tengo en una hoja excel los resultados de una simulación de una sección de un toro con un monton de coordenadas en tres columnas:

x y campo magnetico

Quisiera hacer un mapa tipo isobaras o algo así por colores ¿que aplicacion me recomendais?. He intentado alguna de excel pero no van bien.

Avatar de Usuario
heli
Mensajes: 1952
Registrado: Mié Sep 06, 2006 7:28 am
País: España
Ciudad: Alcalá de Henares
Ubicación: Alcala de Henares (Madrid, España)
Contactar:

Re: Imagen 3-d para ver campos magneticos

#2 Mensaje por heli »

Prueba processing: https://processing.org/download/
Se programa en Java y tiene muchas librerías para trabajar con gráficos y 3D: https://processing.org/tutorials/p3d/
Haces cosas muy útiles con muy poco código: https://www.youtube.com/watch?v=iJh8dvEt03E
¡No es imposible, lo que pasa es que no sabes como hacerlo!
Aka: no es difícil si sabes como.
http://heli.xbot.es

Avatar de Usuario
fusion
Mensajes: 4573
Registrado: Lun Feb 20, 2006 1:12 pm
País: Madrid
Ciudad: Alcobendas
Ubicación: Madrid

Re: Imagen 3-d para ver campos magneticos

#3 Mensaje por fusion »

No se Java :oops:

Podría usar C++ y guardar en ppm. Me vendría bien un programa que dando los datos de cada punto de entrada me los interpole a cada punto de la imagen

o sea: tengo

x y Bz
5 10 0.25
10 10 1.00
10 5 1.3


Me saque para todos los puntos de la imagen para x,y=0,0, 0,1 0,2, ....


Esta rutina guarda en ppm de una forma sencilla:

Código: Seleccionar todo

bool save_image_ppm(char *filename, uchar  *data, long xmax1, long ymax1)
{
	FILE *output = fopen(filename, "wb");
	if (output == NULL)
	{
		printf("Couldn't open %s for writing!\n", filename);
		return false;
	}
	fprintf(output, "P6\n%d %d\n%d\n", (int) xmax1, (int) ymax1, 255);
	for (long j = 0; j < ymax1; j++) {
		for (long i = 0; i < xmax1; i++) {
			fwrite(&data[3L * (j*xmax1 + i)], 1, 3, output);
		}
	}
	fclose(output);
	return true;
}
Y esta lo lee:

Código: Seleccionar todo

bool read_image_ppm(char *filename, uchar  *data, long xmax1, long ymax1)
{
	long kaka;
	FILE *str = fopen(filename, "rb");
	if (str == NULL)
	{
		printf("Couldn't open %s for reading!\n", filename);
		return false;
	}
	fscanf(str, "P6\n%d %ld\n%ld\n255\n", &xmax1, &ymax1,&kaka);
	for (long j = 0; j < ymax1; j++) {
		for (long i = 0; i < xmax1; i++) {
			fread(&data[3L * (j*xmax1 + i)], 1, 3, str);
		}
	}
	fclose(str);
	return true;
}

Avatar de Usuario
fusion
Mensajes: 4573
Registrado: Lun Feb 20, 2006 1:12 pm
País: Madrid
Ciudad: Alcobendas
Ubicación: Madrid

Re: Imagen 3-d para ver campos magneticos

#4 Mensaje por fusion »

Bueno, ya encontre la respuesta para EXCEL:
Se ponen en orden las coordenadas z formando filas de ancho=datos en eje x, y de alto=numero de datos en coordenada y. el contenido de las celdas es la coordenada z
se seleccionan los datos
En excel se pincha en grafico->superficie
Al pinchar con boton derecho en Rotacion-3D y se ponen los tres angulos: x=0, y=90º y perspectiva=0º
los colores que salen son horrorosos, entonces al pinchar el grafico a la derecha se ve un pincel, se pincha y en la pestaña color se elige uno monocromatico. A mí me gustaría que fuera rojo-azul pero no aparece.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados