Sin duda, la gente usa una variedad de programas para dibujar diagramas de física, pero no estoy familiarizado con muchos de ellos. Por lo general, dibujo cosas a mano en GIMP , que es poderoso en algunos aspectos, pero lleva mucho tiempo hacer cosas como dibujar círculos o flechas porque las hago con herramientas más primitivas. También es difícil ser preciso.
Sé que algunas personas usan LaTeX, pero no estoy seguro de cuán versátil o fácil es. Las únicas otras herramientas que conozco son Microsoft Paint y las herramientas integradas en Microsoft Office.
Entonces, ¿qué herramientas utilizan comúnmente los físicos? ¿Cuáles son sus puntos buenos y malos (características, facilidad de uso, portabilidad, etc.)?
Estoy buscando una herramienta con alta flexibilidad y mínima curva de aprendizaje/tiempo de desarrollo. Si bien me gustaría dibujar a mano y arrastrar y soltar formas prefabricadas, también quiero especificar las ubicaciones exactas de curvas y formas con ecuaciones cuando necesito una mayor precisión. Además, la funcionalidad de programación mínima sería una buena característica adicional (es decir, la capacidad de ejecutar un bucle que dibuja una serie de líneas con un parámetro variable).
Recomiende algunas piezas de software si son buenas para diferentes situaciones.
He tenido buenas experiencias con Inkscape . Tiene una interfaz GUI, pero le permite ingresar coordenadas directamente si lo desea, y es programable. Hay un complemento que le permite ingresar a LaTeX directamente (para etiquetas y demás). La desventaja es que todavía está en desarrollo, por lo que a veces encuentra que una función que desea aún no está completamente implementada.
Como ejemplo, aquí hay un póster que hice la semana pasada, completamente dentro de Inkscape:
Inkscape ahora también tiene el complemento " JessyInk " que le permite usarlo para hacer presentaciones ( al estilo de Powerpoint). La presentación se puede ver en un navegador web como SVG o exportar a PDF.
Si tiene una Mac y no le importa gastar algo de dinero ($100), he oído hablar bien de OmniGraffle .
Estoy aprendiendo TikZ (un paquete de dibujo para LaTeX) mientras hablamos. Es bueno para dibujos lineales bidimensionales, la sintaxis para especificar formas y curvas es extremadamente versátil, pero la curva de aprendizaje es incluso más pronunciada que LaTeX.
Hay una magnífica galería de ejemplos de TikZ .
Aquí hay otra colección de buenos ejemplos de TikZ en SE.tex.
Interpretaré su término diagrama como "cualquier imagen elegante que capture algo de física".
Para esto, difícilmente puedo recomendar algo más que MetaPost . Está a la par con TeX en que es un poco difícil de aprender, pero una vez que domines los conceptos básicos, no creerás que podrías haber usado algo más (en particular, GIMP e Inkscape; una buena analogía aquí sería TeX vs. MS Word ).
Usé MP para crear algunos polígonos en una red hexagonal en el contexto de las expansiones de clústeres. Había una gran cantidad de esos polígonos para dibujar, así que rápidamente abandoné toda esperanza de intentar dibujarlos a mano en Inkscape o algo similar. Cierto, probablemente sería más rápido al final, pero odio el trabajo manual; Prefiero pasar mucho más tiempo aprendiendo algún lenguaje de programación y luego codificar todo el trabajo en unos minutos. Entonces armé un programa MP simple que ha convertido mis datos de entrada (vértices y bordes de los polígonos como solo números) en bellas imágenes. Para el trabajo de una noche y mi primera vez con MP estaba más que satisfecho.
El crédito por esta increíble imagen es para Johan Kåhrström (ve también más cosas debajo de las ilustraciones allí).
En primer lugar , no utilice un software de gráficos de trama como Gimp para hacer dibujos. Esto tiene serias desventajas cuando desea hacer documentos legibles en pantalla (la imagen se pixeliza). Para ello utilice siempre gráficos vectoriales . Wikipedia tiene una buena lista de software de gráficos vectoriales . Entre ellos, recomendaría los siguientes:
Inkscape (multiplataforma): aunque la curva de aprendizaje es un poco empinada, vale la pena. Tenga en cuenta que Inkscape no fue diseñado para hacer diagramas científicos. Aún encontrará un complemento de LaTeX, exporte a LaTeX/PSTricks, etc.
Dia (Multiplataforma): Muy simple y fácil, pero no muy potente. No se puede procesar LaTeX .
Ipe (multiplataforma): Ipe es algo intermedio entre Inkscape y Dia. También Ipe fue diseñado para dibujo científico. Puede procesar el código fuente de LaTeX e importar figuras en PDF.
WinFIG (Cross-platform): Aunque comercial , es bastante popular en la comunidad científica.
EDITAR: Wikipedia tiene una página agradable que analiza varios programas que se pueden usar para crear figuras. Ver Wikipedia: Cómo crear gráficos para artículos de Wikipedia
Probaría matplotlib, pero primero verifique aquí y decida si estas imágenes satisfacen sus necesidades. También haga clic en alguna imagen e inspeccione el código fuente.
Publicación relacionada en SO .
Mi favorito personal es Asymtpote, que es como MetaPost con esteroides. Una galería está aquí .
A veces, los gráficos de trama también son necesarios. Usé a menudo POV-Ray para hacer algunas ilustraciones.
Se puede preparar con cualquier tamaño utilizando el mismo guión con la descripción de la imagen, que evita problemas de escala. Pero no es un editor gráfico y es rápido solo para la preparación de imágenes simples.
Solo para completar, dejaré esto aquí:
¡Siempre es posible componer sus ilustraciones en posdata en bruto ! Postscript es en sí mismo un lenguaje de programación similar a Forth. Es especialmente útil para las ilustraciones que se prestan a generarse de forma procesal. Si el postscript en sí es de un nivel demasiado bajo, a menudo se puede escribir un script en algún otro idioma que genere un programa postscript.
Una excelente introducción a la producción de dibujos en posdata sin procesar es este libro gratuito:
Para dibujar diagramas de Feynman con SVG, he desarrollado jQuery.Feyn para que sea más fácil (ver la captura de pantalla a continuación).
Hace poco me presentaron GeoGebra y, aunque todavía no he tenido la oportunidad de usarlo para ningún trabajo, me encanta la interfaz. Para diagramas geométricos se ve espectacular.
También he usado mucho XFig y gnuplot. Particularmente si usas , estas herramientas cumplen su propósito muy, muy bien.
Para dibujos primitivos, soy un gran admirador de XFig. La interfaz de usuario es un poco torpe, pero se puede guardar en docenas de formatos de gráficos y crea figuras que son francamente triviales de incluir en un documento LaTeX. Lo más importante para mí es que el formato de archivo está basado en texto, por lo que es completamente posible escribir dibujos más complicados.
Yo también uso Mathematica para figuras y descubrí que no fue un gran salto de ahí a usarlo para dibujos. Puede dibujar primitivas 2D o 3D con bastante facilidad:
Rectangle[{xmin, ymin}, {xmax, ymax}]
y, como python/matplotlib, poder parametrizar todo le permite volver a dibujar una imagen para múltiples escenarios (o Animarla o Manipularla ).
Para mí, la característica más útil es que puedes definir las cosas en términos matemáticos. El ejemplo de MetaPost mencionado por Marek, en el que se pueden definir dos curvas y la intersección calculada por el paquete de dibujo, es manejado inherentemente por Mathematica.
Pensé mucho en esta pregunta desde que me gradué y comencé a enseñar. Creo que Adobe Illustrator es el mejor software de imágenes vectoriales. No requiere ningún código para dibujar imágenes; solo tienes que aprender a usar algunas herramientas "importantes". No soy de ninguna manera un diseñador gráfico o un profesional en Illustrator y dibujé esto:
Además,
Para empezar, para el dibujo científico, generalmente los gráficos vectoriales son más adecuados: escalables, convenientes para modificar y producir archivos menos voluminosos.
Para gráficos simples de propósito general, uso OpenOffice.org Draw (lo prefiero a Incscape).
Para diagramas abstractos existe yEd-Graph Editor .
Ambos son gratuitos, para Win/Linux/MacOSX, fáciles de aprender y se pueden exportar a gráficos vectoriales y pdf.
Yo uso TKPAINT que todavía funciona muy bien.
http://www.netanya.ac.il/~samy/tkpaint.html
Primero, uno tiene que descargar ActiveTcl para Windows o sus contrapartes Tcl para Linux o lo que sea que use. Puede dibujar discos llenos o vacíos, elipses, cuadrados, rectángulos, splines, rotarlos, copiarlos rápidamente, moverlos, textos con muchas fuentes, colores, cuadrícula, y puede exportarse como EPS -postscript encapsulado también- que es una forma estándar de incrustar diagramas similares en documentos TeX en arXiv y más allá.
Lo he usado en muchos artículos cuando los estaba escribiendo.
Saludos LM
Para circuitos eléctricos, CircuitLab es un buen editor y simulador en línea. Hay algunas restricciones sobre lo que puede hacer sin una cuenta o con una cuenta gratuita, no recuerdo los detalles, pero puede usar la pantalla de impresión para obtener buenas imágenes. Me gusta porque está realmente al nivel de simplicidad que necesito: si estoy explicando una pregunta básica de circuitos eléctricos, no quiero pasar más de dos minutos dibujando, digamos, cinco resistencias en alguna configuración en paralelo/serie. CircuitLab hace el trabajo.
Para ver un recorrido, vea su video de YouTube Primeros pasos con CircuitLab .
Editar: si desea incluir una salida png en una publicación en este sitio, puede ir a Ingeniería eléctrica , que tiene una implementación integrada en el editor de publicaciones y simplemente recuperar el enlace de la imagen. ¡Gracias a Chris White por el consejo!
Hay un complemento para Microsoft Word llamado Science Teacher's Helper. http://www.helpscience.com
SmartDraw también es un excelente programa para crear diagramas. http://www.smartdraw.com
También puede usar PLotly , una plataforma de creación de gráficos colaborativa basada en la web con API en Python, R, MATLAB, Julia y Perl. Puedes encontrar el código para hacer estos ejemplos en su documentación.
.
Mire el software SCaVis . Tiene muchos ejemplos que ilustran cómo dibujar varios gráficos. Aquí está el enlace a los ejemplos.
nibot
qmecanico