OK, in your first post, you talked about "drawing," does that mean you have already had a built data set? Or you have only raw data to be built and draw? Also, drawing means you want to represent it in GUI? Or you are talking about how to build a diagram? If you are talking about drawing only, you may use Graphic2D to display the nodes and arrows. If you are talking about algorithm to build, it will be more difficult.
Actually I havent started my project yet, I am still researching and trying to find the right approach to implement it. My project is to design and implement a visual representation tool for ordered binary decision diagrams (OBDDs), and four of the basic algorithms reduce, restrict, apply, and exists. I am wondering how this binary decision diagrams will be represented usinh Java.
I will look into the Graphic2D thanks for that and also I found something called JavaBDD is that something different? or did you heard about it at all?
If you could find a tool to draw diagram for you, it would be great. The real problem is not the graphic to display a diagram, but it is the algorithm to arrange nodes and draw lines that has least possible to cross over other lines.
thank you so much, yes problem is t find a way to draw the diagram dynamically based on the given formula.. but at the moment i am just trying to learn how to draw this diagram manually using java2D. I am not sure if thats the best way to start?
If you are going to do it without any other tools, then I guess it is the way to go. I do not know a tool that help you draw a diagram in Java, but I am sure there are some out there. The problem is that if there is any that is open sources... :(
It could give you an idea, but it could be messy easily if your algorithm of arranging nodes are not well done. Think about lines crossing all over the place. There is a research paper done in an algorithm to find an empty space in a space. But that could be used just a part of finding a location for your node to be placed.
Anyway, you could try Java2D first and draw only a line from one to the other node. See how it works. Then add some Arcs to it and see how it works. You may find a way to draw it without having too many crossing lines. :)