¿Cómo debo formatear mi archivo .dat para que se pueda hacer un diagrama vectorial 3D?

Estoy trabajando en esta tarea de programación para la universidad donde tenemos que escribir unc++ programa que calcula el vector de campo magnético para ciertas bobinas en el espacio 3D.

He logrado escribir este programa y creo que lo tengo funcionando bastante bien.

Sin embargo, quiero agregar un thinh especial (es mi examen, ¡así que tiene que ser muy bueno!): No quiero trazar los vectores.

Estoy acostumbrado a llamar agnuplot desdec++ (a través de tuberías) y esto es lo que suelo hacer:

crear una secuencia de salida que escribe los datos en un.dat archiv abrir una tubería gnuplotmake gnuplot traza todos los contenidos de la.dat

Dado que mis datos siempre han sido 2D,x yy parcelas, estoy bastante perdido aquí. Mi pregunta es

Cómo formatear el.dat archivo (por ejemplo, ¿uso llaves para agrupar componentes vectoriales?)¿Cuál es el comando gnuplot real para trazar un campo vectorial 3D?

Sería fácil si pudiera formatear el.dat archivo como este:

# Px    Py    Pz    Bx    By    Bz
  1     0     2     0.7   0.5   0.25 #<= example data line
  ... more data ...

cuando el vector de campo magnético en el puntoP=(1,0,2)equals a vectorB=(0.7,0.5,0.25). Esto sería fácil de programar, la verdadera pregunta es: ¿funcionará? y cómo trazarlo en gnuplot. (wow, he hecho la misma pregunta 3 veces, supongo).

Tuberí a gnuplot

Ok, ya que alguien me pidió que describiera cómo yotub (no sé si es el término correcto pensado) cosas paragnuplot. Aquí está

rimero abre una tubería y llámalopipe:

FILE *pipe = popen("gnuplot -persist 2>/dev/null", "w");

Contargnuplot qué hacer a través de la tubería:

fprintf(pipe, "set term x11 enhanced \n");
fprintf(pipe, "plot x^2 ti 'x^2' with lines\n");

Observe la\nque es absolutamente necesario. Es lo que ejecuta el comando.

cerrar la tubería:

pclose(pipe);

La biblioteca necesaria se llama<fstream> Yo creo

Respuestas a la pregunta(1)

Su respuesta a la pregunta