Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Penrose currently seems to be a very limited work in progress. Such comparison will have to wait.

However, in the few Penrose examples shown, all the positioning seems to be done completely automatically, which is incredibly difficult to make work in all but the simplest and most standardised situations. In TikZ most positioning is manual, which takes more effort, but which I think is likely to produce better results in general.



Yes, automatic positioning is the goal, and one of the key differences vs. TikZ (the other being a separation of substance--the math--from style--the graphical representation). It's difficult, which is why there is real graphics research in the project.

Penrose enables the user to tweak the diagram manually after it is produced. Constraint solving continues to apply during the tweaking so that if you grab a shape, then things attached to it will move as well. Our goal is to get end results as good as, or better than, TikZ, while staying at a higher level of abstraction.


How deterministic will the results be? One advantage of programmatic systems is that because they don't try to be smart, you know exactly what you're going to get, and e.g. upgrading the system won't move things.

Another is that tracking changes with version control systems is easy and clear. Does Penrose have a canonical textual format that changes minimally as tweaks are made?

TikZ styles do let you separate substance and style fairly well (though lay users are unlikely to take full advantage).


We could make things deterministic by fixing the algorithms and a random seed, and/or by fully constraining every object in the diagram so randomness is not used. But that isn't using the real strengths of Penrose, so we expect it to be a secondary use case at best.

One way to think about the goal of Penrose is that you will get a result that is predictably good, and you can constrain it to get a diagram of a particular shape if you want to, or alternatively leave it open and have the solver show you 3 good diagrams...then you can pick one and tweak it further (aided by constraint solving as you tweak) to make it great. The problem with drawing-tool style systems is that you have to adjust the location of every label (for example); that's the kind of thing that should be solved for you. TikZ doesn't have a rich constraint language and solver, so in many circumstances you're left with a choice between doing lots of things manually or getting a poor-quality diagram.

Penrose will have a canonical textual format, but as it is under active development, it wouldn't make sense to say it has a stable textual format now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: