I, Gilbert and Sachin met up today on the IRC. We talked about how exactly will we implement the Reference Frames - that is - how the data regarding position and orientation will be stored. Here's the conclusion we reached:
1. The vector module will have a RefFrame class that supports positioning and orienting frames while Sachin will separately implement time support for a time variable. 2. For positioning and orienting the reference frames : we will store the position/orientation with respect to a '*0 reference'* - which effectively means that we aren't saving what frame we are positioning/orienting against. 3. Finding out relative position is a trivial task under such an implementation. The problem comes with finding proper relative orientation between two frames, as I shall describe in point 4. 4. We will save a direction cosine matrix (dcm) that stores the orientation of each frame with respect to the zero reference. Then, going from one frame to other, the dcm matrices will follow such an order: *frame_A -> global (zero reference) -> frame_B. *The problem with this is that many expressions might not decompose/collapse as they should in this matrix. 5. To address this problem of collapsability, we have decided to do some research. Since the elements of the matrix will be only terms involving sines and cosines, therefore, we will try to investigate ways by which we can ensure that the expressions collapse properly. Should we achieve a consistent result with these methods, we will proceed with above mentioned scheme. 6. There were some other ideas too, involving storing DCMs into cache - but that will come later; we first need to make sure that the expressions collapse. But this will also be researched in the time tomorrow by me and Sachin. There were other ideas that we discussed but I have refrained from adding them here so as to not dilute the content. The discussion was carried on the IRC so the logs are available. The three of us will meet at 9:30 pm (Indian time) tomorrow again. Hopefully, Stefan will be able to join us as well. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.