They describe the location of the board (the blue rectangle) in relation to its "normal" position by a rotation about an angle of phi and a translation of x and y.
On Saturday, June 11, 2016 at 5:40:26 PM UTC+2, Jason Moore wrote: > > Where are phi, x, y on the diagram? > > > Jason > moorepants.info > +01 530-601-9791 > > On Sat, Jun 11, 2016 at 6:35 AM, <janosc...@gmail.com <javascript:>> > wrote: > >> I guess its hard to get from my description, so i uploaded a drawing to >> visualize the physical problem: http://pasteboard.co/1Bvt53hY.png >> >> Thanks for your interest! >> >> >> >> On Saturday, June 11, 2016 at 3:13:52 PM UTC+2, janosc...@gmail.com >> wrote: >>> >>> >>> Physically, the rows of A are three points fixed on a movable board. >>> >>> These points run freely in three linear bearings which are placed on a >>> fixed base. >>> >>> The linear bearings are described in hesse normal form in the rows of >>> matrix C. >>> >>> The robust motion matrix B is the transformation which transforms points >>> on the board to points in the base. >>> >>> So together my constraint D = (A * B) * C means >>> - Transform the points in A from the board to the base: A * B >>> - Compute the distance from the linear bearings: * C >>> - Claim that the distances are zero and solve for the motion >>> >>> I am aware that there are some other approaches to tackle this problem, >>> but i was not able to get a grip on them such that i could formulate them >>> in code. >>> >>> >>> >>> On Saturday, June 11, 2016 at 1:50:25 PM UTC+2, brombo wrote: >>>> >>>> Physically what are all the matrices. Do A and C also describe >>>> rotations. Please give the actual physics problem as well as the >>>> resulting >>>> math. >>>> >>>> On Sat, Jun 11, 2016 at 6:37 AM, <janosc...@gmail.com> wrote: >>>> >>>>> My description was a little compressed, so i had to clean up the code >>>>> to match my description again ... >>>>> The code is available here: http://pastebin.com/MMW3B88h >>>>> I hope its readable for you. >>>>> >>>>> >>>>> >>>>> Am Donnerstag, 9. Juni 2016 20:24:35 UTC+2 schrieb Jason Moore: >>>>>> >>>>>> Can you please share the code so we can see what you are doing? >>>>>> >>>>>> >>>>>> Jason >>>>>> moorepants.info >>>>>> +01 530-601-9791 >>>>>> >>>>>> On Wed, Jun 8, 2016 at 11:58 PM, <janosc...@gmail.com> wrote: >>>>>> >>>>>>> I am trying to solve a system of equations with sympy that arises >>>>>>> from a constraint of the form: >>>>>>> >>>>>>> (A x B) x C = D >>>>>>> >>>>>>> where >>>>>>> >>>>>>> * A, B, C and D are 3x3 matrices >>>>>>> * the diagonal of D should be zero >>>>>>> * B is a "rigid motion 2D" transformation, with elements cos(phi), >>>>>>> +-sin(phi), x and y >>>>>>> * A and C are fully filled with (supposedly known) values >>>>>>> * I want to solve for phi, x and y >>>>>>> >>>>>>> This gives me four equations: >>>>>>> >>>>>>> * one for each diagonal element in D >>>>>>> * one additional (quadratic) equation sin^2(phi) + cos^2(phi) = 1 >>>>>>> >>>>>>> When feeding those to equations directly to sympy, this takes some >>>>>>> hours and then breaks with an out of memory message. >>>>>>> >>>>>>> My next approach was to help sympy by guiding the solution step by >>>>>>> step (*). >>>>>>> >>>>>>> * First i took two of the linear equations and let sympy solve for x >>>>>>> and y (works great) >>>>>>> * Instead of having cos(phi) and sin(phi) in the B matrix, i >>>>>>> introduced new symbols cosphi and sinphi >>>>>>> * Then i took the resulting expressions for x and y, and solve with >>>>>>> the third linear equation for the cosphi element (works too) >>>>>>> * Finally i tried to solve the quadratic equation for sinphi by >>>>>>> inserting the just gathered cosphi expression >>>>>>> * The last step was not feasible without transforming the expression >>>>>>> to a polynom in sinphi and by replacing all coefficient expressions by >>>>>>> new >>>>>>> symbols, then it worked >>>>>>> >>>>>>> The resulting expressions for x, y and phi (written as python >>>>>>> expressions) are about 3 MB (!) of text. >>>>>>> >>>>>>> This does not seem to be adequate to the problem, and when >>>>>>> converting to a theano function i get "maximum recursion depth >>>>>>> exceeded". >>>>>>> When i look at the expressions they are very repetitive, so i tried >>>>>>> CSE, which brings it down to about 30 KB, but they are still very >>>>>>> repetitive and full of patterns. >>>>>>> >>>>>>> I suspect that the resulting expressions actually just perform some >>>>>>> matrix operations, so probably there would be an efficient way to >>>>>>> compute >>>>>>> the solution if only one could get back to matrix expressions. >>>>>>> I tried to guess what the appropriate matrix operations are, but >>>>>>> without success (**). And this feels of course very wrong and backwards. >>>>>>> >>>>>>> Is there some obvious approach to such problems that i missed? Is >>>>>>> the problem actually that hard? >>>>>>> >>>>>>> I am aiming for a mostly automated solution process without steps >>>>>>> like (*) and (**), because i have a hand full of very similar problems >>>>>>> ahead ... >>>>>>> Any hint appreciated! >>>>>>> >>>>>>> -- >>>>>>> Best regards >>>>>>> Janosch >>>>>>> >>>>>>> -- >>>>>>> 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+un...@googlegroups.com. >>>>>>> To post to this group, send email to sy...@googlegroups.com. >>>>>>> Visit this group at https://groups.google.com/group/sympy. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/sympy/8555837f-d87d-484c-b882-2d8f7085d3b2%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/sympy/8555837f-d87d-484c-b882-2d8f7085d3b2%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>> 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+un...@googlegroups.com. >>>>> To post to this group, send email to sy...@googlegroups.com. >>>>> Visit this group at https://groups.google.com/group/sympy. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/sympy/ccde273d-ee0e-46bc-a822-7d1b9ff88f7e%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/sympy/ccde273d-ee0e-46bc-a822-7d1b9ff88f7e%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >> 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+un...@googlegroups.com <javascript:>. >> To post to this group, send email to sy...@googlegroups.com <javascript:> >> . >> Visit this group at https://groups.google.com/group/sympy. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sympy/f68853ca-2a1f-4ef1-a371-340602cbd63d%40googlegroups.com >> >> <https://groups.google.com/d/msgid/sympy/f68853ca-2a1f-4ef1-a371-340602cbd63d%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/16628e82-8a37-4ce4-8840-e6bcabcb7d20%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.