¿Debo aprender a procesar si conozco D3.js?

Aprendí el procesamiento antes de d3 y hago casi todo usando d3 en estos días.
aunque recomiendo encarecidamente aprender el procesamiento.
d3 tiene su propia lógica peculiar, con selecciones, transiciones y similares. aprender d3 es más que aprender javascript u otra biblioteca de javascript, también está adoptando una cierta forma de considerar la visualización, los eventos, el flujo, la relación entre los datos y los objetos visuales, y me gusta mucho ese proceso.
El procesamiento, por el contrario, tiene un enfoque muy diferente de las cosas, y ese enfoque de procesamiento, en sí mismo, vale la pena aprenderlo. Los programas de procesamiento generalmente se construyen alrededor de un bucle principal, y en cada iteración se redibuja la escena completa. estar familiarizado con esa lógica en realidad le permite llevar su d3 más lejos. Algunos de mis d3 vis están construidos como bocetos de procesamiento.

Otro aspecto interesante del procesamiento es su inmediatez. estás manipulando objetos físicos, por lo que es mucho más directo hacer cosas. En comparación con el procesamiento, hay una gran cantidad de sobrecarga en d3. Por lo tanto, es mucho más fácil hacer un boceto en el procesamiento.

También es más fácil trabajar con imágenes utilizando el procesamiento, ya sea leerlas o escribirlas. Además, los agentes independientes son más fáciles de implementar. Hay toneladas de funciones que se pueden usar para el arte generativo que están disponibles de manera inmediata en el procesamiento y que sería una molestia llegar al trabajo en d3. También: 3D. Fácil de procesar, un dolor en D3 (a pesar del nombre). y arduino. la lista continua.

Obviamente, hay muchas cosas que d3 puede hacer fácilmente y que son más difíciles de procesar: manejo de interacción, animación, etc.
Pero es muy bueno saber algo de procesamiento.

Probablemente lo mejor que podría hacer ahora sería elegir una visualización de Procesamiento que no existe en d3.js y tratar de adaptarla. No solo aprenderá más sobre el procesamiento en el proceso, sino que también llevará sus habilidades de d3 más allá de lo que puede imaginar ahora. Hice esto varias veces y realmente me ayudó a entender cómo abordar diversas visualizaciones (iteraciones, bocetos, diseño funcional, etc.). Descubrirá que no todo se puede adaptar fácilmente y que hay cosas que se pueden hacer mejor con el procesamiento. Al final, tiene que elegir la herramienta adecuada para el trabajo, por lo que expandir sus horizontes siempre es bueno.

Tu decides,

Web
——–
Si desea dibujar gráficos, visualizaciones de datos simples puede usar D3.js o Raphael.js ( http://raphaeljs.com/ )
También puedes usar Flash (ActionScript) pero hay FUD (miedo, incertidumbre, duda) al respecto. Pero es bastante bueno para el propósito de su invento.

Tratamiento
—————-
Si desea crear visualizaciones con complejidad media, puede usar Processing Its cool. El procesamiento no es más que Java disfrazado. Puede crear bibliotecas adicionales en java y puede usarlas en Procesamiento sin cambios.
Yo uso Processing con NetBeans ( http: // martinpblogformasswriting …)
Así que mezclo y combino con Java y Processing. Puede crear una visualización de media a avanzada en el procesamiento. Desde su java, se aplicaría la limitación de jvm (instancia única, multiproceso vs multiproceso, VM, limitación de memoria de hasta 4 gb (32 bits) 8 GB (64 bits), etc.). Pero es bastante más rápido. Para mi propósito nunca me enfrenté a ningún obstáculo.

Nativo
———–
Si desea hacer una visualización muy avanzada, entonces C ++ es su elección, puede optimizar el infierno de sus algoritmos.
Hay muchos marcos de visualización.
tu puedes elegir
1. Cinder ( http://libcinder.org/ ) (OsX / Win)
2. OpenFrameWorks ( http://www.openframeworks.cc/ ) (OsX / Win / Linux)
Su facilidad como procesamiento y también toma el poder de C ++.
Pero si quieres Raw Speed ​​como en Demoscene ( http://awards.scene.org/ )
entonces
OpenGL, C / C ++ es todo lo que tienes.

Entonces, si aprendes a procesar, puedes elegir Cinder / OpenFrameWorks con una dificultad mínima. La sintaxis será diferente pero los conceptos serán los mismos.
Para el procesamiento de aprendizaje, utilizo este enlace ( http://www.shiffman.net/teaching… )
Esta bastante bien.

Espero eso ayude.

Si te sientes cómodo con los modismos D3, quédate con D3. El procesamiento (y su primo p5.js con sabor a javascript) es excelente para hacer que algo se ejecute rápidamente. Está diseñado pensando en los artistas, pero comienza a sentirse limitado en proyectos más grandes.

He sido un gran fan de Processing y p5 (¡diablos, Ben Fry y Casey Reas eran compañeros de clase!), Y eso satisface una necesidad real. Pero realmente admiro la riqueza y el poder subyacente de D3.

Si desea sumergir su dedo del pie en el grupo de Procesamiento, segundo comentario de Adrian MP Brasoveanu sobre encontrar un ejemplo en Procesamiento (o p5.js) que le guste y trasladarlo a D3.

Hay varias razones por las que D3.js es la mejor opción para la visualización de datos. Lo más obvio es la facilidad de D3 para trabajar con muchos esquemas de datos diferentes mediante la función de acceso y las potentes selecciones, especialmente cosas como entrar y salir. Menos obvio es el hecho de que se integra perfectamente con el DOM, e incluso con otras bibliotecas JS como JQuery. Esto lo convierte en la mejor de las dos herramientas cuando se trata de la comunicación, que es de lo que realmente se trata la visualización de datos.

Ahora, Processing tiene algunas ventajas muy definidas sobre D3 en el departamento visual, incluyendo OPENGL. Esto hace del Procesamiento la opción obvia para el arte generativo. Algunas cosas bonitas se pueden hacer con SVG solo en D3 (animación, filtros, etc.) y no sería demasiado difícil “envolver” el lienzo de html5, pero para el procesamiento de belleza es la mejor opción.

tl; dr:
He sido un defensor del procesamiento desde sus inicios: definitivamente debes satisfacer tu “queja” descargándolo y jugando con algunos ejemplos. Sin embargo, cuando tengo una Viz. proyecto que necesita para comenzar a trabajar rápidamente, e integrarlo en un sitio web / API, uso D3.

Si desea continuar trabajando en JavaScript, consulte p5.js. Comencé con la versión original de procesamiento de Java y recomendaría que, si quieres probar a crear aplicaciones de escritorio, o como herramienta de enseñanza antes de hacer la transición a C # o C ++ … pero es difícil (aunque no imposible) hacer cosas en la web.

Solo para agregar a la discusión a continuación, debe tener en cuenta ProcessingJS, que es un puerto Javascript de Processing. Tiene muchas ventajas de D3 (se ejecuta en el navegador y permite la interacción con el resto de la página), mientras que (en su mayoría) mantiene la sintaxis de procesamiento (en la medida en que cierta sintaxis de Java puede ser portada a JS).

Vi que sí y veo dónde te lleva, tal vez a los dominios de las técnicas 3D abstractas o complejas (¿cosas locas de OpenGL?). Quiero decir, mira donde Robert Hodgin lo ha tomado. Él tiene su propia respuesta “debería aprender” aquí: http://www.flight404.com/blog/?p