8:24 PM
3 hours later…
11:23 PM
@HiggsBoson Well I don't know exactly the lower level of PSTricks (I do for TikZ up to an extent). But let's start from the different user levels.
Supoose we have the user input level. That is when we give some coordinates and nodes. (TikZ closely immitates the PSTricks code by the way only much clenaer with its own great key value system tailored for this)
So when a node is entered with a precise coordinate the input is parsed and moved a level down. Now we are at a level where package internal organs are at work (but yet the pdf or PS level ) Here, everything is a little relative. First of all, there is a certain transformation matrix that is applied to all points received by the engine.
The quickest example is the
scale=0.5
. I hope you will agree that this is somewhat weird to be able to scale everything with one command. How can one possibly keep track of every point to be able to scale?
Well the answer is that everything is internally multiplied by 0.5 at the parser-lower level coordinator.
So after user input is parsed and before it is shipped to the lowest level (that is directly telling PDF compiler what to do) the points curves etc. are modified by the coordinate transfomation.
So every point (x,y) is actually put into this formula. Default matrix is the identitiy matrix and the default shift is (0,0).
Here when you use
origin=(s1,s2)
this precisely goes to the last part of the formula. So every point is added to this one.
However, if you have fixed a point before applying this transformation. They are also inverse transformed to get to their original point. Because we don't want the previous commands getting effected by something that happened after them.
So the other ones are either hard coded such that they are not affected or simply inverse transformed.
Coming to your problem
\psnode[origin={A}]{A}(3);
. First PSTricks receives the command that it should shift the coordinates by {A}
and it does that. Then it says find the thing called {A} and make it the local origin of the node.
next day → last day (16 days later) »