FORTRAN graphic library on Linux [closed] - linux

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I started learning FORTRAN and need graphic library to plot output
As I'm not familiar with FORTRAN environment, I wanted to ask for recommendation
I'm used to matplotlib, and preferably looking for something similar. Similar in means of available features, and workflow concepts
Searching through Synaptic it seems like PGPLOT is the way to go
PS I know I could wrap FORTRAN code in Python in different ways

I've used PGPLOT, dislin and PLPLOT. In this era I'd use dislin or PLPLOT. PGPLOT was last updated in 2001 and only has a FORTRAN 77 interface, which can be used with Fortran 90/95/2003 but the compiler won't be able to check that your calls have the correct arguments. The other two have Fortran 95 interfaces. Of dislin and PLPLOT, I think dislin to be better documented. dislin also provides widgets for GUI input. dislin is free for some uses; for business uses one is supposed to purchase a license. PLPLOT is open source under the LGPL.

Yes, PGPLOT is an option.
You may also want to look into PLplot: http://plplot.sourceforge.net/

DISLIN - supports several platforms and languages (python included).

Have you considered using VisIt or similar software? VisIt can visualise very large datasets and has a mechanism for in-situ visualization with the libsim library. See this presentation for a nice introduction to in-situ visualization with VisIt: http://calcul.math.cnrs.fr/Documents/Ecoles/Data-2011/CouplageSimulationVisualization.pdf.
See here for the libsim api.
Finally, a few additional notes.
While you sate
I'm used to matplotlib, and preferably looking for something similar.
Similar in means of available features, and workflow concepts
using libsimwould be quite different, but it is very powerful.
and
Right now just general graphic package to plot intermediate data
products. If I do well then perhaps I'll look for package that handles
large data sets. But if I get there I'll probably know what to use
till then.
Rather than write a solution now and then change it to deal with large data sets, why not just write a scalable solution now?

Not familiar with FORTRAN plotting but in most languages a quick way to do easy-to-program static graphics is not to use a library at all but to find that language's equivalent of the C "system()" call, find a program that will do the plotting and write the equivalent of:
1. Write plot data to file.
2. Do system call running plot program with data file argument.
3. [Optional] Delete plot data file.
This gives your program the full functionality of the plot program with minimal programming. The plot data and plot program are likely to be in the disk cache so it's all in memory. It's also easily debugged.
People underestimate the system() call - it gives access to a vast array of functionality including scripting. Some would say it's not efficient or "pure" but the user won't care and it will often drastically reduce the amount of programming necessary. Don't reinvent the wheel.

You can use:
PLplot: http://plplot.sourceforge.net/
gtk-fortran. It is a GTK / Fortran binding which offers also an interface to PLplot: https://github.com/vmagnin/gtk-fortran/wiki

Related

High Level language with Low level Graphics [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am looking for a high level language which will still allow me to work directly with graphics. I want to be able to modify screen pixels, for instance. But I do not want to write huge amounts of code for each operation. I want simple one line commands for graphics somewhat like those listed below. What are some programming languages which would have these features?
Possible pseudocode:
Screen.clear
Graphics.line(4,5,20,25).color=green
Circle(centerx,centery,radius)
Depending on what you want to do (ie, how complex do you need to get?) Processing is a very high-level, graphics-focused environment. Note, however, that it seems to be focused on the fixed function OpenGL pipeline, which is deprecated (though arguably the easiest and most intuitive way to get started).
Processing is built in Java, runs in web browser (or from your desktop), and abstracts most of the initialization and cleanup code required to use OpenGL.
Edit
I've just noticed your comment that says you're not an experienced programmer. In that case, I'd recommend starting with Processing. Once you get the hang of it, move on to Python.
Another, slightly more complex, option is Python. Python is very powerful, fairly easy to pick up (depending upon your prior development experience), and widely supported. It'll also allow you to use shaders and other features from the 21st century, and is cross-platform See this link for PyOpenGL, the first Python OpenGL site that popped up in google.
Then, there's C# + OpenTK. This can get pretty complex pretty quickly, but is very powerful, and since it's compiled (under .NET or Mono), can potentially give you better performance than Python.
Finally, for close-to-bare-metal performance, C++ is unbeatable, though arguably the most complex of these options, with a significant learning curve. However, most of the example code you'll find online is in C++, which can be an issue if you're not using C++ and aren't comfortable reading it.
Using Qt you can create QImage objects and draw on them usign QPainter.
You've of course pixel control using that abstraction level, but you can also access the underlying memory directly using bits() and bytesPerLine() methods thus accessing the image memory directly.
The format that is easiest to use to do fast special computations is in my opinion QImage::Format_ARGB32 with 32 bits per pixel.
Qt is a C++ library portable on may OSs and platforms, and bindings are available for many very high level languages (e.g. Python).

Programatically generate graphical (ADAPT) models / diagrams of structured data [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I am searching for strategies or other starting points to generate diagrams from structured data stored in a database. To make a simplified example that would be very similar to my requirements:
Input: DDL SQL to create tables with attributes in a Database.
Desired output: ERD diagram of the tables with connections to each other as svg.
The type of diagram I want to build is ADAPT but since I'm sure there is no implementation that directly generates ADAPT diagrams I'd be happy with anything that can generate models like BPMN, EPK or something similar. A generator for ERD might be a start but since ADAPT is more complex than ERD it would require heavy customization.
I currently create a prototype using Drupal so something in that area would be nice but I am glad with any input where I can learn about solving the core problem: How to automatically create graphical models out of structured data (without data about or user interaction in terms of element placement, element size etc.)?
Sidenotes:
svg is no hard requirement (could be png etc) but seems the best option to me.
The application I am building records requirenments that then should become the models.
The solution needs to be integratable into a web application. (have some sort of api)
Activiti could be a base for the diagram drawing but I cannot find information about diagramm creation via API instead of the UI.
Graphviz might be a starting point but I haven't seen any work beyond ERD.
This is for a student project so the budget is limited.
There is a number of diagramming libraries available and each have their strengths and weaknesses. It strongly depends on your exact requirements. I suggest you evaluate some of the alternatives and see what suits you best.
What I think: In a commercial scenario, the yFiles suite of libraries for various platforms is probably an option. From what I can see the HTML/JavaScript based solution should satisfy your requirements quite well: It can easily be told to fetch the data from various input sources, automatically create the structure and most importantly calculate a layout for the diagram so that it can be viewed immediately without having to be arranged by hand. Also you can customize the library to a very high degree: you can make the items look like the ones in "ADAPT", customize user interactivity so that only valid model changes are allowed (if you need interactive editing), and of course do all of this programmatically using a flexible Javascript API.
There is a nice example of that capability here:
Interactive Graph Source
Full disclosure: I work for yWorks, however on Stackoverflow I do not represent my employer.
You can generate Graphviz' DOT language and then run Graphviz' DOT.exe program by command line, which inputs a DOT language file and outputs an .svg file. This approach is pretty simple since you don't need to use Graphviz by API, and instead, just generate text file from whatever your programming environment is.
Not sure if this help you at all; perhaps just the general idea may be useful.
Going further, though, I've done this in an open source project, with the salient differences from what you're specifically describing above being that my project takes tabular (self-describing, structured) data instead of SQL DDL as its user input. Output is information in the form of concepts and relationships that can be used in several ways (searched, manipulated, diagrammed), one of which is to generate an .svg output showing various colored and shaped entities interconnected by variously colored and labeled arrows. The .svg output is done by translating concepts and relationships into an appropriate DOT file and then running Graphviz by command line, and then launching Firefox on the .svg output. Lots of differences from what you need, still, layout is handled purely by Graphviz.

Diagramming program to help in designing software? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I'm looking for a diagramming program that can help in designing software, right from the high-level requirements down to the low-level classes and functions.
I've seen a lot of UML programs, but they don't let you design at multiple levels of detail in the same map, like if you could "zoom in" and design the details of a part.
Do programs exist that help in such designing? Programs that let you design at the high-level and low-level on the same map?
Most of the UML products from large vendors will let you do what you want. "Rational Rose" and "Enterprise Architect" are just two examples that I have used. They both let you mix component, package and class level information in the same view. Both of them provide a way to specify requirements as part of the meta-data to a class and I believe, functions too.
Edit 8/23/09
I just found Topcased. It's free and does many of the same things as Rose & EA. I'm not sure about mixing different diagram types in one view, but you might want to give it a shot. I'm definitely going to investigate using it for my personal projects.
I recommend BOUML. It's a free UML modelling application, which:
has a great SVG export support, which is important, because viewing large graphs in vector format, which scales fast in e.g. Firefox, is very convenient (you can quickly switch between "birds eye" view and class detail view),
this can work as the "zoom" feature you're asking (I use such SVG exports my self, to be able to quickly overview relation of group of classes, and then zoom in into details of selected one),
is extremely fast (fastest UML tool ever created, check out benchmarks),
has rock solid C++, Java, PHP and others import support,
is multiplatform (Linux, Windows, other OSes),
is full featured, impressively intensively developed (look at development history, it's hard to believe that such fast progress is possible).
supports plugins, has modular architecture (this allows user contributions, looks like BOUML community is forming up)
The "zoom" feature you're asking can be obtained through SVG export. I use such exports my self in the way you're asking.
I've used Rational Rose and looks like it fits your needs.
You could try BOUML which, although it doesn't allow you to "zoom in", does cover all the aspects of UML, and allows you to view different parts of the design at once (in multiple windows). It is also free, which may or may not make it more desirable for you, and is quite cross platform.
First of all there are different diagrams for different things you want to express. During software design you dont only use UML, but also HTML sketches and things like that. So choose the right tool for the right task is my advice. Create a folder structure depending on your granularity, one for Frontend sketches (you can place it hiracially), one for class diagrams and so on. So try to establish a process that fullfils all your needs. Often the holy grail programm doenst exist or is not good, just because of the fact that it tries to satisfy to many customers.

Yet Another diagram / modeling software suggestion request [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm currently looking for diagramming software that allows me to quickly map stuff and jot down concepts such as a filesystem directories represented by nested boxes containing icons (representing files.)
Off course the simplest solution of all would be to just use paper and pencil, but unfortunately i have such poor motor skills that after minutes i cannot even distinguish the shapes I've drawn myself, never mind have these notes be of any use to someone else in order to have him/her work with them.
So far I've tried a ton of software packages but none of it seem to be simple/flexible/powerful enough to help fulfill the modeling /sketching tasks I'm trying to achieve
Visio,
smartdraw
Edraw
conceptdraw
Vue
yEd
Dia
Kivio
paint.net
photoshop
Illustrator
GIMP
in addition I've played around with modeling tools including staruml,argouml and Visual Paradigm as well as Eclipse modeling, but most of them were too complicated, too constricting and in some ways completely alien. On a side note, I absolutely HATE eclipse, I'm used to writing shellscripts with nano on a shell, The sheer amount of features (That i will never ever have any use for) make it hard for me to find that which I'm really looking for. YAGNI GDDMM*T!
Allthough UML modeling is at times important, such models are more for the next follow up phase and would be overkill (as well as a creativity killing burden) when I'm trying to come up with something from scratch.
Right now I'm looking for something new, I would be more than happy if someone could perhaps suggest something,
Most importantly i would like to find a program where the software allows me to do add new shapes and with the parent shape automatically growing so that that added shapes all fit inside of it rather than that i have to manually resize the parent shape
Your problem is a common one, and in recent years the big UML tool vendors have started adding functionality for sketching, as opposed to traditional modelling. My favourite, Enterprise Architect from Sparx Systems, has got "whiteboard" sketching and is also able to import from Visio.
It boils down to whether you know you'll just want to sketch, in which case you should get a tool which does that really really well (that last feature you mentioned is something I haven't seen in any UML tool). If on the other hand you know that you'll eventually want to turn the sketches into UML models, you need to consider whether you'll want to start over (which might be the easiest option, honestly) or have some sort of in-tool support to do that.
For "UML as a Sketch" I use the Hruby UML Stencil for Visio. These do not enforce eny semantics, so you can be as sketchy as you need to quickly record ideas and communicate.
See http://www.softwarestencils.com/uml/index.html
I use Dia. It is cross platform. Very simple tool.
However, My favorite has always been to sketch it on paper and scan (fotopragh it on my mobile) and keep it for records. Nothing beats pen and paper yet !
I tried yEd recently, because I happened to see it mentioned in another thread here. I'm quite impressed with it. Its pretty easy to use. I think the feature I liked the most is that I can draw my diagram regardless of the spacing and orientation. Then 1 button and poof, the whole things rearranges into the ordering I want.
As a linux diagramming tool, im pretty impressed with it.
this one is good for remote team members.
Nothing to install
http://www.dabbleboard.com/
I've used Visio for so long IMHO nothing beats it.
That said, I rarely use Visio in meetings to take initial notes. We'll diagram on whiteboards (get someone else to do the diagramming while you "facilitate") and then I take pictures of the result. Transcribing the photos to a Visio diagram helps me think it through.

High-level programming language for music composition [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I would like to write an interactive song. It would contain state and logic. A listener/user should be able to modify some state vars using a GUI or a MIDI interface. Listener accessible vars don't have to directly represent tempo, pitch or any other music property. They would rather represent values that logic would process in order to make changes to the song.
Do I have to write such platform myself or something fitting my imagination already exists?
Look at cSounds and PureData.
If you are happy to use Java, check out JFugue.
I have tried PureData, CSound and SuperCollider.
CSound is very cumbersome to program in, and has had severe stability issues for my requirements (24bit/96kHz realtime low latency linux) in version 4.
PureData is graphical, which makes it even harder to keep code neat and tidy then with text files. Composing is a pain because you have to build your own composition GUI, which can be powerful, but as long as I'm my only user I find it's just faster to use text.
The winner hands down is SuperCollider, because it is a smalltalk inspired object oriented language which is quite pleasant to work with. It is split into an OSC controlled sound server, and the client language. I can recommend the sound synthesis server and using the language to create instruments without reservation for its excellent stability, great flexibility and incredible power. I've used it live on stage and the performance is incredibly good.
The score creation language suffers from many-hands syndrome; in lack of recent clear leadership there are too many ways to do too many things with too many limitations, but it is still better than CSound because at least you can use reasonable high level structures.
Still looking for a composition language that just gets it right.
Have a look at Strasheela:
It's a composition system based on the programming language Oz. Learning Oz isn't easy, as it it combines the functional and the logic programming paradigm. However if you liked the SICP book, then you will probably like it too.
Strasheela treats music composition as a Constraint Statisfaction Problem (CSP), and seeks "solutions" for it. It means that the music style is defined as mathematical constraints on integer numbers (finite domain), that must be statisfied, and the built-in constraint solving system computes the solutions "automatically".
P.S.: I cannot program in Oz, but I'm on my way of learning it.
See High level languages for Computer Music and Programming Languages used for music for help.
I am not sure if it covers what you are after for, but have a look at Java Sound API. For a FAQ about what it can do see here. The benefits are that is already bundled in the SDK and JRE and that is cross platform. Also, you could build the GUI using any Java toolkit.
If it weren't for the interactive bits, I'd suggest looking at Haskore or Nyquist, both effectively being DSLs for music generation.
Definitely take a look at Alex McLean's livecoding demos, though. It's more flexible and interactive as you can possibly imagine, using SuperCollider through OpenSoundControl.
Answer is for .NET:
I found something, checkout NAudio by Mark Heath, a great .NET music library I would say it should be contained in the BCL.
midi-dot-net is another great C# project by Tom Lokovic.
For music interaction, PureData, Max/MSP and OpenMusic (these two last are from IRCAM) are the best. PureData is freeware. Google them!
I don't really get what you want to do, but here is a list of some CL music software, both for composition and cognition: http://www.cliki.net/Music
You're looking for an Audio Programming Language. Another option you should consider is Processing - used by many artists and musicians for this type of work.
-Adam
Its a shame that none said about Chuck................
Chuck is a programming language that is specifically built for music/audio generation and composition.
You can download Chuck at http://chuck.stanford.edu
its a lot easier to use,and is a lot familiar to c,c++,java etc,however its easier to learn too.You can find at Coursera about chuck for free from California arts university,link here.

Resources