On 6 May 2013 18:28, stephane ducasse <stephane.ducasse(a)free.fr> wrote:
* Point 1: wasting cycles to do conversion
--------------------------------------------------------
ROPharoCanvas>>line: aPoint to: aPoint2 width: aSmallInteger color: aColor
nativeCanvas line: (self virtualToRealPoint: aPoint) to: (self virtualToRealPoint:
aPoint2) width: aSmallInteger color: aColor.
wasting cycles to convert from your local coordinate space into global one on every
single operation is not a good idea. Guess why :)
Athens provides the user-space coordinate system for geometry by default.. so that you
don't have to maintain it by yourself.
So if you want a real system these points should be addressed ;)
Maintaining virtual coordinates is essential for zooming and scrolling the whole view.
? I do not get why.
Athens has indeed fast primitives to do this. We
will probably consider using them this once Athens will be part of Pharo.
I do not understand why you insist on saying that.
Even if Athens would not be part of Pharo Moose should use it!
I do not get why you want to wait that 3.0 is out. Because may be we should all wait that
igor leave RMoD do give him feedback.
Yes, having more real users of Athens is really good from all sides of
view: it will help a lot
for polishing and delivering quality. And making sure that Athens
suits your needs.
Because if you wait until "final & golden" version will be released,
you may discover that
it is quite far from your interpretation of what "golden" is.. and to
ensure that it is the same,
the best way is to participate and give feedback.
Right now Athens takes 2 lines to load in Pharo3.0.
* Point
2: missing transformation matrix
-----------------------------------------------------
You don't even have a transformation as a concept.. and instead of simple and
straightforward affine matrix which people
learn in schools today: a Camera
[ ... ]
see this #virtualToRealPoint: calls?
Athens provides this for free. Do not do it the hard way: (do not transform poor vector
multiple times to get there.)
Athens do it for you using math:
(v * M1) * M2 = v * (M1*M2)
We thought about using matrixes. And the nice things is to be able to do rotation, thing
that we cannot do right now in Roassal because we do not have matrixes. We are wondering
whether we should wait for Athens to be part of Roassal to use matrix or doing it our way.
Use Athens because igor is much better than us on vector graphics and Athens has all
that.
I'm not better than anyone else who can do linear algebra. The math
involved there is
very simple.. no rockets , no science. Yes, i learned a lot about
different stuff..
but i am not inventing anything new.. Athens is about bringing
_existing_ tech into our little world.
And all information is available on web, in dozens forms:
- tutorials, lectures, papers , demos, frameworks, pick yours..
Now, guess , how much time it took me to do what you see on screenshot?
--
Best regards,
Igor Stasenko.