In [2]:
from sympy import *
init_printing()
In [3]:
from IPython.display import display, Math, Latex
def pretty(f):
    display(Math(latex(f)))
In [4]:
from IPython.display import IFrame
IFrame('https://docs.google.com/document/d/1AFk3mNAZs_1b7oq4NBmK42lthr-1NzSGxx5RxCrRdlw/pub?embedded=true',width=500,height=460)
Out[4]:
In [5]:
r_turn,W,L,theta_inside, theta_outside= symbols('r_turn W L theta_inside theta_outside')
In [6]:
e1 = Eq(tan(theta_inside),(L/(r_turn-(W/2))))
pretty(e1)
$$\tan{\left (\theta_{inside} \right )} = \frac{L}{- \frac{W}{2} + r_{turn}}$$
In [7]:
e2=Eq(tan(theta_outside),(L/(r_turn+(W/2))))
pretty(e2)
$$\tan{\left (\theta_{outside} \right )} = \frac{L}{\frac{W}{2} + r_{turn}}$$
In [8]:
pretty(solve(e1,r_turn))
$$\left [ \frac{L}{\tan{\left (\theta_{inside} \right )}} + \frac{W}{2}\right ]$$
In [9]:
pretty(solve(e2,r_turn))
$$\left [ \frac{L}{\tan{\left (\theta_{outside} \right )}} - \frac{W}{2}\right ]$$
In [10]:
# use above equations to generate equations for turn radius r_turn and inside wheel angle theta_inside
f_r_turn, f_theta_inside = solve([e1,e2],[r_turn,theta_inside])[0]
pretty(Eq(r_turn,f_r_turn))
pretty(Eq(theta_inside,f_theta_inside))
$$r_{turn} = \frac{L}{\tan{\left (\theta_{outside} \right )}} - \frac{W}{2}$$
$$\theta_{inside} = \operatorname{atan}{\left (\frac{L \tan{\left (\theta_{outside} \right )}}{L - W \tan{\left (\theta_{outside} \right )}} \right )}$$
In [11]:
f_r_turn.subs({L:14,W:9,theta_outside:pi/4}).evalf(n=3)
Out[11]:
9.50
In [12]:
dr,l,x,y,r,theta,theta2,phi = symbols('dr l x y r theta theta2 phi')
In [13]:
p1 = Eq(l,r*cos(theta))
In [14]:
p2 = Eq(x,r*cos(phi)-l)
In [15]:
p3 = Eq(dr,r*sin(theta))
In [16]:
p4 = Eq(y,r*sin(phi)-dr)
In [17]:
#solve([p1,p2,p3,p4],[theta,phi,dr,r])
In [18]:
q1 = Eq(x,r*cos(phi)-r*cos(theta))
In [19]:
q2 = Eq(y,r*sin(phi)-r*sin(theta))
In [20]:
q3 = Eq(l,r*cos(theta))
In [21]:
#solve([q1,q3,q2],phi,r,theta)
In [22]:
e9 = Eq(x,l*cos(phi)/cos(theta)-l)
In [23]:
e10 = Eq(y,l*sin(phi)/cos(theta)-l*sin(theta)/cos(theta))
In [24]:
#solve([e9,e10],theta,phi)
In [25]:
import math
def radians(f):
    return float(f)*math.pi/180.


for i in range(360):
    print(e9.subs({theta:radians(30),phi:radians(30+i),l:40.}).evalf())
    print(e10.subs({theta:radians(30),phi:radians(30+i),l:40.}).evalf())
x == 0
y == 0
x == -0.409138255927246
y == 0.694578927793085
x == -0.830336271867033
y == 1.38191162071971
x == -1.26346574682345
y == 2.06178871058328
x == -1.70839474536263
y == 2.73400310023611
x == -2.16498773780148
y == 3.39835002666319
x == -2.63310564149138
y == 4.05462712335509
x == -3.11260586318411
y == 4.70263448195065
x == -3.60334234246714
y == 5.34217471313104
x == -4.10516559625498
y == 5.9730530067465
x == -4.61792276432329
y == 6.59507719115734
x == -5.14145765587145
y == 7.20805779177128
x == -5.67561079709992
y == 7.81180808875932
x == -6.22021947978741
y == 8.40614417393232
x == -6.77511781085345
y == 8.99088500676128
x == -7.34013676289096
y == 9.56585246952401
x == -7.91510422565369
y == 10.1308714215615
x == -8.49984505848266
y == 10.6857697526276
x == -9.09418114365566
y == 11.2303784353151
x == -9.69793144064369
y == 11.7645315765435
x == -10.3109120412576
y == 12.2880664680917
x == -10.9329362256685
y == 12.80082363616
x == -11.5638145192839
y == 13.3026468899478
x == -12.2033547504643
y == 13.7933833692309
x == -12.8513621090599
y == 14.2728835909236
x == -13.5076392057518
y == 14.7410014946135
x == -14.1719861321789
y == 15.1975944870523
x == -14.8442005218317
y == 15.6425234855915
x == -15.5240776116953
y == 16.0756529605479
x == -16.2114103046219
y == 16.4968509764877
x == -16.905989232415
y == 16.905989232415
x == -17.6076028196046
y == 17.3029431008535
x == -18.3160373478953
y == 17.6875916658096
x == -19.0310770212672
y == 18.0598177596043
x == -19.7525040317089
y == 18.4195079985635
x == -20.4800986255644
y == 18.7665528175561
x == -21.2136391704722
y == 19.1008465033682
x == -21.9529022228761
y == 19.4222872269048
x == -22.6976625960892
y == 19.7307770742077
x == -23.4476934288869
y == 20.026222076281
x == -24.2027662546121
y == 20.3085322377149
x == -24.9626510707673
y == 20.5776215640995
x == -25.7271164090764
y == 20.8334080882193
x == -26.4959294059919
y == 21.0758138950212
x == -27.2688558736271
y == 21.3047651453481
x == -28.0456603710926
y == 21.5201920984314
x == -28.8261062762134
y == 21.7220291331342
x == -29.6099558576064
y == 21.9102147679405
x == -30.3969703470957
y == 22.0846916796829
x == -31.186910012444
y == 22.245406721004
x == -31.9795342303768
y == 22.3923109365453
x == -32.774601559879
y == 22.5253595778596
x == -33.5718698157401
y == 22.6445121170419
x == -34.371096142326
y == 22.7497322590745
x == -35.1720370875554
y == 22.8409879528829
x == -35.9744486770574
y == 22.9182514010988
x == -36.7780864884888
y == 22.9814990685272
x == -37.5827057259872
y == 23.0307116893161
x == -38.3880612947383
y == 23.0658742728244
x == -39.1939078756342
y == 23.0869761081885
x == -40.0
y == 23.094010767585
x == -40.8060921243658
y == 23.0869761081885
x == -41.6119387052617
y == 23.0658742728244
x == -42.4172942740128
y == 23.0307116893161
x == -43.2219135115112
y == 22.9814990685272
x == -44.0255513229426
y == 22.9182514010988
x == -44.8279629124446
y == 22.8409879528829
x == -45.628903857674
y == 22.7497322590745
x == -46.4281301842599
y == 22.6445121170419
x == -47.225398440121
y == 22.5253595778596
x == -48.0204657696232
y == 22.3923109365453
x == -48.813089987556
y == 22.245406721004
x == -49.6030296529043
y == 22.0846916796829
x == -50.3900441423936
y == 21.9102147679405
x == -51.1738937237866
y == 21.7220291331342
x == -51.9543396289074
y == 21.5201920984314
x == -52.7311441263729
y == 21.3047651453481
x == -53.5040705940081
y == 21.0758138950212
x == -54.2728835909236
y == 20.8334080882193
x == -55.0373489292327
y == 20.5776215640996
x == -55.7972337453879
y == 20.3085322377149
x == -56.5523065711131
y == 20.026222076281
x == -57.3023374039108
y == 19.7307770742077
x == -58.0470977771239
y == 19.4222872269048
x == -58.7863608295278
y == 19.1008465033682
x == -59.5199013744356
y == 18.7665528175561
x == -60.2474959682911
y == 18.4195079985635
x == -60.9689229787328
y == 18.0598177596043
x == -61.6839626521047
y == 17.6875916658097
x == -62.3923971803954
y == 17.3029431008535
x == -63.094010767585
y == 16.905989232415
x == -63.7885896953781
y == 16.4968509764877
x == -64.4759223883047
y == 16.0756529605479
x == -65.1557994781683
y == 15.6425234855915
x == -65.8280138678211
y == 15.1975944870523
x == -66.4923607942482
y == 14.7410014946135
x == -67.1486378909401
y == 14.2728835909236
x == -67.7966452495357
y == 13.7933833692309
x == -68.4361854807161
y == 13.3026468899478
x == -69.0670637743315
y == 12.80082363616
x == -69.6890879587424
y == 12.2880664680917
x == -70.3020685593563
y == 11.7645315765435
x == -70.9058188563443
y == 11.2303784353151
x == -71.5001549415173
y == 10.6857697526276
x == -72.0848957743463
y == 10.1308714215615
x == -72.659863237109
y == 9.56585246952402
x == -73.2248821891466
y == 8.99088500676127
x == -73.7797805202126
y == 8.40614417393232
x == -74.3243892029001
y == 7.81180808875932
x == -74.8585423441286
y == 7.20805779177128
x == -75.3820772356767
y == 6.59507719115735
x == -75.894834403745
y == 5.97305300674652
x == -76.3966576575329
y == 5.34217471313105
x == -76.8873941368159
y == 4.70263448195064
x == -77.3668943585086
y == 4.0546271233551
x == -77.8350122621985
y == 3.39835002666321
x == -78.2916052546374
y == 2.73400310023611
x == -78.7365342531766
y == 2.06178871058328
x == -79.169663728133
y == 1.38191162071971
x == -79.5908617440728
y == 0.694578927793096
x == -80.0
y == 0
x == -80.3969538684385
y == -0.701613587189588
x == -80.7816024333947
y == -1.41004811548035
x == -81.1538285271893
y == -2.12508778885222
x == -81.5135187661486
y == -2.84651479929393
x == -81.8605635851411
y == -3.57410939314946
x == -82.1948572709532
y == -4.30764993805718
x == -82.5162979944899
y == -5.04691299046113
x == -82.8247878417928
y == -5.79167336367418
x == -83.120232843866
y == -6.54170419647196
x == -83.4025430052999
y == -7.29677702219708
x == -83.6716323316845
y == -8.05666183835229
x == -83.9274188558044
y == -8.82112717666143
x == -84.1698246626062
y == -9.58994017357687
x == -84.3987759129332
y == -10.3628666412121
x == -84.6142028660164
y == -11.1396711386776
x == -84.8160399007192
y == -11.9201170437984
x == -85.0042255355255
y == -12.7039666251914
x == -85.1787024472679
y == -13.4909811146807
x == -85.339417488589
y == -14.280920780029
x == -85.4863217041303
y == -15.0735449979618
x == -85.6193703454446
y == -15.868612327464
x == -85.7385228846269
y == -16.6658805833251
x == -85.8437430266596
y == -17.465106909911
x == -85.9349987204679
y == -18.2660478551404
x == -86.0122621686838
y == -19.0684594446424
x == -86.0755098361122
y == -19.8720972560738
x == -86.1247224569011
y == -20.6767164935722
x == -86.1598850404094
y == -21.4820720623233
x == -86.1809868757736
y == -22.2879186432192
x == -86.1880215351701
y == -23.094010767585
x == -86.1809868757736
y == -23.9001028919508
x == -86.1598850404094
y == -24.7059494728467
x == -86.1247224569011
y == -25.5113050415978
x == -86.0755098361122
y == -26.3159242790962
x == -86.0122621686838
y == -27.1195620905276
x == -85.9349987204679
y == -27.9219736800296
x == -85.8437430266596
y == -28.722914625259
x == -85.7385228846269
y == -29.5221409518449
x == -85.6193703454446
y == -30.319409207706
x == -85.4863217041303
y == -31.1144765372082
x == -85.339417488589
y == -31.907100755141
x == -85.1787024472679
y == -32.6970404204893
x == -85.0042255355255
y == -33.4840549099787
x == -84.8160399007192
y == -34.2679044913716
x == -84.6142028660164
y == -35.0483503964924
x == -84.3987759129332
y == -35.8251548939579
x == -84.1698246626062
y == -36.5980813615932
x == -83.9274188558044
y == -37.3668943585086
x == -83.6716323316845
y == -38.1313596968178
x == -83.4025430052999
y == -38.891244512973
x == -83.120232843866
y == -39.6463173386981
x == -82.8247878417928
y == -40.3963481714959
x == -82.5162979944899
y == -41.1411085447089
x == -82.1948572709532
y == -41.8803715971128
x == -81.8605635851411
y == -42.6139121420206
x == -81.5135187661486
y == -43.3415067358761
x == -81.1538285271894
y == -44.0629337463178
x == -80.7816024333947
y == -44.7779734196897
x == -80.3969538684385
y == -45.4864079479805
x == -80.0
y == -46.1880215351701
x == -79.5908617440728
y == -46.8826004629631
x == -79.169663728133
y == -47.5699331558898
x == -78.7365342531766
y == -48.2498102457533
x == -78.2916052546374
y == -48.9220246354061
x == -77.8350122621985
y == -49.5863715618332
x == -77.3668943585086
y == -50.2426486585251
x == -76.8873941368159
y == -50.8906560171207
x == -76.3966576575329
y == -51.5301962483011
x == -75.894834403745
y == -52.1610745419166
x == -75.3820772356767
y == -52.7830987263274
x == -74.8585423441286
y == -53.3960793269413
x == -74.3243892029001
y == -53.9998296239294
x == -73.7797805202126
y == -54.5941657091024
x == -73.2248821891465
y == -55.1789065419313
x == -72.6598632371091
y == -55.7538740046941
x == -72.0848957743463
y == -56.3188929567316
x == -71.5001549415174
y == -56.8737912877976
x == -70.9058188563444
y == -57.4183999704851
x == -70.3020685593563
y == -57.9525531117136
x == -69.6890879587424
y == -58.4760880032617
x == -69.0670637743315
y == -58.98884517133
x == -68.4361854807161
y == -59.4906684251179
x == -67.7966452495357
y == -59.9814049044009
x == -67.1486378909401
y == -60.4609051260936
x == -66.4923607942482
y == -60.9290230297835
x == -65.8280138678211
y == -61.3856160222224
x == -65.1557994781683
y == -61.8305450207616
x == -64.4759223883048
y == -62.263674495718
x == -63.7885896953781
y == -62.6848725116578
x == -63.094010767585
y == -63.094010767585
x == -62.3923971803954
y == -63.4909646360236
x == -61.6839626521047
y == -63.8756132009797
x == -60.9689229787328
y == -64.2478392947744
x == -60.2474959682911
y == -64.6075295337336
x == -59.5199013744356
y == -64.9545743527261
x == -58.7863608295278
y == -65.2888680385383
x == -58.0470977771239
y == -65.6103087620749
x == -57.3023374039109
y == -65.9187986093778
x == -56.5523065711131
y == -66.214243611451
x == -55.797233745388
y == -66.4965537728849
x == -55.0373489292327
y == -66.7656430992696
x == -54.2728835909236
y == -67.0214296233894
x == -53.5040705940082
y == -67.2638354301912
x == -52.7311441263729
y == -67.4927866805182
x == -51.9543396289074
y == -67.7082136336014
x == -51.1738937237866
y == -67.9100506683042
x == -50.3900441423937
y == -68.0982363031105
x == -49.6030296529043
y == -68.272713214853
x == -48.813089987556
y == -68.4334282561741
x == -48.0204657696232
y == -68.5803324717153
x == -47.225398440121
y == -68.7133811130296
x == -46.4281301842599
y == -68.8325336522119
x == -45.628903857674
y == -68.9377537942446
x == -44.8279629124446
y == -69.029009488053
x == -44.0255513229426
y == -69.1062729362688
x == -43.2219135115112
y == -69.1695206036973
x == -42.4172942740128
y == -69.2187332244861
x == -41.6119387052617
y == -69.2538958079944
x == -40.8060921243658
y == -69.2749976433586
x == -40.0
y == -69.2820323027551
x == -39.1939078756342
y == -69.2749976433586
x == -38.3880612947383
y == -69.2538958079944
x == -37.5827057259872
y == -69.2187332244861
x == -36.7780864884888
y == -69.1695206036973
x == -35.9744486770574
y == -69.1062729362688
x == -35.1720370875554
y == -69.029009488053
x == -34.371096142326
y == -68.9377537942446
x == -33.5718698157401
y == -68.8325336522119
x == -32.774601559879
y == -68.7133811130296
x == -31.9795342303768
y == -68.5803324717153
x == -31.186910012444
y == -68.4334282561741
x == -30.3969703470957
y == -68.272713214853
x == -29.6099558576064
y == -68.0982363031105
x == -28.8261062762134
y == -67.9100506683042
x == -28.0456603710926
y == -67.7082136336014
x == -27.2688558736271
y == -67.4927866805182
x == -26.4959294059919
y == -67.2638354301912
x == -25.7271164090764
y == -67.0214296233894
x == -24.9626510707673
y == -66.7656430992696
x == -24.2027662546121
y == -66.496553772885
x == -23.447693428887
y == -66.2142436114511
x == -22.6976625960892
y == -65.9187986093778
x == -21.9529022228761
y == -65.6103087620749
x == -21.2136391704721
y == -65.2888680385383
x == -20.4800986255644
y == -64.9545743527261
x == -19.7525040317089
y == -64.6075295337336
x == -19.0310770212672
y == -64.2478392947744
x == -18.3160373478954
y == -63.8756132009797
x == -17.6076028196046
y == -63.4909646360236
x == -16.905989232415
y == -63.094010767585
x == -16.2114103046219
y == -62.6848725116578
x == -15.5240776116953
y == -62.263674495718
x == -14.8442005218317
y == -61.8305450207616
x == -14.1719861321789
y == -61.3856160222224
x == -13.5076392057518
y == -60.9290230297836
x == -12.8513621090599
y == -60.4609051260937
x == -12.2033547504643
y == -59.9814049044009
x == -11.5638145192839
y == -59.4906684251179
x == -10.9329362256685
y == -58.98884517133
x == -10.3109120412576
y == -58.4760880032617
x == -9.6979314406437
y == -57.9525531117136
x == -9.09418114365568
y == -57.4183999704851
x == -8.49984505848268
y == -56.8737912877976
x == -7.91510422565373
y == -56.3188929567316
x == -7.34013676289097
y == -55.7538740046941
x == -6.77511781085346
y == -55.1789065419313
x == -6.22021947978741
y == -54.5941657091024
x == -5.67561079709992
y == -53.9998296239294
x == -5.14145765587146
y == -53.3960793269413
x == -4.6179227643233
y == -52.7830987263274
x == -4.10516559625501
y == -52.1610745419166
x == -3.60334234246716
y == -51.5301962483011
x == -3.11260586318411
y == -50.8906560171207
x == -2.63310564149138
y == -50.2426486585252
x == -2.16498773780148
y == -49.5863715618333
x == -1.70839474536264
y == -48.9220246354062
x == -1.26346574682345
y == -48.2498102457533
x == -0.830336271867054
y == -47.5699331558898
x == -0.409138255927253
y == -46.8826004629632
x == -1.4210854715202e-14
y == -46.1880215351701
x == 0.396953868438544
y == -45.4864079479805
x == 0.781602433394674
y == -44.7779734196897
x == 1.15382852718935
y == -44.0629337463178
x == 1.51351876614856
y == -43.3415067358761
x == 1.86056358514109
y == -42.6139121420206
x == 2.19485727095324
y == -41.8803715971129
x == 2.51629799448985
y == -41.1411085447089
x == 2.82478784179276
y == -40.3963481714959
x == 3.12023284386599
y == -39.6463173386981
x == 3.40254300529993
y == -38.891244512973
x == 3.67163233168455
y == -38.1313596968178
x == 3.92741885580436
y == -37.3668943585086
x == 4.16982466260624
y == -36.5980813615932
x == 4.39877591293316
y == -35.8251548939579
x == 4.61420286601642
y == -35.0483503964924
x == 4.8160399007192
y == -34.2679044913716
x == 5.00422553552549
y == -33.4840549099787
x == 5.17870244726793
y == -32.6970404204893
x == 5.33941748858903
y == -31.907100755141
x == 5.4863217041303
y == -31.1144765372083
x == 5.6193703454446
y == -30.319409207706
x == 5.73852288462692
y == -29.5221409518449
x == 5.84374302665955
y == -28.722914625259
x == 5.93499872046795
y == -27.9219736800296
x == 6.01226216868378
y == -27.1195620905276
x == 6.07550983611223
y == -26.3159242790962
x == 6.12472245690111
y == -25.5113050415979
x == 6.15988504040941
y == -24.7059494728467
x == 6.18098687577355
y == -23.9001028919509
x == 6.18802153517006
y == -23.094010767585
x == 6.18098687577355
y == -22.2879186432193
x == 6.15988504040941
y == -21.4820720623233
x == 6.12472245690111
y == -20.6767164935722
x == 6.07550983611223
y == -19.8720972560739
x == 6.01226216868378
y == -19.0684594446424
x == 5.93499872046795
y == -18.2660478551404
x == 5.84374302665955
y == -17.465106909911
x == 5.73852288462692
y == -16.6658805833252
x == 5.61937034544461
y == -15.868612327464
x == 5.4863217041303
y == -15.0735449979618
x == 5.33941748858903
y == -14.280920780029
x == 5.17870244726795
y == -13.4909811146808
x == 5.00422553552549
y == -12.7039666251914
x == 4.81603990071919
y == -11.9201170437984
x == 4.61420286601643
y == -11.1396711386777
x == 4.39877591293316
y == -10.3628666412121
x == 4.16982466260623
y == -9.58994017357688
x == 3.92741885580437
y == -8.82112717666144
x == 3.67163233168458
y == -8.05666183835232
x == 3.40254300529993
y == -7.29677702219708
x == 3.12023284386602
y == -6.54170419647199
x == 2.82478784179276
y == -5.79167336367419
x == 2.5162979944899
y == -5.0469129904612
x == 2.19485727095324
y == -4.30764993805721
x == 1.8605635851411
y == -3.57410939314946
x == 1.51351876614856
y == -2.84651479929393
x == 1.15382852718934
y == -2.12508778885219
x == 0.781602433394696
y == -1.41004811548038
x == 0.396953868438544
y == -0.701613587189584
In [28]:
solution = solve([e9,e10],theta,phi)
In [27]:
pretty(solve([e9,e10],theta,phi))
$$\left [ \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad - \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )} + \pi\right ), \quad \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )}\right ), \quad \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad - \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )} + \pi\right ), \quad \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )}\right )\right ]$$
In [30]:
pretty(simplify(solution))
$$\left [ \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad - \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )} + \pi\right ), \quad \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y - \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )}\right ), \quad \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad - \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )} + \pi\right ), \quad \left ( 2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )}, \quad \operatorname{asin}{\left (\sin{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} + \frac{y}{l} \cos{\left (2 \operatorname{atan}{\left (\frac{1}{2 l x + x^{2} + y^{2}} \left(2 l y + \sqrt{4 l^{2} x^{2} + 4 l^{2} y^{2} + 4 l x^{3} + 4 l x y^{2} + x^{4} + 2 x^{2} y^{2} + y^{4}}\right) \right )} \right )} \right )}\right )\right ]$$
In [44]:
for i in range(2):
    for j in range(2):
        print(solution[i][j].subs({l:10,y:.1,x:2}).evalf(n=3))
-1.53
4.66
-1.53
-1.52
In [ ]: