I'm working in science, which means, among other things, that I have to explain things to others in many different situations, preferrably using elaborate sketches to illustrate things. Up until now, I mostly used PowerPoint and MS Visio to create most of my diagrams. However, this was always quite stressful for larger figures, especially when they contain many 2D and/or 3D objects.
This is why I am looking for a scripting tool (preferrably with python
support) that can render these figures. One major reason for this would be that I would like to use "actual" math inside the code to create the objects. For example, I may want to calculate the positions of the vertices of a cube given its dimensions and more complicated mathematical operations.
As an example, I tried to use OpenGL
, more specifically PyOpenGL
, to create such figures. However, this was quite complicated since a script to render a simple cube requires quite a bit of code and I am still trying to fully get behind the concepts and the PyOpenGL
API. (For example, I am still not quite sure how to use pyglet
; I have been using pygame
for now. Secondly, how would I output the rendered images to a file, preferrably PDF or SVG?)
On the other hand, I really like the concept of OpenGL
and similar "tools" since I can - in principle - render 3D objects easily and have many options on how to customize the rendered graphics.
Therefore, my question is, whether there is some software/tool/etc. that would allow me to easily accomplish this task, while being on the one hand simple, but on the other hand flexible to allow for maximum customization.