CERCLES-02 kitcircle := S = (1/4)*a*b*c/R, e = sqrt(-a^2*c^2+c^4-b^2*c^2-a^2*b^2+a^4+b^4)/sqrt(a^2*b^2+a^2*c^2+b^2*c^2), {cos(omega) = (1/2)*(a^2+b^2+c^2)/sqrt(a^2*b^2+a^2*c^2+b^2*c^2), sin(omega) = (1/2)*a*b*c/(R*sqrt(a^2*b^2+a^2*c^2+b^2*c^2))}, r = (1/2)*c*b*a/((a+b+c)*R), s = (1/2)*a+(1/2)*b+(1/2)*c; NicvSSJTRzYiLCQqKkkiYUdGJSIiIkkiYkdGJUYpSSJjR0YlRilJIlJHRiUhIiIjRikiIiUvSSJlR0YlKiYsLiomRigiIiNGK0Y1Ri0qJEYrRi9GKSomRipGNUYrRjVGLSomRihGNUYqRjVGLSokRihGL0YpKiRGKkYvRikjRilGNSwoRjhGKUY0RilGN0YpI0YtRjU8JC8tSSRjb3NHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRiU2I0kmb21lZ2FHRiUsJComLCgqJEYoRjVGKSokRipGNUYpKiRGK0Y1RilGKUY8Rj1GOy8tSSRzaW5HRkJGRSwkKixGKEYpRipGKUYrRilGLEYtRjxGPUY7L0kickdGJSwkKixGK0YpRipGKUYoRiksKEYoRilGKkYpRitGKUYtRixGLUY7L0kic0dGJSwoRihGO0YqRjtGK0Y7 WW1:= sqrt(a^2*b^2+a^2*c^2+b^2*c^2); WW2:= sqrt(-a^2*c^2+c^4-b^2*c^2-a^2*b^2+a^4+b^4); WW3:= sqrt(a^6-a^4*b^2-a^4*c^2-a^2*b^4+3*a^2*b^2*c^2-a^2*c^4+b^6-b^4*c^2-b^2*c^4+c^6); WW4:= sqrt(b^3-b^2*c-b*c^2+c^3-a*b^2+3*a*b*c-a*c^2-a^2*b-a^2*c+a^3); KiQsKComSSJhRzYiIiIjSSJiR0YmRiciIiIqJkYlRidJImNHRiZGJ0YpKiZGKEYnRitGJ0YpI0YpRic= KiQsLiomSSJhRzYiIiIjSSJjR0YmRichIiIqJEYoIiIlIiIiKiZJImJHRiZGJ0YoRidGKSomRiVGJ0YuRidGKSokRiVGK0YsKiRGLkYrRiwjRixGJw== KiQsNiokSSJhRzYiIiInIiIiKiZGJSIiJUkiYkdGJiIiIyEiIiomRiVGKkkiY0dGJkYsRi0qJkYlRixGK0YqRi0qKEYlRixGK0YsRi9GLCIiJComRiVGLEYvRipGLSokRitGJ0YoKiZGK0YqRi9GLEYtKiZGL0YqRitGLEYtKiRGL0YnRigjRihGLA== KiQsNiokSSJiRzYiIiIkIiIiKiZJImNHRiZGKEYlIiIjISIiKiZGJUYoRipGK0YsKiRGKkYnRigqJkkiYUdGJkYoRiVGK0YsKihGMEYoRiVGKEYqRihGJyomRjBGKEYqRitGLComRiVGKEYwRitGLComRipGKEYwRitGLCokRjBGJ0YoI0YoRis=
<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Equation cercle (d\303\251terminant \303\240 la Kimberling)</Font></Text-field> circ:= proc (x, y) options operator, arrow; [y^2+x^2, x, y, 1] end proc; Zio2JEkieEc2IkkieUdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlNyYsJiokOSUiIiMiIiIqJDkkRi5GL0YxRi1GL0YlRiVGJQ== Le principe du d\303\251terminant Matrix([circ(xi,eta), seq(circ(xi[j],eta[j]), j=1..3)]); #latexx(0), latexz(%); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKW9ydkM= matri:= Matrix([za,zb,zc]); mafac:= Diag(x+y+z,p1+q1+r1,p2+q2+r2,p3+q3+r3); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKWttUWQ= LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKHM1ZyY= magic:= Matrix(map( circ@op@bary2proj, [px,pp1,pp2,pp3])); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKStpYkI= SubMatrix(magic,1..4,2..4); FActor(mafac.%. (1/matri)); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKXdoKT4m LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKSlbcj0j matri4:= DiagonalMatrix([1, matri]); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKU9KUmI= tmp:= FActor(mafac.magic. (1/matri4)); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKVdMZj8= Row(tmp,1); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSRyb3dHRig2Iy9JJCVpZEdGKCIpP3olZSU= tmp[1,1]*(x+y+z): collect(%, px, distributed); LC4qJiwmKiRJI3liRzYiIiIjIiIiKiRJI3hiR0YnRihGKUYpSSJ5R0YnRihGKSomLCYqJEkjeWNHRidGKEYpKiRJI3hjR0YnRihGKUYpSSJ6R0YnRihGKSomLCYqJEkjeWFHRidGKEYpKiRJI3hhR0YnRihGKUYpSSJ4R0YnRihGKSooLCYqJkYwRilGJkYpRigqJkYyRilGK0YpRihGKUYsRilGM0YpRikqKCwmKiZGOUYpRjJGKUYoKiZGN0YpRjBGKUYoRilGOkYpRjNGKUYpKigsJiomRiZGKUY3RilGKComRitGKUY5RilGKEYpRjpGKUYsRilGKQ== finafac:= <<-1, +ya^2+xa^2, yb^2+xb^2, yc^2+xc^2> | <<0|0|0>, mun>>; FActor(tmp.%): map(factor@simplify, collect(%, px, distributed), rule123); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKUspb2Ii LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKWN3ISlb FActor(mafac.magic. (1/matri4).finafac): (FActor@simplify)(%, rule123): subs(seq(seq( cat(k,j)=k[j], j=[1,2,3]), k=[p,q,r]), %); # latexx(mafac), latexy(matri4), latexy(finafac), latexz(%); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKWtzI1Ej
<Text-field style="Heading 1" layout="Heading 1">Equation cercle par centre et rayon</Text-field> basique : pythagore -pytha(pp,px)+rho2: tmp:= collect(%*(x+y+z)^2, rho2, factor); LCYqJkklcmhvMkc2IiIiIiwoSSJ4R0YlRiZJInlHRiVGJkkiekdGJUYmIiIjRiYqJixmcCosSSJjR0YlRitGKUYmSSJwR0YlRiZJInFHRiVGJkYqRiZGJioqSSJhR0YlRitGMUYmRipGK0YwRiYhIiIqKkYzRitGKEYmRjFGK0YqRiZGNCoqRjNGK0YoRitGMUYmSSJyR0YlRiZGJioqRjNGK0Y3RitGKUYmRihGJkY0KipGM0YrRilGJkYwRitGKkYmRiYqKkYzRitGKUYrRjBGJkY3RiZGNCoqSSJiR0YlRitGN0YrRilGJkYoRiZGNCoqRjxGK0YoRiZGMUYrRipGJkYmKipGPEYrRihGK0YxRiZGN0YmRjQqKEYvRitGKUYrRjBGK0Y0KihGL0YrRihGK0YxRitGNCosRi9GK0YoRiZGMUYmRipGJkYwRiZGJiosRi9GK0YxRiZGKkYmRjdGJkYoRiZGNCosRi9GK0YoRiZGMUYmRjdGJkYpRiZGJiosRi9GK0Y3RiZGKUYmRipGJkYwRiZGNCosRi9GK0YpRiZGMEYmRihGJkYxRiZGKyosRi9GK0YpRiZGMEYmRjdGJkYoRiZGJioqRi9GK0Y3RitGKUYmRihGJkYmKipGL0YrRilGJkYwRitGKkYmRjQqKkY8RitGMUYmRipGK0YwRiZGNCoqRjxGK0YpRiZGMEYrRipGJkY0KipGPEYrRilGK0YwRiZGN0YmRiYqKkYvRitGMUYmRipGK0YwRiZGJioqRi9GK0YoRiZGMUYrRipGJkY0KipGL0YrRihGK0YxRiZGN0YmRjQqKkYvRitGKUYrRjBGJkY3RiZGNCooRjNGK0Y3RitGKUYrRjQqKEYzRitGMUYrRipGK0Y0KixGM0YrRihGJkYxRiZGN0YmRilGJkYmKixGM0YrRihGJkYxRiZGKkYmRjBGJkY0KixGM0YrRjdGJkYpRiZGKkYmRjBGJkYmKixGM0YrRjdGJkYpRiZGMUYmRipGJkYrKixGM0YrRilGJkYwRiZGN0YmRihGJkY0KixGM0YrRilGJkYwRiZGMUYmRipGJkYmKihGPEYrRjdGK0YoRitGNCosRjNGK0YxRiZGKkYmRjdGJkYoRiZGJiosRjxGK0YoRiZGMUYmRjdGJkYpRiZGNCosRjxGK0YoRiZGMUYmRipGJkYwRiZGJiosRjxGK0Y3RiZGKUYmRipGJkYwRiZGJiosRjxGK0YpRiZGMEYmRjdGJkYoRiZGJiosRjxGK0YpRiZGMEYmRjFGJkYqRiZGNCooRjxGK0YqRitGMEYrRjQqLEY8RitGN0YmRihGJkYqRiZGMEYmRisqLEY8RitGMUYmRipGJkY3RiZGKEYmRiZGJiwoRjBGJkYxRiZGN0YmISIjRiY= -k*tmp+rho2*(x+y+z)^2+eqcircum(px)-(x+y+z)*ps(pu,px): {coeffs(expand(%), px)}: eli:= (factor@eliminate)(%, {k,u,v, w}); NyQ8Ji9JImtHNiIiIiIvSSJ1R0YmLCQqJiwsKihJInJHRiZGJ0kiYUdGJiIiI0kicUdGJkYnRicqKEkiY0dGJkYwRjFGJ0YuRichIiIqKEkiYkdGJkYwRjFGJ0YuRidGNComRjZGMEYuRjBGNComRjNGMEYxRjBGNEYnLChJInBHRiZGJ0YxRidGLkYnISIjRjQvSSJ2R0YmKiYsLCooRi9GMEY6RidGLkYnRicqKEY6RidGNkYwRi5GJ0Y0KihGM0YwRjpGJ0YuRidGJyomRjNGMEY6RjBGJyomRi9GMEYuRjBGJ0YnRjlGOy9JIndHRiYqJiwsKiZGL0YwRjFGMEYnKihGL0YwRjFGJ0Y6RidGJyooRjpGJ0YzRjBGMUYnRjQqJkY2RjBGOkYwRicqKEY2RjBGMUYnRjpGJ0YnRidGOUY7PCI= pp2uu:= unapply(subs(eli[1], pu), p,q,r)@OP; LUkiQEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYlZio2JUkicEdGJ0kicUdGJ0kickdGJ0YnNiRJKW9wZXJhdG9yR0YnSSZhcnJvd0dGJ0YnNyUsJComLCwqKEkiYUdGJyIiIzklIiIiOSZGOUY5KihJImNHRidGN0Y4RjlGOkY5ISIiKihJImJHRidGN0Y4RjlGOkY5Rj0qJkY/RjdGOkY3Rj0qJkY8RjdGOEY3Rj1GOSwoOSRGOUY4RjlGOkY5ISIjRj0qJiwsKihGNkY3RkNGOUY6RjlGOSooRj9GN0Y6RjlGQ0Y5Rj0qKEY8RjdGQ0Y5RjpGOUY5KiZGPEY3RkNGN0Y5KiZGNkY3RjpGN0Y5RjlGQkZEKiYsLComRjZGN0Y4RjdGOSooRjZGN0Y4RjlGQ0Y5RjkqKEY8RjdGOEY5RkNGOUY9KiZGP0Y3RkNGN0Y5KihGP0Y3RjhGOUZDRjlGOUY5RkJGREYnRidGJ0kjb3BHRiVmKjYjSSJVR0YnRidGLkYnLUkoY29udmVydEdGJTYkRkNJJWxpc3RHRiVGJ0YnRic= eq_dou:= eqcircum(px)+rho2*(x+y+z)^2-ps(pu,px)*(x+y+z); LCwqKEkiYUc2IiIiI0kieUdGJSIiIkkiekdGJUYoRigqKEkiYkdGJUYmRilGKEkieEdGJUYoRigqKEkiY0dGJUYmRidGKEYsRihGKComSSVyaG8yR0YlRigsKEYsRihGJ0YoRilGKEYmRigqJkYxRigsKComSSJ1R0YlRihGLEYoRigqJkkidkdGJUYoRidGKEYoKiZJIndHRiVGKEYpRihGKEYoISIi test ok factor(subs(zipq(pu, pp2uu(pp)), eq_dou)-tmp);; #latexx(0),latexy(eq_dou), latexz(pp2uu(pp)); IiIh wolf:= (l*alpha+m*beta+n*gamma)*(a*alpha+b*beta+c*gamma)+(a*beta*gamma+b*gamma*alpha+c*alpha*beta):subs(alpha=x/a, beta=y/b, gamma=z/c, %): eq_wolf:= xcollect(%*a*b*c, [x+y+z], factor); LCoqJiwoKipJImxHNiIiIiJJInhHRidGKEkiYkdGJ0YoSSJjR0YnRihGKCoqSSJtR0YnRihJInlHRidGKEkiYUdGJ0YoRitGKEYoKipJIm5HRidGKEkiekdGJ0YoRi9GKEYqRihGKEYoLChGKUYoRi5GKEYyRihGKEYoKihGKyIiI0YpRihGLkYoRigqKEYqRjVGKUYoRjJGKEYoKihGL0Y1Ri5GKEYyRihGKA== R\303\250gle de calcul subs(zipq(px,pa), eq_wolf)/b/c; SSJsRzYi (eq_dou-eq_wolf)/(x+y+z): collect(factor(%), [x,y,z]): solve({coeffs}(%, px),{l,m,n}): subs(%, [l,m,n]); NyUqKCwmSSJ1RzYiISIiSSVyaG8yR0YmIiIiRilJImJHRiZGJ0kiY0dGJkYnKigsJkkidkdGJkYnRihGKUYpSSJhR0YmRidGK0YnKigsJkYoRilJIndHRiZGJ0YpRi9GJ0YqRic=
<Text-field style="Heading 1" layout="Heading 1">condilou, elimination des pp2uu</Text-field> evalms(pp2uu(pp)-pu): eli:= eliminate(%, {p,q}): tmp:= select(has,op(eli[2]),{v}); KiYsZm4qKEkidUc2IiIiIkkiY0dGJiIiI0kid0dGJkYnISIkKihJInZHRiZGJ0YlRidGKEYpISIiKihGLUYnRipGJ0kiYUdGJkYpRi4qKEYqRidGJUYnSSJiR0YmRilGLiooRjJGKUYtRidGKkYnRicqKEYwRilGMkYpRiVGJ0YrKihGJUYnRjJGKUYtRidGKyooRihGKUYwRilGJUYnRisqJkYyIiIlRiVGJ0YpKihGJUYnRjJGKUYoRilGOComRiVGJ0YwRjhGJyomRiVGKUYwRilGLiomRihGKUYqRilGJyooRipGJ0YwRilGKEYpRicqKEYqRidGMkYpRihGKUYrKiZGKEY4RiVGJ0YpKihGMEYpRjJGKUYoRilGLiomRjJGOEYoRilGKSomRihGOEYyRilGKSooRihGKUYtRidGMkYpRisqJkYqRidGKEY4Ri4qJkYyRilGLUYpRicqJkYtRidGMkY4Ri4qKEYlRidGMEYpRi1GJ0YnKihGKkYnRjBGKUYlRidGJyooRi1GJ0YoRilGKkYnRicqKEYwRilGLUYnRjJGKUYnKiZGKEYpRiVGKUYpKiZGMkYpRiVGKUYpRicsTkYkRi5GLEYnRi9GJ0YxRidGM0YuRjRGLkY1Ri5GNkYuRjpGJ0Y7RidGPEYnRj1GLkY+Ri5GQEYnRkNGLkZERidGRUYnRkZGJ0ZHRi5GSEYuRklGLkZKRi5GJw== (factor@subs)(zipq(pu,pp2uu(pp)), op(1,tmp)); (factor@subs)(zipq(pu,pp2uu(pp)), op(2,tmp)); collect(op(2,tmp), pu, factor, distributed): condilou:= xcollect(%,[rot3(a^2+b^2-c^2)]); LCQqKiwoKiRJImJHNiIiIiMhIiIqJEkiY0dGJ0YoRikqJEkiYUdGJ0YoIiIiRi4sKiomRi1GKEkicUdGJ0YuRi4qJkYxRi5GJkYoRikqJkYrRihGMUYuRikqJkkickdGJ0YuRiZGKCEiI0YuLCpGM0Y2KiZGNUYuRi1GKEYuRjRGKSomRjVGLkYrRihGKUYuLChJInBHRidGLkYxRi5GNUYuRjZGNg== IiIh LDAqJiwmKiZJImNHNiIiIiNJIndHRiciIiIhIiIqJkkidUdGJ0YqSSJ2R0YnRipGK0YqLCgqJEkiYUdGJ0YoRioqJEkiYkdGJ0YoRioqJEYmRihGK0YqRioqJiwmKiZGLUYqRjFGKEYrKiZGLkYqRilGKkYrRiosKEYyRipGNEYqRjBGK0YqRioqJiwmKiZGM0YoRi5GKkYrKiZGKUYqRi1GKkYrRiosKEY0RipGMEYqRjJGK0YqRioqKEYxRihGM0YoRiZGKEYqKiZGLUYoRjFGKEYqKiZGJkYoRilGKEYqKiZGM0YoRi5GKEYq evalms(pp2uu(pp)-k*pp2uu(px)): eliq:= [eliminate](%, {k,p,q});; NyQ3JDwlL0kia0c2IiIiIi9JInBHRicqKEkieEdGJ0YoSSJ6R0YnISIiSSJyR0YnRigvSSJxR0YnKihJInlHRidGKEYtRi5GL0YoPCI3JDwlL0YmKiwsLiokRiwiIiNGKComRixGKEYzRihGOyomRixGKEYtRihGOyokRjNGO0YoKiZGM0YoRi1GKEY7KiRGLUY7RihGKEkiYUdGJ0Y7SSJiR0YnRjtJImNHRidGOyxGKihGM0YoRi1GKEZBIiInRigqKkZBIiIlRkNGO0YzRihGLUYoISIjKipGQUZIRjNGKEYtRihGQkY7RkkqKkZBRkhGQ0Y7RjNGKEYsRihGKCoqRkFGSEZCRjtGLUYoRixGKEYoKipGQUY7RkNGO0ZCRjtGM0Y7RigqKkZBRjtGLUYoRkJGSEYzRihGKCoqRkFGO0YtRihGQ0ZIRjNGKEYoKipGQUY7RixGKEYzRihGQ0ZIRkkqKkZBRjtGLUY7RkNGO0ZCRjtGKCoqRkFGO0YtRihGLEYoRkJGSEZJKipGQUY7RkNGO0ZCRjtGLEY7RigqKEYsRihGQ0ZGRjNGKEYoKipGLEYoRjNGKEZDRkhGQkY7RkkqKkZCRkhGQ0Y7RjNGKEYsRihGKCooRi1GKEZCRkZGLEYoRigqKkYtRihGLEYoRkJGSEZDRjtGSSoqRi1GKEYsRihGQ0ZIRkJGO0YoRi4vRiosJCosLDIqKEZBRkhGM0YoRi1GKEYoKipGLEYoRkJGO0ZBRjtGLUYoRigqKkZCRjtGQUY7RjNGKEYtRihGLioqRkFGO0YtRihGQ0Y7RjNGKEYuKipGLEYoRkNGO0YzRihGQUY7RigqKEYtRihGLEYoRkJGSEYuKihGQ0Y7RixGO0ZCRjtGKCooRkNGSEYzRihGLEYoRi5GKEZBRjtGL0YoRkNGSSwyRmhuRigqKEZCRjtGQUY7Ri1GO0YuRltvRi5GXG9GKCoqRixGKEZCRjtGM0YoRkNGO0YoRl1vRigqKkYsRihGQkY7RkNGO0YtRihGLkZfb0YuRi5GLi9GMSosRi9GKEZCRjssMkZobkYoKihGQ0Y7RjNGO0ZBRjtGLkZqbkYuRmluRihGYm9GLkZjb0YoRl1vRi5GX29GKEYoRkNGSUZgb0YuRjQ= (reduce@subs)(eliq[1][1], pp); NyVJInhHNiJJInlHRiRJInpHRiQ= (reduce@subs)(eliq[2][1], pp): collect(%, px, distributed); lequi:= unapply(%,x,y,z)@OP: NyUsKioqSSJhRzYiIiIjSSJjR0YmRidJImJHRiZGJ0kieEdGJkYnISIiKiosJiomRiVGJ0YoRiciIiIqJEYoIiIlRitGL0YlRidGKkYvSSJ5R0YmRi9GKyoqLCYqJkYlRidGKUYnRi8qJEYpRjFGK0YvRiVGJ0kiekdGJkYvRipGL0YrKiosKCokRiVGMUYvRjVGK0YuRitGL0YlRidGN0YvRjJGL0YrLCoqKkYpRicsJiomRilGJ0YoRidGK0YwRi9GL0YqRi9GMkYvRi8qKkYpRicsKEY+Ri9GNUYvRjZGK0YvRjdGL0YqRi9GLyoqRiVGJ0YoRidGKUYnRjJGJ0YrKipGKUYnLCZGOkYvRjVGK0YvRjdGL0YyRi9GLywqKipGKEYnLChGLkYvRj5GL0YwRitGL0YqRi9GMkYvRi8qKkYoRicsJkY2Ri9GPkYrRi9GN0YvRipGL0YvKipGKEYnLCZGOkYvRi5GK0YvRjdGL0YyRi9GLyoqRiVGJ0Y3RidGKEYnRilGJ0Yr
<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Quelles sont les coniques qui s'\303\251crivent ainsi</Font></Text-field> eq_dou-k*evalm(px &* mm &* px); {coeffs}(expand(%), px) union {condilou}; eli:= eliminate(%, {k,u,v,w,rho2}): LC4qKEkiYUc2IiIiI0kieUdGJSIiIkkiekdGJUYoRigqKEkiYkdGJUYmRilGKEkieEdGJUYoRigqKEkiY0dGJUYmRidGKEYsRihGKComSSVyaG8yR0YlRigsKEYsRihGJ0YoRilGKEYmRigqJkYxRigsKComSSJ1R0YlRihGLEYoRigqJkkidkdGJUYoRidGKEYoKiZJIndHRiVGKEYpRihGKEYoISIiKiZJImtHRiVGKCwoKiYsKComRixGKEkkbTExR0YlRihGKComRidGKEkkbTEyR0YlRihGKComRilGKEkkbTEzR0YlRihGKEYoRixGKEYoKiYsKComRixGKEZDRihGKComRidGKEkkbTIyR0YlRihGKComRilGKEkkbTIzR0YlRihGKEYoRidGKEYoKiYsKComRixGKEZFRihGKComRidGKEZMRihGKComRilGKEkkbTMzR0YlRihGKEYoRilGKEYoRihGOg== PCksKEklcmhvMkc2IiIiIiomSSJrR0YlRiZJJG0xMUdGJUYmISIiSSJ1R0YlRiosKEYkRiYqJkYoRiZJJG0zM0dGJUYmRipJIndHRiVGKiwoSSJ2R0YlRipGJEYmKiZGKEYmSSRtMjJHRiVGJkYqLCxGJCIiIyomRihGJkkkbTIzR0YlRiYhIiNGMUYqRi9GKiokSSJhR0YlRjVGJiwsRi9GKkYrRioqJkYoRiZJJG0xM0dGJUYmRjgqJEkiYkdGJUY1RiZGJEY1LCwqJEkiY0dGJUY1RiYqJkYoRiZJJG0xMkdGJUYmRjhGK0YqRiRGNUYxRiosMComLCYqJkZCRjVGL0YmRioqJkYrRiZGMUYmRipGJiwoRjlGJkY+RiZGQUYqRiZGJiomLCYqJkYrRiZGOkY1RioqJkYxRiZGL0YmRipGJiwoRj5GJkZBRiZGOUYqRiZGJiomLCYqJkY/RjVGMUYmRioqJkYvRiZGK0YmRipGJiwoRkFGJkY5RiZGPkYqRiZGJiooRjpGNUY/RjVGQkY1RiYqJkYrRjVGOkY1RiYqJkZCRjVGL0Y1RiYqJkY/RjVGMUY1RiY= collect(eli[2], [m11,m22,m33]); condicir:= subs(AAA=%, BBB= eli[1], proc(MM) zipq(mm,MM): subs(%, AAA), subs(%,BBB) end): PCQsLComSSRtMTFHNiIiIiJJImFHRiYiIiNGJyomSSJiR0YmRilJJG0yMkdGJkYnISIiKiYsJiokRihGKUYnKiRGK0YpRi1GJ0kkbTMzR0YmRidGJyomRitGKUkkbTIzR0YmRidGKSomSSRtMTNHRiZGJ0YoRikhIiMsLComLCZGMEYnKiRJImNHRiZGKUYtRidGLEYnRicqJkkkbTEyR0YmRidGKEYpRjcqJkY8RilGNEYnRilGJEYnKiZGPEYpRjJGJ0Yt (eq2mm@eqcircum)(px); tmpa,tmpb:= condicir(%): tmpa; subs(apbpc, factor(tmpb)); subs(%, pu), subs(%,rho2); (simplify@subs)(%%, eq_dou); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKWtHXzw= PCMiIiE= PCcvSSJrRzYiIiIiL0klcmhvMkdGJSokSSJSR0YlIiIjL0kidUdGJUYpL0kidkdGJUYpL0kid0dGJUYp NiQ3JSokSSJSRzYiIiIjRiRGJEYk LCgqKEkiYUc2IiIiI0kieUdGJSIiIkkiekdGJUYoRigqKEkiYkdGJUYmRilGKEkieEdGJUYoRigqKEkiY0dGJUYmRidGKEYsRihGKA== eq2mm(eqincircle); tmpa, tmpb:= condicir(%): factor(tmpa); LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKT96ZD4= PCMiIiE= factor(tmpb): uu_in:= subs(%, pu): %, (factor@subs)(%%, isolate(defR2, b+a-c), rho2); NiQ3JSwkKiosKEkiYkc2IiEiIkkiY0dGKEYpSSJhR0YoIiIiRixGJ0YsRipGLCwoRitGLEYnRixGKkYsRilGKSoqLChGK0YsRipGLEYnRilGLEYrRixGKkYsRi1GKSoqLChGJ0YsRitGLEYqRilGLEYrRixGJ0YsRi1GKSwkKixGKyIiI0YnRjRGKkY0Ri0hIiNJIlJHRihGNSNGLCIiJQ== bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2+eqn2): tmq:= (reduce@factor@evalmm)(%):; collect(tmq[1]/rotp(1), px, factor, distributed); invcircum:= unapply([rot3](%), x,y,z)@OP: # simplify(%%, a2toAA): collect(%, px, factor, distributed); LC4qLilJImJHNiIiIiMiIiIpSSJjR0YmRidGKCwoKiZGJUYoRipGKEYoKiRGJEYoRigqJEYpRihGKEYoLChGLkYoRiwhIiJGLUYoRigpSSJhR0YmRidGKClJInhHRiZGJ0YoRigqLEYpRigsMioqRidGKEYxRihGJEYoRilGKEYwKiYpRiUiIiVGKEYpRihGMCokKUYlIiInRihGKComRilGKClGMkY6RihGKComKUYqRjpGKEYxRihGMComRiRGKEZBRihGMComRiRGKEY/RihGKComRjlGKEYxRihGMEYoRjFGKEY0RihJInlHRiZGKEYoKixGJEYoLDIqJClGKkY9RihGKEZERjBGQEYwRjhGMEZDRihGQkYwRj5GKEY3RjBGKEYxRihJInpHRiZGKEY0RihGKCoqRj9GKEYpRigsKiooRidGKEYkRihGKUYoRjAqJkYxRihGJEYoRjAqJkYxRihGKUYoRjAqJEY/RihGKEYoKUZFRidGKEYwKiopRjJGPUYoRkxGKEZKRihGRUYoRigqKkY/RihGJEYoRkxGKClGSkYnRihGMA== subs(ency_, tmq); funinv:= unapply(reduce(%),x,y,z)@op; NyUsLiomIitLIW9GbyQiIiIpSSJ6RzYiIiIjRiZGJiomIixXZ0RhUyNGJilJInhHRilGKkYmRiYqJiIrbyoqeiRvKEYmKUkieUdGKUYqRiZGJiooIisjeiZ5TztGJkYyRiZGKEYmISIiKigiLGNmWTAkSEYmRi5GJkYyRiZGNSooIitjPl8/OkYmRi5GJkYoRiZGNSwuKiYiK19iUVlfRiZGJ0YmRiYqJiIsM2InKUdZI0YmRi1GJkYmKiYiLGsmbz1yPEYmRjFGJkYmKigiKy8jelJWJUYmRjJGJkYoRiZGJiooIix3YFc/WSVGJkYuRiZGMkYmRjUqKCIsI1xuViE9IkYmRi5GJkYoRiZGNSwuKiYiKyNceCozYEYmRidGJkYmKiYiKydmSiZRb0YmRi1GJkY1KiYiK3d0TVJJRiZGMUYmRjUqKCIrZzU5OHVGJkYyRiZGKEYmRiYqKCIsL3Uvb1UiRiZGLkYmRjJGJkYmKigiLD9iTVYrIkYmRi5GJkYoRiZGJg== LUkiQEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYkZio2JUkieEdGJ0kieUdGJ0kiekdGJ0YnNiRJKW9wZXJhdG9yR0YnSSZhcnJvd0dGJ0YnNyUsLiomIiozP3A/KiIiIilGLSIiI0Y1RjUqJiIrNlNjOGdGNSlGK0Y3RjVGNSomIisjKipcNCM+RjUpRixGN0Y1RjUqKCIqW2s+NCVGNUYsRjVGLUY1ISIiKigiKypbbWpLKEY1RixGNUYrRjVGQCooIioqW0ksUUY1Ri1GNUYrRjVGQCwuKiYiKylRJ2Y2OEY1RjZGNUY1KiYiK3hqQGRoRjVGOkY1RjUqJiIrVHInelUlRjVGPUY1RjUqKCIrLFtcMzZGNUYsRjVGLUY1RjUqKCIsVzg2YjYiRjVGLEY1RitGNUZAKigiK3Q9NF5IRjVGLUY1RitGNUZALC4qJiIrdFZDRjhGNUY2RjVGNSomIisqKkdqNDxGNUY6RjVGQComIipXbyQpZihGNUY9RjVGQCooIitsX0dgPUY1RixGNUYtRjVGNSooIitePSxuTkY1RixGNUYrRjVGNSooIishUU8zXiNGNUYtRjVGK0Y1RjVGJ0YnRidJI29wR0Yl
<Text-field style="Heading 1" layout="Heading 1"><Font encoding="UTF-8">Quels sont les points o\303\271 arrive un pp2uu ?</Font></Text-field> Une coordonn\303\251e \303\240 la fois evalms(pp2uu(pp)-k*pu); eli:= eliminate(%, {k,p}): nops([%]); PCUsJiomLCwqJkkiYUc2IiIiI0kicUdGKEYpIiIiKihGJ0YpRipGK0kicEdGKEYrRisqKEYtRitJImNHRihGKUYqRishIiIqJkkiYkdGKEYpRi1GKUYrKihGMkYpRipGK0YtRitGK0YrLChGLUYrRipGK0kickdGKEYrISIjRisqJkkia0dGKEYrSSJ3R0YoRitGMCwmKiYsLCooRidGKUYtRitGNUYrRisqKEYtRitGMkYpRjVGK0YwKihGL0YpRi1GK0Y1RitGKyomRi9GKUYtRilGKyomRidGKUY1RilGK0YrRjRGNkYrKiZGOEYrSSJ2R0YoRitGMCwmKiYsLCooRjVGK0YnRilGKkYrRisqKEYvRilGKkYrRjVGK0YwKihGMkYpRipGK0Y1RitGMComRjJGKUY1RilGMComRi9GKUYqRilGMEYrRjRGNkYwKiZGOEYrSSJ1R0YoRitGMA== IiIi collect(op(eli[2]), q); delta:= factor(discrim(%, q)/r^2); indets(%); conilou:= select(has,%%, a^4); LDoqJiw2KihJInVHNiIiIiJJImNHRiciIidJInZHRidGKEYoKipGJkYoSSJiR0YnIiIlRikiIiNGK0YoRigqKEkiYUdGJ0YuRiZGL0YpRi8hIiIqKEYtRi5GKUYvRitGL0YyKipGKUYuRitGKEYxRi9GJkYoISIjKipGMUYvRiZGKEYpRi5JIndHRidGKEYvKiZGKUYqRjdGL0YyKipGLUYvRilGLkYrRihGN0YoRi8qKkYxRi5GK0YoRiZGKEYpRi9GKCoqRiZGKEYpRi5GK0YoRi1GL0Y1RihJInFHRidGL0YoKiYsTioqRjFGL0kickdGJ0YoRiZGL0YpRi5GMioqRjFGL0YpRi5GN0YvRkBGKEYoKixGQEYoRiZGKEYtRi9GKUYuRjdGKEY1KipGLUYuRilGL0YrRi9GQEYoRjIqKkYxRi9GQEYoRiZGL0YtRi5GMiosRjFGLkYmRihGLUYvRkBGKEYrRihGMiosRkBGKEYmRihGLUYuRilGL0Y3RihGKCosRiZGKEYpRi5GK0YoRi1GL0ZARihGKCoqRjFGLkYmRi9GLUYvRkBGKEYoKipGMUYvRkBGKEYtRi5GK0YvRigqLkYxRi9GLUYvRilGL0YrRihGN0YoRkBGKEY1KipGMUYuRiZGL0ZARihGKUYvRigqLEYxRi5GJkYoRilGL0Y3RihGQEYoRjIqLEYtRi9GKUYuRitGKEY3RihGQEYoRi8qKEZARihGLUYqRitGL0YyKixGMUYvRilGL0YmRi9GQEYoRi1GL0YvKixGJkYoRi1GLkYpRi9GQEYoRitGKEY1KipGQEYoRiZGKEYpRipGN0YoRigqKkZARihGJkYoRi1GKkYrRihGKCosRkBGKEYtRi5GKUYvRjdGKEYrRihGLyooRilGKkY3Ri9GQEYoRjIqKkZARihGLUYvRilGLkY3Ri9GMkYoRjxGKEYoKixGMUYvRiZGKEYtRi5GQEYvRitGKEYvKixGN0YoRi1GLkZARi9GMUYvRiZGKEY1KipGQEYvRjdGKEYtRipGJkYoRigqKkYtRi9GKUYuRjdGL0ZARi9GMiosRiZGKEYtRi5GQEYvRilGL0Y3RihGNSosRjFGLkZARi9GN0YoRiZGKEYtRi9GKCoqRjFGLkYmRi9GLUYvRkBGL0YyKihGLUYqRkBGL0YrRi9GMiosRi1GLkYpRi9GN0YoRkBGL0YrRihGLyosRiZGKEYtRi9GKUYuRjdGKEZARi9GKA== Ki4sKiomSSJiRzYiIiIjSSJ2R0YmIiIiISIiKiZJInVHRiZGKUYlRidGKSomSSJjR0YmRidJIndHRiZGKUYpKiZGLEYpRi5GJ0YqRicsKEYlRilJImFHRiZGKUYuRipGKSwoRjJGKUYlRilGLkYpRiksKEYyRilGLkYpRiVGKkYpLChGJUYqRi5GKkYyRilGKSwuKiZGLEYnRjIiIiVGKSoqRjJGJ0YsRilGJUYnRihGKSEiIyoqRjJGJ0YsRilGLkYnRi9GKUY6KipGJUYnRihGKUYuRidGL0YpRjoqJkYlRjhGKEYnRikqJkYuRjhGL0YnRilGKQ== PChJImFHNiJJImJHRiRJImNHRiRJInVHRiRJInZHRiRJIndHRiQ= LC4qJkkidUc2IiIiI0kiYUdGJSIiJSIiIioqRidGJkYkRilJImJHRiVGJkkidkdGJUYpISIjKipGJ0YmRiRGKUkiY0dGJUYmSSJ3R0YlRilGLSoqRitGJkYsRilGL0YmRjBGKUYtKiZGK0YoRixGJkYpKiZGL0YoRjBGJkYp inconic, perspecteur 76, centre 141 coni_in(pp)-subs(zipq(pu,px),conilou): {coeffs}(%, px); solve(%, {p,q,r}): subs(%, pp); ency(%); (reduce@barymul)(%%, complem(%%)); ency(%); PCgsJiokSSJiRzYiIiIlISIiKiRJInFHRiYhIiMiIiIsJiokSSJwR0YmRitGLCokSSJhR0YmRidGKCwmKiRJInJHRiZGK0YsKiRJImNHRiZGJ0YoLCYqJkYxIiIjRjZGOUY5KiZGL0YoRjRGKEYrLCYqJkYvRihGKkYoRisqJkYxRjlGJUY5RjksJiomRjRGKEYqRihGKyomRiVGOUY2RjlGOQ== NyUqJEkiYUc2IiEiIyokSSJiR0YlRiYqJEkiY0dGJUYm IiN3 NyUsJiokSSJiRzYiIiIjIiIiKiRJImNHRiZGJ0YoLCZGKUYoKiRJImFHRiZGJ0YoLCZGLEYoRiRGKA== IiRUIg== Les contacts de l'ellipse sont les pp2uu des sommets pp2uu(pa), pp2uu(pb), pp2uu(pc); NiU3JSIiISokSSJjRzYiIiIjKiRJImJHRidGKDclRiVGJCokSSJhR0YnRig3JUYpRixGJA== (numer@pp2uu)(px)[1]; discrim(%, y); LCwqKEkiYUc2IiIiI0kieUdGJSIiIkkiekdGJUYoISIiKihJImNHRiVGJkYnRihGKUYoRigqKEkiYkdGJUYmRidGKEYpRihGKComRi5GJkYpRiZGKComRidGJkYsRiZGKA== KiZJInpHNiIiIiMsLiomSSJiR0YkRiVJImNHRiRGJSEiIyomSSJhR0YkRiVGKEYlRioqJkYsRiVGKUYlRioqJEYsIiIlIiIiKiRGKUYvRjAqJEYoRi9GMEYw Les points \303\240 l'infini donneraient.... le centre de gravit\303\251 (reduce@pp2uu)(pp): (reduce@factor@subs)(zipq(pp, prm_inf(pdr)),%); NyUiIiJGI0Yj Il faut conilou n\303\251gatif pour que q soit r\303\251el solq:= factor([solve](op(eli[2]), {q})): subs(apbpc, conilou=-con^2, solq): solqq:= simplify(%) assuming a>0,b>0,c>0,R>0, con>0, -b^2*v+u*b^2+c^2*w-u*c^2 >0: Test de conjugaison factor(subs(solqq[1],q/r)+subs(solqq[2],q/r)): indets(%); PChJImFHNiJJImJHRiRJImNHRiRJInVHRiRJInZHRiRJIndHRiQ= defR2; LyokSSJSRzYiIiIjLCQqMEkiYUdGJUYmSSJiR0YlRiZJImNHRiVGJiwoRioiIiJGKUYtRishIiJGLiwoRilGLUYqRi1GK0YtRi4sKEYpRi1GK0YtRipGLkYuLChGKkYuRitGLkYpRi1GLkYu (factor@subs)(eli[1], solqq[1], pp): (factor@subs)(con^2=-conilou, collect(%, con)): tmp:= (expand@reduce)(%): (reduce@factor@subs)(con^2=-conilou, defR2, tmp): tmp1:= collect(%, con, factor): collect(add(k, k=tmp1), con, factor): tmp2:= expand(evalmm(subs(con=-con, %)*tmp1)): tmp3:= (reduce@factor@subs)(con^2=-conilou, defR2, tmp2): Et on a enfin une \303\251quation sym\303\251trique tmp4:= collect(tmp3, [con,R], U-> collect(U, pu, factor, distributed)); factor(rot(tmp4[1])/tmp4[2]); NyUsLiooLCgqJiwoKiRJImFHNiIiIiMiIiIqJEkiYkdGKkYrRiwqJEkiY0dGKkYrISIiRixJInZHRipGLEYsKiZJInVHRipGLEYpRishIiMqJiwoRi9GLEYoRixGLUYxRixJIndHRipGLEYsRixJIlJHRipGLEkkY29uR0YqRixGLCouRilGLEYuRixGMEYsRjhGLCwoRi1GMUYoRitGL0YxRixGMkYsRiwqKkYpRixGLkYsRjAiIiRGOEYrRiwqKkYpRixGLkY+RjBGLEYyRitGLCosRilGPkY0RixGLkYsRjBGLEY4RixGMSosRilGPkY0RixGLkYsRjBGLEYyRixGMSwuKigsKComRi5GK0YyRixGNSomRidGLEY0RixGLComLChGLUYsRi9GLEYoRjFGLEY4RixGLEYsRjlGLEY6RixGLCosRilGLEYuRj5GMkYsRjBGLEY4RixGMUY9RiwqKkYpRj5GLkYsRjBGLEY0RitGLCouRilGLEYuRixGMEYsLChGLUY1RihGLEYvRixGLEY4RixGNEYsRjEqLEYpRixGNEYsRi5GPkYwRixGMkYsRjEsLiooLCgqJkZIRixGMkYsRiwqJkY3RixGNEYsRiwqJkYwRitGOEYsRjVGLEY5RixGOkYsRiwqLEYpRixGLkYsRjBGPkYyRixGOEYsRjFGSkYsRj9GLCosRilGLEY0RixGLkYsRjBGPkY4RixGMSouRilGLEYuRixGMEYsLChGL0Y1RihGLEYtRixGLEY0RixGMkYsRjE= IiIi subs(con=0, tmp4); part1:= Vector(map(U-> a*b*c*map(V->V/a/b/c,U),%)); NyUsLCouSSJhRzYiIiIiSSJiR0YmRidJImNHRiZGJ0kid0dGJkYnLCgqJEYoIiIjISIiKiRGJUYtRi0qJEYpRi1GLkYnSSJ2R0YmRidGJyoqRiVGJ0YoRidGKSIiJEYqRi1GJyoqRiVGJ0YoRjNGKUYnRjFGLUYnKixGJUYzSSJ1R0YmRidGKEYnRilGJ0YqRidGLiosRiVGM0Y2RidGKEYnRilGJ0YxRidGLiwsKixGJUYnRihGM0YxRidGKUYnRipGJ0YuRjJGJyoqRiVGM0YoRidGKUYnRjZGLUYnKi5GJUYnRihGJ0YpRicsKEYsISIjRi9GJ0YwRidGJ0YqRidGNkYnRi4qLEYlRidGNkYnRihGM0YpRidGMUYnRi4sLCosRiVGJ0YoRidGKUYzRjFGJ0YqRidGLkY6RidGNEYnKixGJUYnRjZGJ0YoRidGKUYzRipGJ0YuKi5GJUYnRihGJ0YpRicsKEYwRj1GL0YnRixGJ0YnRjZGJ0YxRidGLg== LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpbyo+ayU= part2:= (Vector@map2)(select,has,tmp4,R); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIoXyh6ZA==
<Text-field style="Heading 2" layout="Heading 2"><Font encoding="UTF-8">Le graphe des points dont un multiple v\303\251rifie condilou</Font></Text-field> Pour un point u:v:w, il n'est pas toujours possible de trouver un k qui aille bien. condi1:= subs(u=k*u,v=k*v,w=k*w, condilou): factor(discrim(%, k)); IiIh subs(zipq(pu, pX(8)), ency_, condi1); solve(%); LCQqKCIpU3dgIyoiIiIpSSJxRzYiIiIjRiUpSSJrR0YoRilGJUYl NiY8JC9JImtHNiJGJS9JInFHRiYiIiFGIzwkL0YlRikvRihGKEYq (factor@subs)(ency_, cetriangle, bary2proj(pp2uu(pp))): funlou:= unapply(subsop(3=NULL, %),p,q,r)@op; LUkiQEc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYkZio2JUkicEdGJ0kicUdGJ0kickdGJ0YnNiRJKW9wZXJhdG9yR0YnSSZhcnJvd0dGJ0YnNyQsJComLC4qJjklIiIiOSZGNyEpOV1PRSokRjgiIiMhKFAvZygqJEY2RjshKSZHISo+IyomRjhGNzkkRjciKCd6JD4pKiRGQEY7IighUk8mKSomRjZGN0ZARjciKDchKm8iRjcsLkY1IiQ5I0Y6IiQ8IkY9IiQwI0Y/IiRDIkZCIiRdI0ZEISNfISIiI0ZNIicsSzcsJCooIiNOI0Y3RjssLEY/IiYyIm9GQiInck85RjoiJnQoPkY9IiYqZkFGRCEmVkUkRjdGRkZNIyEjS0ZPRidGJ0YnSSNvcEdGJQ== (expand@subs)(zipq(pu, projx), ency_, conilou):evalf(%/10000); pl1:= implicitplot(%, X=-0.4..1, Y=-1..0, grid=[50,50], thickness=3): LC5JIlhHNiIkIStycDdfOCEiKSokRiMiIiMkIisrJmYqM2whIipJIllHRiQkIitXMms9QEYnKiRGLUYpJCIrTHpdVjpGJyomRi0iIiJGI0Y0JCEra0o/Rj5GJyQiKzktIj45KEYsRjQ= pl2:= pointplot([seq](funlou(xyz[j]), j=1..jmax)): pl20:= pointplot([seq](`if`(ff[j]=1,funlou(xyz[j]),NULL), j=1..jmax)): [color=blue]: pl0:= dralinpts(pa,pb,%),dralinpts(pb,pc,%),dralinpts(pc,pa,%): pl3:= drawna(pX(141),"c",2,[color=blue]): Magnifique accord des deux graphes display(pl0, pl1, pl3, pl20, view=[-1.5..1.5,-1.5..0.5], scaling=constrained); Ni0tJSdDVVJWRVNHNiQ3UzckJCExdCNwYic9O2VCISM5JCEyIz1LbnQ9Ul04ISM6NyQkITIlPjxfZDtXdUEhIzokITJIVVteOitXSSIhIzo3JCQhMkYxXEA6KGYsQSEjOiQhMjdRd24rJFFrNyEjOjckJCExQiYpRygpZW4+QCEjOSQhMlE3cCJRJnokPjchIzo3JCQhMk1YMl5mNnMuIyEjOiQhMiM+ImZ0dnhTPCIhIzo3JCQhL0JKVCNSXiY+ISM3JCEyb10wISlHIioqRzYhIzo3JCQhMk5pXkxtWiF6PSEjOiQhMicqKltXZi4+KDMiISM6NyQkITJ2YXA8Q2YtIT0hIzokITJrbUMiPnohUi8iISM6NyQkITJGT2hNOXcoPTwhIzokITEySkh1OlgiKioqISM6NyQkITJNJkdbaVZiUDshIzokITE2VHkvJmZfYSohIzo3JCQhMGA/dHgyU2IiISM4JCExb3NKPGhIJzMqISM6NyQkITI9P00nKiopPi9bIiEjOiQhMSZcPGUiNC8jbykhIzo3JCQhMkUjM2d5dGQoUiIhIzokITE5R14xYCVwQSkhIzo3JCQhMl90OyMpcCVSOTghIzokITFYOyI0LiIpKnB4ISM6NyQkITIjNDNIc0ZCTTchIzokITE0KFt6RjYnSHQhIzo3JCQhMEsrUjFROTsiISM4JCExdz8zYUxySHAhIzo3JCQhMigqM3BaNnlbMiIhIzokITFYJFxPLyc+YWshIzo3JCQhMiQ9eHckW106KyIhIzokITImSFgrMzBQXmchIzs3JCQhMTIlUSFvLGBpIiohIzokITFvNHJZJyl5I2UmISM6NyQkITFPQ1RhSV0yJSkhIzokITI6S0Q4STkhb14hIzs3JCQhMWhZU1gnPSJ6diEjOiQhMUIqUmk1VEhyJSEjOjckJCExcDU9I3orLnonISM6JCEybFIjMzRRZ3pVISM7NyQkITEoM3BaNl9zJ2YhIzokITF4aGMqemh1I1EhIzo3JCQhMSRcOTRdTzlAJiEjOiQhMjJgcThIYUFUJCEjOzckJCExTyZIVUQoPSdSJSEjOiQhMlpfJj4scFJrSCEjOzckJCEyT19dJjNDUFxOISM7JCEybDlJMyUqKT4qXCMhIzs3JCQhMVk+LSdmPEEiRyEjOiQhMWkoKXpbRkMlNCMhIzo3JCQhMid5XVouLTI7PyEjOyQhMkhZbnMnKnlvbCIhIzs3JCQhMm51JipRL3NOPiIhIzskITJAIilvW1FSXT8iISM7NyQkITJtNFwpKmUhPSopUSEjPCQhL0NqWF0tSXchIzk3JCQiMTpPYGYvRScqUSEjOyQhL3BhUDQ0YEwhIzk3JCQiMlo7XmpgbVNEIiEjOyQiMTIneUA+OmRSIiEjOzckJCIxL3dea1ohMy4jISM6JCIxPEBVNihHRm0mISM7NyQkIjIocC9hOSdRLCdHISM7JCIxJ1IsPmtuPS0iISM6NyQkIjJRajJmTVE7aCQhIzskIjInKVExKj1VcU05ISM7NyQkIjBzI1FcZ0FMVyEjOSQiMih5QitVTy8nKT0hIzs3JCQiMUplX11nRjFfISM6JCIyI3A+VmwpPTJKIyEjOzckJCIxa0wmZi9PViwnISM6JCIxTSU+JlFvaWFGISM6NyQkIjFbUFMiUmlWIW8hIzokIjEkcC03LUcnKT0kISM6NyQkIjFpI2YjZm5XSnchIzokIjIoUWVMUXEpSGskISM7NyQkIjEiKkgib0lGIUclKSEjOiQiMSM+Jm90KCllITMlISM6NyQkIjFGV09wZmtVIyohIzokIjEjKSopSF8oKjRHWCEjOjckJCIyZXk0eSI+MDA1ISM6JCIxUGsxOV4hPihcISM6NyQkIjJtImVXdnFHejUhIzokIjEwKilvXGhyemAhIzo3JCQiMilcKkhOJSpvVjsiISM6JCIxO1Mnemg4ciVlISM6NyQkIjI9cjcxPW4vQyIhIzokIjFbXFomW2ZeRSchIzo3JCQiMmxoPkx4LjtLIiEjOiQiMVp3KUhkJCkzcichIzo3JCQiMnQyT2AlPUUqUiIhIzokIjFpJFx5UilcUHIhIzo3JCQiMTtGUVxnciNbIiEjOSQiMWA9VCpHYWZmKCEjOi0lJkNPTE9SRzYmJSRSR0JHJCIiISEiIiQiIiEhIiIkIiM1ISIiLSUnQ1VSVkVTRzYkN1M3JCQiMjknZShRXGFqQSIhIzokIS9kT1dVK3VGISM4NyQkIjI2YypRUjB3Iz0iISM6JCEydnIoeiQpPUYzRiEjOzckJCIyJ1Jtb3MnSFs5IiEjOiQhMiNRbEwzJnk1bCMhIzs3JCQiMmRwOGdXc0A1IiEjOiQhMkwuaWZkZW5lIyEjOzckJCIycGFfJmZDQmY1ISM6JCEybzpDJCpHNz9fIyEjOzckJCIyL19eJGZsXDs1ISM6JCEyWG4lW0lQZGRDISM7NyQkIjFqOipHNFwobygqISM6JCEyJ3oydFA0JHlSIyEjOzckJCIxbTZEYykqW2UkKiEjOiQhMHRyaXRxZkwjISM5NyQkIjFtZCRvOyo+TSopISM6JCEyJ1szVkZbKj5GIyEjOzckJCIxWUIvJD1wN14pISM6JCExKCk0OSE0QyMzQSEjOjckJCIxangrNVBCdyEpISM6JCEyL1A9JVshR0U5IyEjOzckJCIxaVRjR1UwJHAoISM6JCEyLlVrIj41JlszIyEjOzckJCIyJjQ/RikpW29ocyEjOyQhMkZqdydveCEpPj8hIzs3JCQiMTJOLS9WYUdvISM6JCEyYDZgVlcoXGE+ISM7NyQkIjFEOjUjNEw2VCchIzokITJYZmVeJSllOio9ISM7NyQkIjJsaG5IcyQzS2chIzskITIuVGt1Yy9XJD0hIzs3JCQiMSRbRjFPZDhlJiEjOiQhMUtmPy5FV208ISM6NyQkIjE2NiYpNElgKj4mISM6JCExdE0qWyEqcCkzPCEjOjckJCIwal4iPjBRYlohIzkkITJaQ18rPCoqPWsiISM7NyQkIjEqR1JoSUlBTyUhIzokITFYTSc+cz1FZSIhIzo3JCQiMkUtMzpAIykzJFIhIzskITImUlcnXG55dl4iISM7NyQkIjFgLls/bzg/TiEjOiQhMSMzIWZwXmtiOSEjOjckJCIxYlMnXDRuOjQkISM6JCEyTUkkKVIwQzVSIiEjOzckJCIyPCxePkkxISlwIyEjOyQhMj5ARnRwIm9KOCEjOzckJCIydzNxJT15XHRBISM7JCEyanAqeltIbm43ISM7NyQkIjI3PXArIkdiSz0hIzskITJFbDUlW2U9LDchIzs3JCQiMnd6PVMpKTMoWzkhIzskITJaO3I/ajNMOSIhIzs3JCQiMmBTTyJHcDlNNSEjOyQhMlBPRUdsKnohMyIhIzs3JCQiMTRLJHppUSdlZyEjOyQhMlFZZTJ3QGksIiEjOzckJCIyQlB4cFFDKG89ISM8JCExMjo3QCpbL2AqISM7NyQkITJhb0JEM0xfPSMhIzwkITE3eS1LLT0+KikhIzs3JCQhMU50ZHI7WSdvJyEjOyQhMVd4Q3IwWlMjKSEjOzckJCEyQjcyZmQsSjIiISM7JCExLl8/YSg+MWooISM7NyQkITJ1YERTMFdcXSIhIzskITFsPCdwJFFaenAhIzs3JCQhMko8OE9fZGkqPSEjOyQhMTRwaWMpUSUqUSchIzs3JCQhMkVNL2BdbVNLIyEjOyQhMXgnZld4dVZ1JiEjOzckJCExd0A5PDlnRUYhIzokITFoKGZUdT51OCYhIzs3JCQhMVphPCZRbXQ5JCEjOiQhMUVRTl5vKEhdJSEjOzckJCEydy5pLTBUKGVOISM7JCEyRT5MIWVIcCMpUSEjPDckJCExJil6UStBVCopUiEjOiQhMi4iZWsxS0pMSyEjPDckJCExSidSV3EqPi9XISM6JCEwYlhhSyQpeWcjISM6NyQkITF4IT5rJCl6JEdbISM6JCExMCF6IVI0SG8+ISM7NyQkITAiPXVVdi9cXyEjOSQhMSd6JWYrWipSTCIhIzs3JCQhMmJeJSpmWihmTmMhIzskITFHdycpR0xVNnYhIzw3JCQhMTIoUjtLRid5ZyEjOiQhMS4qUlBZdUZKKSEjPTckJCExKio9KXBceVtaJyEjOiQiMUJiX2xZX1ZeISM8NyQkITAlZShvKltPKCpvISM5JCIyKSp6VSUqKTRSXjYhIzw3JCQhMXdVaSpHUTxJKCEjOiQiMmV0Syw5PTZ3IiEjPDckJCExOW4qW3MjSE94ISM6JCIyNy88S0JgalQjISM8LSUmQ09MT1JHNiYlJFJHQkckIiIhISIiJCIiISEiIiQiIzUhIiItJSdDVVJWRVNHNiQ3UzckJCIyUCg9OipbT1g/IiEjOiQiMmkpKUhjdklwVyIhIzo3JCQiMi1pIWZOLVRrNiEjOiQiMkdIWzUhZU8lUiIhIzo3JCQiMmIpMyNwZidcSDYhIzokIjFMLDg6JEgnWzghIzk3JCQiMiYqR0woZURCITQiISM6JCIyXlUmR2BRPihIIiEjOjckJCIyJm9MLGAjMzIwIiEjOiQiMUw7IlFXPGFDIiEjOTckJCIyPUM+JSp6cjgsIiEjOiQiMkIydSY9cilRPiIhIzo3JCQiMSNINF9yPSFcKCohIzokIjJkMlEyIj42WTYhIzo3JCQiMUcqR2d0JFJyJCohIzokIjJ2JD5GXU1rJzQiISM6NyQkIjBbaUJXYDMpKikhIzkkIjJQXCNwKDQkW1g1ISM6NyQkIjAiM1A7Y2MiZikhIzkkIjAzRSw8b1slKiohIzk3JCQiMDsjeVBfOCI+KSEjOSQiMT5tJDR1My5VKiEjOjckJCIwW2lCJWZWUXkhIzkkIjEoKkc9NWxGZSopISM6NyQkIjIwJTNLcytRVHUhIzskIjFIL1JddzhRJSkhIzo3JCQiMW8lR0YmUXBVcSEjOiQiMVRkWV1JJ2UieiEjOjckJCIxKj0iUjBlW2VtISM6JCIxJUczJClwYURUKCEjOjckJCIxMC1pITQpZTRqISM6JCIxbnV1J1wtYiZwISM6NyQkIjFQIVs7J1xyJSplISM6JCIxZGkwQUstN2shIzo3JCQiMSZwNUMrakthJiEjOiQiMSQpKik0KSlcaV5mISM6NyQkIi85WkIzV01eISM4JCIxJD5rPlJzZ1QmISM6NyQkIjFweCZHI1Jjc1ohIzokIjJsdSpbKWY8PyVcISM7NyQkIjFpN1szd192ViEjOiQiMVdgU2NWIT5VJSEjOjckJCIyJlFgR1leWCgqUiEjOyQiMiVmTShRYkxtI1IhIzs3JCQiMllsKlElPndIZyQhIzskIjFoL3ZHLygpNE0hIzo3JCQiMlA1W05QQDJDJCEjOyQiMUIoKSpRYz9gJEghIzo3JCQiMXJTTTUxKSpcRyEjOiQiMS1pPkRXWEJDISM6NyQkIjJXJ2YxdDI2V0MhIzskIjB5VFdPcDwqPSEjOTckJCIyL3goZScpKSp6ITQjISM7JCIyeSE0MmNmJCpHOSEjOzckJCIyZEhCKlxXQDQ8ISM7JCIxdiFbSCY+aiFIKiEjOzckJCIydy8ob2IkKipcSiIhIzskIjFvREczc1hFVCEjOzckJCIxVnpyW3pPJEgqISM7JCExRkdPN0chb0QqISM8NyQkIjEpR08pb1YpPWMmISM7JCExeGFUeUkpUSJlISM7NyQkIjJvIT4iUjAzKD05ISM8JCExMEAqbykpUlQ3IiEjOjckJCExLidlLTk/VEkjISM7JCEyL3I/MEtFPWgiISM7NyQkITEwSklmUS56aSEjOyQhMiRRVSskb05EOCMhIzs3JCQhMSRSKTR4ayozKSkqISM7JCEybnJVIWVkUC9FISM7NyQkITJrdiRccCRvPVEiISM7JCEyKEhhTiplQC03JCEjOzckJCEyWy4qemVNUV88ISM7JCExN10iZUojZjBPISM6NyQkITEnSCQ+J1t5J1JAISM6JCEwMiQ9eVglSDYlISM5NyQkITEqM2RsO0kkPUQhIzokITEjUik+XVQoKjNZISM6NyQkITJZbCdHJVFWWiJIISM7JCExdy1aVTZGR14hIzo3JCQhMiRRKCl5RmtgJ0gkISM7JCExYydSZidlVEdjISM6NyQkITFHMk9lXChwbyQhIzokITEsLD4kMycpKVJoISM6NyQkITFFOXhnLz11UyEjOiQhMXdmISlvNTdabSEjOjckJCExSCF6UTUjKSpIVyEjOiQhMVojKj5UdEA4ciEjOjckJCEwPHYhUjR4UFshIzkkITEmSCpIb2lUWnchIzo3JCQhMSlmZ1g4LUQ/JiEjOiQhMUIjSHA6NV83KSEjOjckJCExLmR0aDtRImYmISM6JCExWTR0JzRRWWopISM6NyQkITJsKD06KikqKWVqZiEjOyQhMWI7bU9jQUEiKiEjOjckJCExRGVNJWZ3Tk8nISM6JCExdkRgUF0/WScqISM6LSUmQ09MT1JHNiYlJFJHQkckIiIhISIiJCIiISEiIiQiIzUhIiItJSdDVVJWRVNHNiU3W19sNyQkIStkRzlkRyEjNSQhMVYqXFsyISlIeikhIzs3JCQhMmJvPVxKZjIlRyEjPCQhMCopXFN0N3N5KSEjOjckJCErcyZHOWQjISM1JCExYlFGPTxnPCkpISM7NyQkITEpPjFFI1xjT0QhIzskITFuX2c1R1QrKSkhIzs3JCQhMj0qZnopPSwoUkIhIzwkISsvLV52KCkhIzU3JCQhMiR5RHVrZSlRSSMhIzwkITFzISopW11JRHcpISM7NyQkISsnRzlkRyMhIzUkITEmb3dGS1lddykhIzs3JCQhMlVBXzJfOHQ3IyEjPCQhMTZ3I1soPmQlbykhIzs3JCQhIiMhIiIkITFrSyh6ailIcCcpISM7NyQkITFWa1R3Jm9LIz4hIzskITExNHVJbkJFJykhIzs3JCQhKzlkRzk8ISM1JCExeShIX2QqPXQmKSEjOzckJCEyKXBMNlZVJEhyIiEjPCQhMVk7TjJSUnMmKSEjOzckJCEybHYneWcoZStyIiEjPCQhMSoqKioqNGRHOWQpISM7NyQkITJuYHo3TE5UYiIhIzwkITFuXSoqbyt1IlspISM7NyQkIStIOWRHOSEjNSQhMS1iZUNwJCpcJSkhIzs3JCQhMlVWYFMhR3VsOCEjPCQhMWgqeXNfQ0FUKSEjOzckJCEyJGZwamxHI0dCIiEjPCQhK1FwTW4kKSEjNTckJCEyWSJwMSk9eE49IiEjPCQhMSN6WDs+aCNRJCkhIzs3JCQhK1ZyJkc5IiEjNSQhMS4hRykpb3J6SykhIzs3JCQhMmUudGI+Rig9NSEjPCQhMUYoKnlgJkg+RCkhIzs3JCQhKmRHOWQpISM1JCExKjRwVDVZcT4pISM7NyQkITFtb1QoWypIPiQpISM8JCExLj48RVhGIj0pISM7NyQkITAkPiVRRTdjJ3khIzskISsxYEVqIikhIzU3JCQhMUYhZkVIQyE+biEjPCQhMWlWemsjKVwiNCkhIzs3JCQhKnMmRzlkISM1JCExSzR4PV46ZCEpISM7NyQkITFMQnA+TCYqKSlcISM8JCExLDY/SUoqNCwpISM7NyQkITFVKFxUS3pVcCQhIzwkITEsKyt0Tz1meiEjOzckJCEwYCgpW3RfR0QkISM7JCEwI28iPm89NCR6ISM6NyQkISonRzlkRyEjNSQhMSMpUTlqQUk8eiEjOzckJCExYDhgSmpcbTshIzwkITFPV20/I1ssJXkhIzs3JCQiIiEhIiIkITFzKUdmeSUqR3goISM7NyQkIjI6clUtRCRRLDghIz4kITEpNF5ZaihSa3ghIzs3JCQiMnZyRSMqPjIxUiQhIz4kISovLV52KCEiKjckJCIxZmcnSE0/dmsiISM8JCEwSy4/Visob3chIzo3JCQiKidHOWRHISM1JCEwTjR1M2AlPnchIzo3JCQiMXZXOlRfJ1JOJCEjPCQhMWxaIjRzMmxlKCEjOzckJCIxaE1GSmJiV1QhIzwkISszLy1ediEjNTckJCIyJUhjWjxJXF9cISM9JCExQCg+U2sxbVwoISM7NyQkIipyJkc5ZCEjNSQhMWQiR0Y6MGBZKCEjOzckJCIxbCUpPiZwdnBjJyEjPCQhMTZvYi1fJXlTKCEjOzckJCIxdGw8XjNeNnohIzwkISt2KFFwTSghIzU3JCQiMV9BP1shZnhDKSEjPCQhMU9vVUImPlFLKCEjOzckJCIqZEc5ZCkhIzUkITFwd11wOlI1dCEjOzckJCIxLCx5ai1gbygqISM8JCExIkgsZlNrJEdzISM7NyQkIitWciZHOSIhIzUkITFyaCQ0XlxDOighIzs3JCQiMkAvKCo+MD4oXDYhIzwkITEuKiplMCZleDkoISM7NyQkIjJXTl1rb2woZjYhIzwkITEsKytVciZHOSghIzs3JCQiMScqZicpM1F6JkgiISM7JCEvQGEmKWYsW3EhIzk3JCQiK0c5ZEc5ISM1JCExMVF4XGBwJylwISM7NyQkIjI9KmZtVyQzRVkiISM8JCEwdUlLZigzanAhIzo3JCQiMmIjXCNmTScpPl4iISM8JCEqXnYoUXAhIio3JCQiMiQqUnNRO1hNaCIhIzwkITFCRmRYbHVtbyEjOzckJCIrOWRHOTwhIzUkITFHKj1xKm9wPm8hIzs3JCQiMj0pUXAqUTxVeCIhIzwkITE2OCJvQC12eCchIzs3JCQiMm51IjR5LE1nPSEjPCQhK3hRcE1uISM1NyQkIjJFJylvbTJFKEg+ISM8JCExQUVXPCMpXCVvJyEjOzckJCIiIyEiIiQhMTokcGYpKWY4bCchIzs3JCQiMUpZJSlbJXpXMyMhIzskITAqUXIyWiY0ZichIzo3JCQiMlVXOytdJHAvQSEjPCQhK1dBaElsISM1NyQkIjJNc0ohKWZbWEMjISM8JCExMGp2Ij0zN10nISM7NyQkIismRzlkRyMhIzUkITF5dSI0RyFlIlsnISM7NyQkIjJENmhUMUJMUiMhIzwkITE4LnVDU1IuayEjOzckJCIxI2UhUSdSMVxhIyEjOyQhKzYxYEVqISM1NyQkIjIuKnptITQ8eWIjISM8JCExKVIqM0QiM29KJyEjOzckJCIrciZHOWQjISM1JCExcCZmaShIQzVqISM7NyQkIjFMeCFIanIxcSMhIzskITEzTlNeYXc5aSEjOzckJCIrZEc5ZEchIzUkITFYdmBgeGVNaCEjOzckJCIyWi1sQSxhYidHISM8JCExVEEvWnBYR2ghIzs3JCQiMWVVYiRwJ3p3RyEjOyQhK3oqW0M3JyEjNTckJCIyJ3B1Wk1IVzFJISM8JCExMj0kKmUtLERnISM7NyQkIitVciZHOSQhIzUkITFWPUUkKnlNYWYhIzs3JCQiMmt1KT5odmduSiEjPCQhMUEnb29AWWckZiEjOzckJCIxR0VvSnlPK0shIzskIStZdE89ZiEjNTckJCIyd1U9eWdbMEokISM8JCEwZUQ6TGxTJGUhIzo3JCQiK0c5ZEdNISM1JCExI294XklSQXgmISM7NyQkIjEoZiZcXWU4b00hIzskITFfQiFbLFlEdSYhIzs3JCQiMllSMVE2eio+TiEjPCQhKzhkRzlkISM1NyQkIjFBLjNsTipHaCQhIzskITFALHpcRic9ayYhIzs3JCQiKzlkRzlQISM1JCExZDE3PXE3KWUmISM7NyQkIjFZS1olXGxxdyQhIzskITFQby5DUiF6YSYhIzs3JCQiMWh4ZG0yXk5RISM7JCErIjMvLV4mISM1NyQkIjJuWCIqKlJgUDhSISM8JCExR3ghUUtIJFthISM7NyQkIiIlISIiJCExS2NTVEYnPVMmISM7NyQkIjFuOCNcSz1WMSUhIzskITF2NSYpM1QxX2AhIzs3JCQiMUBlKj05UW85JSEjOyQhK1tDNzFgISM1NyQkIjFvME1mTCk9QCUhIzskITElWzJCMidRYF8hIzs3JCQiKyZHOWRHJSEjNSQhMSN6TEE9JEc4XyEjOzckJCIxajNyIio0IilmViEjOyQhMU9pNk1xJ1w6JiEjOzckJCIxKikzW2M5JFFYJSEjOyQhKzozLy1eISM1NyQkIjFpNS1CIilIM1ghIzskITFBMSV5alpwMCYhIzs3JCQiK3ImRzlkJSEjNSQhMVxNKWU0M0EtJiEjOzckJCIxXyNRJ0dYWGBZISM7JCEyO2kjeV4iXGwmXCEjPDckJCIyRCN5akpiTmNaISM8JCErIz1meipbISM1NyQkIjFcLlgmRyFcLVshIzskITJWMWQ1akAqZVshIzw3JCQiK2RHOWRbISM1JCEyT1lOQC5RJUdbISM8NyQkIjE0Nk5wUTpYXCEjOyQhMTojeShlRHVjWiEjOzckJCIxXl5TMSZwVTAmISM7JCEqYnhRcCUhIio3JCQiMWMqZSU+Jz5WNCYhIzskITEqXCcqMyp5P2ZZISM7NyQkIitVciZHOSYhIzUkITJ0PEpYcV48aiUhIzw3JCQiL3R3PXQhW0ImISM5JCExL3B0OVlaYlghIzs3JCQiMUBlIj5hRXVNJiEjOyQhKzxmeipbJSEjNTckJCIxQyc9OCZRaiRRJiEjOyQhMmtTPnprKHBkVyEjPDckJCIrRzlkR2EhIzUkITE5I29pIkghPlYlISM7NyQkIjEpKjR6amZJQWIhIzskITIvZSgqUV9uRU4lISM8NyQkIjFNWiI9XHRjaiYhIzskISslRzlkRyUhIzU3JCQiMUhGVkt0RXFjISM7JCEyYmQ3SWVzVUQlISM8NyQkIis5ZEc5ZCEjNSQhMkJmaHgmcGhHVSEjPDckJCIxJCpbLz5JYDJlISM7JCExbyU0J3B5QltUISM7NyQkIjFpTmRrMCYpPWYhIzskIStfRWoiMyUhIzU3JCQiMTxUaFQmUlMmZiEjOyQhMWgqSEp2LilbUyEjOzckJCIiJyEiIiQhMmwtXkROJ2VAUyEjPDckJCIxXyhvbjVqLjQnISM7JCEyYiVcUyU0JzRVUiEjPDckJCIxJVJ0Syc0eic+JyEjOyQhKz41YnhRISM1NyQkIjFjPWAhUWBaQichIzskITFFUycpcC46VFEhIzs3JCQiKkg5ZEcnISIqJCExKSpSKio+ZVk1USEjOzckJCIxcCZmJFs5bXFqISM7JCExKTMtIUhmOU1QISM7NyQkIjFARSYpKls/JHBrISM7JCErJ1FwTW4kISM1NyQkIjFWVCZcQCQ+N2whIzskITF4IypSPCVlNmokISM7NyQkIipkRzlkJyEiKiQhMlduJVIpSG1bZiQhIzw3JCQiME9NTydIR1ttISM6JCExMlNYW1BHQ04hIzs3JCQiMSgqKTQyOGRpdCchIzskIStheFFwTSEjNTckJCIxdzJiZ0U3J3knISM7JCEwUiN5UyFmJz1NISM6NyQkIionRzlkbyEiKiQhMXkiSE90WlZQJCEjOzckJCIwZmtHR3JJI3AhIzokITFjJVJFJnlSN0whIzs3JCQiMS5tNEMxVCgqcCEjOyQhK0BoSWxLISM1NyQkIjEyP3M0P0djcSEjOyQhMSI0KSkzdW1NPyQhIzs3JCQiKjlkRzkoISIqJCEyRTsoZjQwVFtKISM8NyQkIjFiZ2QrdyZbPighIzskITFcPGp0d08pNCQhIzs3JCQiMUhoK3I+ZV9zISM7JCErKVtDNzEkISM1NyQkIjFrJSpcIkgmUUF0ISM7JCExQVZmWnNQJilIISM7NyQkIipWciZHdSEiKiQhMSR5eEolXFs7SCEjOzckJCIxZXE5VyVmTVkoISM7JCEydnBCbCdHMSMpRyEjPDckJCIxKXBsMyVIYyx2ISM7JCErY0c5ZEchIzU3JCQiMSM9aTInbzYlZSghIzskITImKnpFWDVsVHcjISM8NyQkIipyJkc5eCEiKiQhMXRMKSlIJz16biMhIzs3JCQiMSVmdjJCeidHeCEjOyQhMVY6ODRCTWpFISM7NyQkIjFIQnZDYjhXeCEjOyQhK0I3MWBFISM1NyQkIjFcIjQkXHU3VHkhIzskITEib2U2JDNlUkQhIzs3JCQiMU8lZiVRaShbKHohIzskISpmeipbQyEiKjckJCIxKTNHbSc9JEcpeiEjOyQhMiYpZWF4ajtuViMhIzw3JCQiIikhIiIkITJbZGtdKXlwQ0MhIzw3JCQiMWxhMHAmSEk0KSEjOyQhMk9wKUhbd002QiEjPDckJCIxKD5KdlNqKSk9KSEjOyQhK2R6KltDIyEjNTckJCIxJ1E8OTQiKnpAKSEjOyQhMmE1MllDQ2w+IyEjPDckJCIqSDlkRykhIiokITJVaFt1dGJ1OSMhIzw3JCQiMU0sOUVAUlIkKSEjOyQhMi8hRzxQdzp6PyEjPDckJCIxWiUzLyJHTSRSKSEjOyQhK0RqIjMvIyEjNTckJCIxRHVqOiVSUVcpISM7JCEyY1FqRkAib1w+ISM8NyQkIipkRzlkKSEiKiQhMS9hekVwdGA9ISM7NyQkIjEtZkE9VHR6JikhIzskITA8b2pBbkUlPSEjOjckJCIxbngnSEBueWUpISM7JCErI3BNbiQ9ISM1NyQkIjE4IXkkKmUrI2YnKSEjOyQhMigqKT1zZHRNJnAiISM8NyQkIjE6Yid6PXgjUigpISM7JCErZklsSzshIzU3JCQiMSNvXSllIm9TdSkhIzskITJtKT16O2EpPWIiISM8NyQkIionRzlkKSkhIiokITIib0d0d0l4VzkhIzw3JCQiMWAwJSlHOnBpKSkhIzskITJFcF8+d01EViIhIzw3JCQiMUtvJTQoZmBuKSkhIzskIStGOWRHOSEjNTckJCIxJz4lXCllQUgnKSkhIzskITIsVyZlciI9J0c3ISM8NyQkIjF6IlJxKnkmbycpKSEjOyQhKyV6KltDNyEjNTckJCIqJ0c5ZCkpISIqJCEyMXZeJz1JQTs3ISM8NyQkIjE8I3ApZko8XCkpISM7JCEySzpENjooej03ISM8NyQkIipkRzlkKSEiKiQhMVZSKilwYGV3NiEjOzckJCIvTCdITWs5YCkhIzkkITImb2QjcCJSJWY+IiEjPDckJCIqSDlkRykhIiokITJQISlRJ0dKWUE3ISM8NyQkIjFvKmZLOy9URykhIzskITI0cSdbLihSTEEiISM8NyQkIjEiSCsxSyNReiMpISM7JCErJXoqW0M3ISM1NyQkIjE0YG96aylcNikhIzskITFcR28jKkhpMTghIzs3JCQiIikhIiIkITJqIVE5Pz46PTghIzw3JCQiMUMlPlNCdkoieiEjOyQhMic0KFF5dGBsTyIhIzw3JCQiKnImRzl4ISIqJCEyLiRmKCopMzpbVCIhIzw3JCQiMFB2UXc2UHEoISM6JCExYmM8Myc9NVUiISM7NyQkIjFzOUJYRHMhbyghIzskIStGOWRHOSEjNTckJCIxZjsxNjRvU3YhIzskITI5ay4iSCdcJzM6ISM8NyQkIipWciZHdSEiKiQhMjl4W3VRVmRgIiEjPDckJCIxWiUpej52dWF0ISM7JCEyJ0grYCZwQCp6OiEjPDckJCIxXHNRRk00Jj4oISM7JCErZklsSzshIzU3JCQiMV9zInlMTms7KCEjOyQhMkJaWCdHWVxcOyEjPDckJCIqOWRHOSghIiokITJkU10nKip5O2I7ISM8NyQkIjFXcCJ5T2plKyghIzskITJ5N2dhKj4pKVE8ISM8NyQkIionRzlkbyEiKiQhMS9vOVN5Ril5IiEjOzckJCIxMUojUiY9JjQjbyEjOyQhMjxZPFAoUikzIj0hIzw3JCQiMThzMk0meVx2JyEjOyQhKyNwTW4kPSEjNTckJCIxdDZKbWoxZG0hIzskITFBV3BYWCF6Kj0hIzs3JCQiKmRHOWQnISIqJCExYCpSZSZvXkU+ISM7NyQkIjF0XG1qW3cnWychIzskITI9N014Q1UuKT4hIzw3JCQiMTs8Jm9vaE9MJyEjOyQhK0RqIjMvIyEjNTckJCIxXm1bP1dPM2ohIzskITJONzAqKilcKnAwIyEjPDckJCIqSDlkRychIiokITInUV4oXDM1WTEjISM8NyQkIjBXY01zS0w6JyEjOiQhMUpUIXBwUi46IyEjOzckJCIiJyEiIiQhMkVvISoqR01UNkEhIzw3JCQiMHVbXiRbXXZmISM6JCEydjpeMlQsdUEjISM8NyQkIjF0SzJ0diVlJGYhIzskIStkeipbQyMhIzU3JCQiMSgqXF8wJjQyI2UhIzskITImUScqKjQmXCI0SyMhIzw3JCQiKzlkRzlkISM1JCEyM1A2ayhvbmpCISM8NyQkIjE5IlFwX2FCbCYhIzskITJCKD55Rkl1L0MhIzw3JCQiMVw9cmlHKEhiJiEjOyQhKmZ6KltDISIqNyQkIjE7YWomZWEqKVsmISM7JCEyN2o3cFQ1QFwjISM8NyQkIitHOWRHYSEjNSQhMkNxIXpGZmY7RCEjPDckJCIxd3gqPlN5LUwmISM7JCEyMmJqJz0+JkdlIyEjPDckJCIxWkRFJGYpKVI8JiEjOyQhK0I3MWBFISM1NyQkIjF3VzIhSEwiZV4hIzskITIlXGxNZEYoUm0jISM8NyQkIitVciZHOSYhIzUkITF0KVw1JXBBcUUhIzs3JCQiMVkxKCpIOE00XSEjOyQhMUdjVj1XeGhGISM7NyQkIitkRzlkWyEjNSQhMjkyMHh4KzMkRyEjPDckJCIuaEd0LiRRWyEjOCQhMnRWWyhRam9WRyEjPDckJCIyMDBSMSVSYzVbISM8JCErY0c5ZEchIzU3JCQiMi8kKSkpM144JypvJSEjPCQhMV88JilwMWNUSCEjOzckJCIrciZHOWQlISM1JCExY1t6UFdwJipIISM7NyQkIjFUaUIhSCxcXyUhIzskITIlb2E7OzIqei0kISM8NyQkIjFsb0soR0NxWCUhIzskISspW0M3MSQhIzU3JCQiMSY+I3pMNTxyViEjOyQhMSdIJSpHLWxBNyQhIzs3JCQiKyZHOWRHJSEjNSQhMTNGVj5JIj07JCEjOzckJCIxNykqW21deTdVISM7JCExa2AlPSNRQDhLISM7NyQkIjJ4KEdsVWJTMlQhIzwkIStAaElsSyEjNTckJCIyLlkqUTNsNGFTISM8JCEyJj13SCVbWVJJJCEjPDckJCIiJSEiIiQhMmEqKj1dOV4jSEwhIzw3JCQiMlBYJkchUUI/IVIhIzwkITJ0IVw6YVdTKlIkISM8NyQkIjIoell5bWklPXckISM8JCErYXhRcE0hIzU3JCQiMCkpKXB5KHolUVAhIzokITFLQnJHI3BtWyQhIzs3JCQiKzlkRzlQISM1JCEyMCZ6XlVNNilcJCEjPDckJCIxcFs0diUqbyNmJCEjOyQhMjIpUitJXGgnZSQhIzw3JCQiK0c5ZEdNISM1JCExMnpNTVNScE8hIzs3JCQiMWtjSyNcSGRVJCEjOyQhMUhhJj5WUjluJCEjOzckJCIyJVF1Y3crKT1VJCEjPCQhKydRcE1uJCEjNTckJCIyKDRwV3M+J1tHJCEjPCQhMmF6PXlTLFx4JCEjPDckJCIrVXImRzkkISM1JCEwRFVsISoqR1pRISM6NyQkIjFhIyoqKT1dIT43JCEjOyQhMURCcztfZWlRISM7NyQkIjFHWCVwaCd6JDQkISM7JCErPjVieFEhIzU3JCQiMk5tNFJQRCd5SCEjPCQhMSRcR2RDQ1YnUiEjOzckJCIrZEc5ZEchIzUkITIkR0wjKVxYJHAtJSEjPDckJCIxO1RVPTpiPkchIzskITF0YiZlcCJ5YVMhIzs3JCQiMk8sI0hrdGhwRiEjPCQhK19FaiIzJSEjNTckJCIxaWc6QTEydUUhIzskITFMeV4tJVtcOiUhIzs3JCQiK3ImRzlkIyEjNSQhMm54TmxiYCUzVSEjPDckJCIyMFZhQCUpUig9RCEjPCQhMkIhKVJ5WnohW1UhIzw3JCQiMSgpRyQqcDlZXEMhIzskISslRzlkRyUhIzU3JCQiMnRlXWJzJkhyQiEjPCQhMW5nViUpUSVvTSUhIzs3JCQiKyZHOWRHIyEjNSQhMT0lRyZRWyk+UiUhIzs3JCQiMj0lUkRtYWE+QSEjPCQhMUIrJVtaS0RXJSEjOzckJCIyJkdQISp5SFhMQCEjPCQhKzxmeipbJSEjNTckJCIyJFFAQ2VrU3E/ISM8JCEyQy5GWEMnM1NYISM8NyQkIiIjISIiJCEyTCkqKT54LG94WCEjPDckJCIyPCIzY3YpWz8jPiEjPCQhMS87T3YiKT5RWSEjOzckJCIxTylITTRAPCM9ISM7JCEqYnhRcCUhIio3JCQiMjtoJm9Ycl5yPCEjPCQhMmxYKilROWRadCUhIzw3JCQiKzlkRzk8ISM1JCExJSpvajlxcWxaISM7NyQkIjJ4XiVwJSlmTEU7ISM8JCExW2MvWno4TlshIzs3JCQiMm1vSCRRL1M5OiEjPCQhKyM9ZnoqWyEjNTckJCIxUCY+amFeWloiISM7JCEyJ2ZGIzMpXCU0JFwhIzw3JCQiK0c5ZEc5ISM1JCEyLydwVUEwRGNcISM8NyQkIjIoZT4pW2cpXEs4ISM8JCExbXVpcHRUTF0hIzs3JCQiMncjej5XOGo2NyEjPCQhKzozLy1eISM1NyQkIjJLeVdLJVFDIT0iISM8JCEwSCw1Z1goR14hIzo3JCQiK1ZyJkc5IiEjNSQhMSUpUiVSLDsmXF4hIzs3JCQiMiQ9ZkVlXGpTNSEjPCQhMWYtcixtNUxfISM7NyQkIjE7PDRHO2dOIiohIzwkIStbQzcxYCEjNTckJCIxaVFHendSIikpKSEjPCQhMUsneScpNGojR2AhIzs3JCQiKmRHOWQpISM1JCExYHZYaTx0WGAhIzs3JCQiMS1LQXJDXTN2ISM8JCExIzN4Iil5IUdNYSEjOzckJCIyRD8/UidlUi5pISM9JCErIjMvLV4mISM1NyQkIjImSDJKIXB5ZilmISM9JCExZSNwQnM1J0hiISM7NyQkIipyJkc5ZCEjNSQhMSZwcXZIX15hJiEjOzckJCIxaFRXb0dkS1khIzwkITE2ZTM1MC1QYyEjOzckJCIxSDklSCkqKkdATCEjPCQhKzhkRzlkISM1NyQkIjInKnAmNFEmNHo2JCEjPSQhMSJ5cVYhPiJIdCYhIzs3JCQiKidHOWRHISM1JCEwL1BdSGkhW2QhIzo3JCQiMmMlPURYP3h6PCEjPSQhMU0pXHhHNzklZSEjOzckJCIxQCtuZVBbNFwhIz0kIStZdE89ZiEjNTckJCIyalomb2BCeCF6IyEjPiQhMWtYRE05SVFmISM7NyQkIiIhISIiJCExZFcmeTwieWFmISM7NyQkITIjPUdULXlmWzUhIz0kITEkMz1mOFx2LychIzs3JCQhMldiLTooKiopZUcjISM9JCEreipbQzcnISM1NyQkITFLJlIlKVtgJUdEISM8JCExN2Q6InpFZjknISM7NyQkISonRzlkRyEjNSQhMChvMCFlb2M7JyEjOjckJCEyJj1BdkxbOF5RISM9JCEwaCxZPUpiRCchIzo3JCQhMSo9MiIqSDJ1KyYhIzwkISs2MWBFaiEjNTckJCExLiEpNDEpPUNJJiEjPCQhMTIkKkh3J1xmTichIzs3JCQhKnMmRzlkISM1JCExMip5TCkzOCJRJyEjOzckJCExMjlGIyl5S0VtISM8JCExOkYqXFBtYVknISM7NyQkITEqXDhTZy08bighIzwkIStXQWhJbCEjNTckJCExV11yOTdMUyEpISM8JCExRm9gcHhhb2whIzs3JCQhKmRHOWQpISM1JCExMDsjZTFIO2cnISM7NyQkITB2XHdjWERQKiEjOyQhMXYxRk03WnhtISM7NyQkITInZXFxcyd5dy0iISM8JCEreFFwTW4hIzU3JCQhMlZWNXQ2WFIyIiEjPCQhMS5xX19uIlJ5JyEjOzckJCErVnImRzkiISM1JCExUi8/JD4pb0ZvISM7NyQkITIyQl4wVC0pMzchIzwkITFOL1ZaPG4iKm8hIzs3JCQhMTIkKTNEeDAjRyIhIzskISpedihRcCEiKjckJCExI1FlcVZ2J1I4ISM7JCExcFckb2tzQSsoISM7NyQkIStIOWRHOSEjNSQhMT06Nl4qMypmcSEjOzckJCEyaV9QIWVgM3g5ISM8JCExIykpb2JMLyMzciEjOzckJCExNiQqcCRIKjNJOiEjOyQhMSwrK1VyJkc5KCEjOzckJCEyaG9RTFAqKTNnIiEjPCQhMVZvX0dYJlFBKCEjOzckJCErOWRHOTwhIzUkITEkR0MyeCIpKilIKCEjOzckJCEyd0BMPkQnKj11IiEjPCQhMWFuPGlwQEZ0ISM7NyQkITE3ST0leVc6eCIhIzskISt2KFFwTSghIzU3JCQhMmU+Kno/YkBkPSEjPCQhMV9peSlvRipbdSEjOzckJCEiIyEiIiQhMCdvS1RVcVh2ISM6NyQkITE6eSpHLzVJKyMhIzskITEoPmR0UHEpW3YhIzs3JCQhMmpzTSgpWyU9MT8hIzwkISszLy1ediEjNTckJCEyI0dTKTRnUyMzQCEjPCQhMDhPYEsoeXh3ISM6NyQkITJMXXJOMywnPkEhIzwkISovLV52KCEiKjckJCEyWmAoXDg8JylRQSEjPCQhMXQlUks7byYpeSghIzs3JCQhKydHOWRHIyEjNSQhMSZwOUVaVUUjeSEjOzckJCExdT4kR1IuTk4jISM7JCEwJT1QIylHdzV6ISM6NyQkITI3elRiRiZcQEMhIzwkITEsKyt0Tz1meiEjOzckJCExKVJYY3Q/Q1kjISM7JCExInoyTFRZcS4pISM7NyQkIStzJkc5ZCMhIzUkITFDJz4pUXVaPiIpISM7NyQkITEoW1hEZChbI2YjISM7JCExWStwaUpBWyIpISM7NyQkITAiKWZeKXovOEUhIzokISsxYEVqIikhIzU3JCQhMTskKXBHZ3p1RSEjOyQhMUorVFNJXiRIKSEjOzckJCEyYGZ5XXJzJG9GISM8JCErUXBNbiQpISM1NyQkITJrZWtJR2oib0YhIzwkITFMQXp3UCE0VikhIzs3JCQhK2RHOWRHISM1JCExJ1snW0tXKHpeKSEjOzckJCExYSY+TSYpUlcoRyEjOyQhMTcpW05kdCFmJikhIzs3JCQhMSQqPjVrblEqKUchIzskITEqKioqKjRkRzlkKSEjOzckJCEyOCpHNytbIT0oRyEjPCQhMT1qWihRUF13KSEjOzckJCExKT0qNCopZUwiKUchIzskISsvLV52KCkhIzU3JCQhK2RHOWRHISM1JCExVipcWzIhKUh6KSEjOy0lJkNPTE9SRzYmJSRSR0JHJCIjNSEiIiQiIiEhIiIkIiIhISIiLSUqVEhJQ0tORVNTRzYjIiIkLSUnUE9JTlRTRzYkNyQkIitDLW0oKUghIzUkISttVip5KlwhIzUtJSZDT0xPUkc2JiUkUkdCRyQiIiEhIiIkIiIhISIiJCIjNSEiIi0lJVRFWFRHNiY3JCQiK0djb2BRISM1JCErbVYqeVwlISM1LSUpX1RZUEVTRVRHNiNRImM2Ii0lJkNPTE9SRzYmJSRSR0JHJCIiISEiIiQiIiEhIiIkIiM1ISIiLSUlRk9OVEc2JSUuTHVjaWRhfkJyaWdodEclJlJPTUFORyIjOi0lJ1BPSU5UU0c2YXk3JCQiK0BSSUNDISM1JCErJjM9KEdnISM1NyQkIitCUklDQyEjNSQhK3ohPShHZyEjNTckJCIrOFJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzhSSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrQ1JJQ0MhIzUkISsiND0oR2chIzU3JCQiKyxSSUNDISM1JCErdCE9KEdnISM1NyQkIis2UklDQyEjNSQhKyI0PShHZyEjNTckJCIrOlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzpSSUNDISM1JCErJjM9KEdnISM1NyQkIis6UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKz5SSUNDISM1JCEreiE9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKz1SSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrNFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzdSSUNDISM1JCErJjM9KEdnISM1NyQkIis4UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzZSSUNDISM1JCErIjQ9KEdnISM1NyQkIioiUklDQyEiKiQhKyYzPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKiNSSUNDISIqJCEreiE9KEdnISM1NyQkIitAUklDQyEjNSQhKyI0PShHZyEjNTckJCIrOlJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKz5SSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrPVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIisyUklDQyEjNSQhK3QhPShHZyEjNTckJCIrS1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzhSSUNDISM1JCErJjM9KEdnISM1NyQkIis5UklDQyEjNSQhKyYzPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKz1SSUNDISM1JCEreiE9KEdnISM1NyQkIis7UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCEreiE9KEdnISM1NyQkIis6UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCEreiE9KEdnISM1NyQkIis7UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis+UklDQyEjNSQhK3ohPShHZyEjNTckJCIrPFJJQ0MhIzUkISt0IT0oR2chIzU3JCQiKzpSSUNDISM1JCErJjM9KEdnISM1NyQkIis6UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCEreiE9KEdnISM1NyQkIis9UklDQyEjNSQhKyYzPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzxSSUNDISM1JCErJjM9KEdnISM1NyQkIis9UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCEreiE9KEdnISM1NyQkIis7UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzxSSUNDISM1JCErJjM9KEdnISM1NyQkIis+UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzpSSUNDISM1JCErJjM9KEdnISM1NyQkIis9UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzdSSUNDISM1JCErJjM9KEdnISM1NyQkIis4UklDQyEjNSQhKyYzPShHZyEjNTckJCIrM1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzhSSUNDISM1JCErIjQ9KEdnISM1NyQkIis7UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOFJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzhSSUNDISM1JCErJjM9KEdnISM1NyQkIis4UklDQyEjNSQhKyYzPShHZyEjNTckJCIrN1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKygqUUlDQyEjNSQhK24hPShHZyEjNTckJCIrPlJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKz1SSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhK3ohPShHZyEjNTckJCIrLlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzdSSUNDISM1JCErJjM9KEdnISM1NyQkIis8UklDQyEjNSQhKyYzPShHZyEjNTckJCIrPVJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzxSSUNDISM1JCEreiE9KEdnISM1NyQkIis6UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOlJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis8UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOFJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzxSSUNDISM1JCEreiE9KEdnISM1NyQkIisyUklDQyEjNSQhKyYzPShHZyEjNTckJCIrN1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIiojUklDQyEiKiQhKyI0PShHZyEjNTckJCIrRFJJQ0MhIzUkIStuIT0oR2chIzU3JCQiKzlSSUNDISM1JCEreiE9KEdnISM1NyQkIis5UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis9UklDQyEjNSQhKyg0PShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzxSSUNDISM1JCErJjM9KEdnISM1NyQkIiojUklDQyEiKiQhK3ohPShHZyEjNTckJCIrLVJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKz1SSUNDISM1JCErIjQ9KEdnISM1NyQkIis5UklDQyEjNSQhK3ohPShHZyEjNTckJCIqI1JJQ0MhIiokISsmMz0oR2chIzU3JCQiKzpSSUNDISM1JCErJjM9KEdnISM1NyQkIis9UklDQyEjNSQhK3QhPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKz1SSUNDISM1JCEreiE9KEdnISM1NyQkIis+UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzFSSUNDISM1JCErIjQ9KEdnISM1NyQkIitEUklDQyEjNSQhK3QhPShHZyEjNTckJCIrPlJJQ0MhIzUkISsiND0oR2chIzU3JCQiKzlSSUNDISM1JCEreiE9KEdnISM1NyQkIis6UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsoND0oR2chIzU3JCQiKzZSSUNDISM1JCErJjM9KEdnISM1NyQkIis6UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzlSSUNDISM1JCEreiE9KEdnISM1NyQkIiojUklDQyEiKiQhKyYzPShHZyEjNTckJCIrPVJJQ0MhIzUkISt6IT0oR2chIzU3JCQiK0FSSUNDISM1JCErIjQ9KEdnISM1NyQkIiszUklDQyEjNSQhKyYzPShHZyEjNTckJCIrLFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKiNSSUNDISIqJCEreiE9KEdnISM1NyQkIiojUklDQyEiKiQhKy4iPShHZyEjNTckJCIrO1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKztSSUNDISM1JCErdCE9KEdnISM1NyQkIis4UklDQyEjNSQhKy4iPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzlSSUNDISM1JCErJjM9KEdnISM1NyQkIis+UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKz5SSUNDISM1JCErKDQ9KEdnISM1NyQkIis6UklDQyEjNSQhKyI0PShHZyEjNTckJCIrO1JJQ0MhIzUkISsiND0oR2chIzU3JCQiKzhSSUNDISM1JCEreiE9KEdnISM1NyQkIisyUklDQyEjNSQhK3ohPShHZyEjNTckJCIrL1JJQ0MhIzUkIStuIT0oR2chIzU3JCQiK0FSSUNDISM1JCErJjM9KEdnISM1NyQkIis0UklDQyEjNSQhKyYzPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCEreiE9KEdnISM1NyQkIis6UklDQyEjNSQhK3ohPShHZyEjNTckJCIrL1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis6UklDQyEjNSQhKyI0PShHZyEjNTckJCIrOVJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKiJSSUNDISIqJCErJjM9KEdnISM1NyQkIis4UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOlJJQ0MhIzUkISt6IT0oR2chIzU3JCQiK0VSSUNDISM1JCEreiE9KEdnISM1NyQkIitAUklDQyEjNSQhKyI0PShHZyEjNTckJCIrQ1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzFSSUNDISM1JCErJjM9KEdnISM1NyQkIis5UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsmMz0oR2chIzU3JCQiK0dSSUNDISM1JCErJjM9KEdnISM1NyQkIis2UklDQyEjNSQhKyYzPShHZyEjNTckJCIrM1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzlSSUNDISM1JCErJjM9KEdnISM1NyQkIiojUklDQyEiKiQhKyI0PShHZyEjNTckJCIrOVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzxSSUNDISM1JCEreiE9KEdnISM1NyQkIis3UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKiNSSUNDISIqJCEreiE9KEdnISM1NyQkIiszUklDQyEjNSQhKyYzPShHZyEjNTckJCIrMlJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzJSSUNDISM1JCEreiE9KEdnISM1NyQkIiojUklDQyEiKiQhKyYzPShHZyEjNTckJCIqI1JJQ0MhIiokISt6IT0oR2chIzU3JCQiK0xSSUNDISM1JCErJjM9KEdnISM1NyQkIis0UklDQyEjNSQhK3ohPShHZyEjNTckJCIqI1JJQ0MhIiokISt6IT0oR2chIzU3JCQiKzZSSUNDISM1JCErJjM9KEdnISM1NyQkIitCUklDQyEjNSQhKyg0PShHZyEjNTckJCIqIlJJQ0MhIiokISsmMz0oR2chIzU3JCQiKzpSSUNDISM1JCEreiE9KEdnISM1NyQkIitDUklDQyEjNSQhK3ohPShHZyEjNTckJCIrPVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKy5SSUNDISM1JCErJjM9KEdnISM1NyQkIis8UklDQyEjNSQhK3ohPShHZyEjNTckJCIqI1JJQ0MhIiokISt6IT0oR2chIzU3JCQiKzlSSUNDISM1JCErJjM9KEdnISM1NyQkIis4UklDQyEjNSQhK3ohPShHZyEjNTckJCIrOlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiK0NSSUNDISM1JCEreiE9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrO1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzZSSUNDISM1JCEreiE9KEdnISM1NyQkIis9UklDQyEjNSQhKyYzPShHZyEjNTckJCIrPVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzlSSUNDISM1JCErJjM9KEdnISM1NyQkIis2UklDQyEjNSQhKyYzPShHZyEjNTckJCIrPFJJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzRSSUNDISM1JCErJjM9KEdnISM1NyQkIis5UklDQyEjNSQhK3ohPShHZyEjNTckJCIrPlJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKzRSSUNDISM1JCErIjQ9KEdnISM1NyQkIisqKlFJQ0MhIzUkISsmMz0oR2chIzU3JCQiKy5SSUNDISM1JCEreiE9KEdnISM1NyQkIis4UklDQyEjNSQhKyYzPShHZyEjNTckJCIrPVJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCEreiE9KEdnISM1NyQkIis4UklDQyEjNSQhK3QhPShHZyEjNTckJCIrOFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKztSSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrN1JJQ0MhIzUkISt6IT0oR2chIzU3JCQiKzJSSUNDISM1JCErIjQ9KEdnISM1NyQkIis5UklDQyEjNSQhKyYzPShHZyEjNTckJCIrPFJJQ0MhIzUkISsmMz0oR2chIzU3JCQiKz5SSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhK3ohPShHZyEjNTckJCIrO1JJQ0MhIzUkISsiND0oR2chIzU3JCQiKz5SSUNDISM1JCErJjM9KEdnISM1NyQkIis7UklDQyEjNSQhKyYzPShHZyEjNTckJCIrOFJJQ0MhIzUkISt6IT0oR2chIzUtJSVWSUVXRzYkOyQhIzohIiIkIiM6ISIiOyQhIzohIiIkIiImISIiLSUrQVhFU0xBQkVMU0c2J1EhNiJRITYiLSUlRk9OVEc2JSUoREVGQVVMVEclKERFRkFVTFRHIiM1JStIT1JJWk9OVEFMRyUrSE9SSVpPTlRBTEctJShTQ0FMSU5HRzYjJSxDT05TVFJBSU5FREctJSVST09URzYnLSUpQk9VTkRTX1hHNiMkIiU1OSEiIi0lKUJPVU5EU19ZRzYjJCIkPyIhIiItJS1CT1VORFNfV0lEVEhHNiMkIiU/YyEiIi0lLkJPVU5EU19IRUlHSFRHNiMkIiVdUCEiIi0lKUNISUxEUkVORzYi
ckoi:= (reduce@factor@subs)(eli[1][1], pp): map(length, %); NyUiJFwjIiQsIkYk ckoi2:= simplify(ckoi, {condilou}):map(length, %); NyUiJFwjIiREIkYk
<Text-field style="Heading 1" layout="Heading 1">Vrac</Text-field> incircle= conicev(X7,X7) pX(7); zipd(cyclocev(%), %); conicev(pX(7), pX(7)); eq2mm(%); LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYqLUkmbWZyYWNHRiQ2KC1JI21uR0YkNiRRIjFGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRictRiw2Ji1GLDYoLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnL0Y2USdpdGFsaWNGJy1JI21vR0YkNi1RKCZtaW51cztGJ0Y1LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZLLyUpc3RyZXRjaHlHRksvJSpzeW1tZXRyaWNHRksvJShsYXJnZW9wR0ZLLyUubW92YWJsZWxpbWl0c0dGSy8lJ2FjY2VudEdGSy8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlotRj02JVEiYUYnRkBGQy1GRjYtUSIrRidGNUZJRkxGTkZQRlJGVEZWRlhGZW4tRj02JVEiY0YnRkBGQ0Y1LyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0ZLRjUvJS5saW5ldGhpY2tuZXNzR1EiMUYnLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRmpvLyUpYmV2ZWxsZWRHRkstRkY2LVEiLEYnRjVGSS9GTUZCRk5GUEZSRlRGVi9GWVEmMC4wZW1GJy9GZm5RLDAuMzMzMzMzM2VtRictRi82KEYxLUYsNiYtRiw2KEZdb0ZqbkZnbkZFRjxGNUZgb0Zjb0Y1RmVvRmhvRltwRl1wRl9wLUYvNihGMS1GLDYmLUYsNihGPEZqbkZnbkZFRl1vRjVGYG9GY29GNUZlb0Zob0ZbcEZdcEZgb0Zjb0Y1RjUvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRic= LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUYjNiYtSSVtcm93R0YkNiotSSNtbkdGJDYkUSIxRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkjbW9HRiQ2LVEiLEYnRjQvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHUSV0cnVlRicvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGMEY3RjAvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GNEY0LyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRjRGVkZZ LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUYjNiYtSSVtc3VwR0YkNiUtSSNtaUdGJDYlUSJ4RicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW5HRiQ2JFEiMkYnL0Y4USdub3JtYWxGJy8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUTEmSW52aXNpYmxlVGltZXM7RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZYLUYuNiUtSShtZmVuY2VkR0YkNiQtRiM2KC1GMTYlUSJiRidGNEY3LUZENi1RKCZtaW51cztGJ0Y+RkdGSkZMRk5GUEZSRlQvRldRLDAuMjIyMjIyMmVtRicvRlpGY28tRjE2JVEiYUYnRjRGNy1GRDYtUSIrRidGPkZHRkpGTEZORlBGUkZURmJvRmRvLUYxNiVRImNGJ0Y0RjdGPkY+RjpGQEY+Rl9vLUYjNixGOkZDLUZobjYkLUYjNihGXG9GaG9GZW9GX29GW3BGPkY+RkNGZ25GQy1GMTYlUSJ6RidGNEY3RkNGMEY+Rl9vLUYjNixGOkZDRmduRkMtRmhuNiQtRiM2KEZbcEZob0Zlb0Zfb0Zcb0Y+Rj5GQy1GMTYlUSJ5RidGNEY3RkNGMEY+RmhvLUYjNiYtRi42JUZpcEY6RkBGQy1GLjYlRl1xRjpGQEY+Rl9vLUYjNixGOkZDRmlwRkNGYHBGQ0ZdcUZDRmRwRj5GaG8tRiM2Ji1GLjYlRmBwRjpGQEZDLUYuNiVGZHBGOkZARj5GPg== LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKXMjSFci nine_points_circle=conicev(X2, X4) zipq(pp,pX(2)),zipq(pu, normal(cyclocev(pX(2))/2)): tmp:= conicev(pX(2),pX(4)); eq2mm(%); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEkdG1wRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEjOj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GIzYuLUYjNiYtSSVtc3VwR0YkNiUtRiw2JVEieEYnRi9GMi1JI21uR0YkNiRRIjJGJ0Y5LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy1GNjYtUTEmSW52aXNpYmxlVGltZXM7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSYwLjBlbUYnL0ZORl5vLUkobWZlbmNlZEdGJDYkLUYjNigtRiM2JC1GVDYlLUYsNiVRImJGJ0YvRjJGWUZnbkY5LUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GYHAtRiM2JC1GVDYlLUYsNiVRImNGJ0YvRjJGWUZnbkY5LUY2Ni1RKCZtaW51cztGJ0Y5RjtGPkZARkJGREZGRkhGX3BGYXAtRiM2JC1GVDYlLUYsNiVRImFGJ0YvRjJGWUZnbkY5RjlGOUY5RmlwLUYjNipGWUZqbkZnb0Zqbi1GLDYlUSJ6RidGL0YyRmpuRlZGOUZpcC1GIzYqRllGam5GVkZqbi1GLDYlUSJ5RidGL0YyRmpuRmRwRjlGXHAtRiM2Ji1GVDYlRmpxRllGZ25Gam4tRmFvNiQtRiM2KEZicEZccEZccUZpcEZlb0Y5RjlGOUZpcC1GIzYqRllGam5GZXFGam5GanFGam5GXnFGOUZccC1GIzYmLUZUNiVGZXFGWUZnbkZqbi1GYW82JC1GIzYoRlxxRlxwRmVvRmlwRmJwRjlGOUY5RjkvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRj1GOQ== LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKXMnSFAm
<Text-field style="Heading 1" layout="Heading 1">Cercles en tout genre (il faut Digits = 30)</Text-field> Digits:=30: Le kit circle # valr := r = (1/2)*a*b*c/((a+b+c)*R) # kitcircle:= isolate(defR, S), vale, valom, valr, s=(a+b+c)/2; kitcircle := S = (1/4)*a*b*c/R, e = sqrt(-a^2*c^2+c^4-b^2*c^2-a^2*b^2+a^4+b^4)/sqrt(a^2*b^2+a^2*c^2+b^2*c^2), {cos(omega) = (1/2)*(a^2+b^2+c^2)/sqrt(a^2*b^2+a^2*c^2+b^2*c^2), sin(omega) = (1/2)*a*b*c/(R*sqrt(a^2*b^2+a^2*c^2+b^2*c^2))}, s = (1/2)*a+(1/2)*b+(1/2)*c, r = (1/2)*a*b*c/((a+b+c)*R); NicvSSJTRzYiLCQqLCMiIiIiIiVGKUkiYUdGJUYpSSJiR0YlRilJImNHRiVGKUkiUkdGJSEiIkYpL0kiZUdGJSomKSwuKiYpRisiIiNGKSlGLUY3RilGLyokKUYtRipGKUYpKiYpRixGN0YpRjhGKUYvKiZGNkYpRjxGKUYvKiQpRitGKkYpRikqJClGLEYqRilGKSNGKUY3RikpLChGPUYpRjVGKUY7RilGQkYvPCQvLUkkY29zRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YlNiNJJm9tZWdhR0YlLCQqKEZCRiksKCokRjZGKUYpKiRGPEYpRikqJEY4RilGKUYpRkNGL0YpLy1JJHNpbkdGSUZMLCQqLkZCRilGK0YpRixGKUYtRilGLkYvRkNGL0YpL0kic0dGJSwoKiZGQkYpRitGKUYpKiZGQkYpRixGKUYpKiZGQkYpRi1GKUYpL0kickdGJSwkKi5GQkYpRitGKUYsRilGLUYpLChGK0YpRixGKUYtRilGL0YuRi9GKQ== WW1:= sqrt(a^2*b^2+a^2*c^2+b^2*c^2); WW2:= sqrt(-a^2*c^2+c^4-b^2*c^2-a^2*b^2+a^4+b^4); WW3:= sqrt(a^6-a^4*b^2-a^4*c^2-a^2*b^4+3*a^2*b^2*c^2-a^2*c^4+b^6-b^4*c^2-b^2*c^4+c^6); WW4:= sqrt(b^3-b^2*c-b*c^2+c^3-a*b^2+3*a*b*c-a*c^2-a^2*b-a^2*c+a^3); KiQpLCgqJilJImFHNiIiIiMiIiIpSSJiR0YoRilGKkYqKiZGJkYqKUkiY0dGKEYpRipGKiomRitGKkYuRipGKiNGKkYpRio= KiQpLC4qJilJImFHNiIiIiMiIiIpSSJjR0YoRilGKiEiIiokKUYsIiIlRipGKiomKUkiYkdGKEYpRipGK0YqRi0qJkYmRipGMkYqRi0qJClGJ0YwRipGKiokKUYzRjBGKkYqI0YqRilGKg== KiQpLDYqJClJImFHNiIiIiciIiJGKiomKUkiYkdGKCIiI0YqKUYnIiIlRiohIiIqJilJImNHRihGLkYqRi9GKkYxKiYpRi1GMEYqKUYnRi5GKkYxKioiIiRGKkY3RipGLEYqRjNGKkYqKiYpRjRGMEYqRjdGKkYxKiQpRi1GKUYqRioqJkY2RipGM0YqRjEqJkYsRipGO0YqRjEqJClGNEYpRipGKiNGKkYuRio= KiQpLDYqJClJImFHNiIiIiQiIiJGKiomSSJjR0YoRiopRiciIiNGKiEiIiomSSJiR0YoRipGLUYqRi8qJkYnRiopRjFGLkYqRi8qKkYpRipGJ0YqRjFGKkYsRipGKiomRidGKilGLEYuRipGLyomRixGKkYzRipGLyokKUYxRilGKkYqKiQpRixGKUYqRioqJkYxRipGNkYqRi8jRipGLkYq pytha(pp,px): factor(%): collect(%, px, U->collect(U, pp, factor, distributed), distributed): subs(a2toAA,%); LCQqKCwuKiYsKCooSSNDQ0c2IiIiIkkicUdGKUYqSSJwR0YpRiohIiIqJilJImJHRikiIiNGKilGLEYxRipGLSomKUkiYUdGKUYxRiopRitGMUYqRi1GKilJInpHRilGMUYqRioqJiwoKihJI0FBR0YpRipJInJHRilGKkYrRipGLSomKUkiY0dGKUYxRipGNkYqRi0qJkYvRiopRj1GMUYqRi1GKilJInhHRilGMUYqRioqJiwoKihJI0JCR0YpRipGPUYqRixGKkYtKiZGP0YqRjJGKkYtKiZGNEYqRkJGKkYtRiopSSJ5R0YpRjFGKkYqKigsKiooRkhGKkYrRipGLEYqRioqKEYoRipGPUYqRixGKkYqKipGMUYqRjRGKkYrRipGPUYqRioqJkY8RipGMkYqRi1GKkZMRipGOEYqRioqKCwqKipGMUYqRj9GKkYrRipGLEYqRioqKEY8RipGPUYqRixGKkYqKihGSEYqRj1GKkYrRipGKiomRihGKkZCRipGLUYqRkRGKkZMRipGKiooLCoqKEY8RipGK0YqRixGKkYqKipGMUYqRi9GKkYsRipGPUYqRioqKEYoRipGPUYqRitGKkYqKiZGSEYqRjZGKkYtRipGREYqRjhGKkYqRiopLChGREYqRkxGKkY4RipGMUYtKSwoRixGKkYrRipGPUYqRjFGLUYt
map(1/id, defR2)*a^2*b^2*c^2: ruleR:= -(expand@(rhs=lhs))(%); LywuKiZJImFHNiIiIiNJImJHRiZGJyEiIyomRiVGJ0kiY0dGJkYnRikqJkYoRidGK0YnRikqJEYrIiIlIiIiKiRGJUYuRi8qJEYoRi5GLywkKipGJUYnRihGJ0YrRidJIlJHRiZGKSEiIg== Antipodes sur le circumcircle _P:= pp; _O1:=pX(3); _PP:= collect(reflection(_O1,pp), pp, factor); NyVJInBHNiJJInFHRiRJInJHRiQ= NyUqJkkiYUc2IiIiIywoKiRGJEYmISIiKiRJImJHRiVGJiIiIiokSSJjR0YlRiZGLEYsKiZGK0YmLChGLUYsRihGLEYqRilGLComRi5GJiwoRihGLEYqRixGLUYpRiw= NyUsKCooLCgqJEkiY0c2IiIiIyIiIiokSSJhR0YoRilGKiokSSJiR0YoRikhIiJGKiwoRitGKkYtRipGJkYvRipJInBHRihGKkYvKihGLEYpLChGK0YqRi1GL0YmRi9GKkkicUdGKEYqISIjKihGLEYpRjNGKkkickdGKEYqRjUsKCooRi5GKUYlRipGMUYqRikqKEYwRipGM0YqRjRGKkYqKihGLkYpRiVGKkY3RipGKSwoKihGJ0YpRjBGKkYxRipGKSooRidGKUYwRipGNEYqRikqKEYlRipGM0YqRjdGKkYq _P1:= prm_cir(pdr); _PP1:= (elimifacu@reflection)(_O1,%): collect(%, pdr): Vector(%);;; NyUqJkkiYUc2IiIiIywmSSZzaWdtYUdGJSIiIkkkdGF1R0YlISIiRisqJkkiYkdGJUYmLCZJJHJob0dGJUYrRipGKUYrKiZJImNHRiVGJiwmRi9GKUYoRitGKw== LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIoP241Jw==
<Text-field style="Heading 1" layout="Heading 1">Circumcircle </Text-field> num_cent:=3; cent:= pX(%): rad2:= (R)^2; IiIk KiRJIlJHNiIiIiM= (factor@pp2uu)(cent): ccir_uu:= (Vector@factor@subs)(apbpc,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIoP2hXJg== IiIj subs(rho2=rad2, zipq(Vector(pu), ici_uu), eq_dou): (factor@subs)(defR2, %); eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LCgqKEkiY0c2IiIiI0kieEdGJSIiIkkieUdGJUYoRigqKEkiYkdGJUYmRidGKEkiekdGJUYoRigqKEkiYUdGJUYmRilGKEYsRihGKA== LCgqKEkiY0c2IiIiI0kieEdGJSIiIkkieUdGJUYoRigqKEkiYkdGJUYmRidGKEkiekdGJUYoRigqKEkiYUdGJUYmRilGKEYsRihGKA== circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; fac:=1: ici_eqn:= Sum(coeff(eqn0,x,2)*x^2,j)+fac*Sum(coeff(coeff(eqn0,y),z)/fac*y*z,j); LCYtSSRTdW1HNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JCIiIUkiakdGKCIiIi1GJDYkKihJImFHRigiIiNJInlHRihGLEkiekdGKEYsRitGLA== (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJEkiYUc2IiIiIyokSSJiR0YlRiYqJEkiY0dGJUYm IiIn rad2-eqn0/(x+y+z)^2; LCYqJEkiUkc2IiIiIyIiIiomLCgqKEkiY0dGJUYmSSJ4R0YlRidJInlHRiVGJ0YnKihJImJHRiVGJkYsRidJInpHRiVGJ0YnKihJImFHRiVGJkYtRidGMEYnRidGJywoRixGJ0YtRidGMEYnISIjISIi tmp:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): collect(-%/rotp(a^2), px, normal@expand, distributed); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpdyIqUnE= les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(pX(3),px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax): nops(%); IiRlIw== Points \303\240 l'infini sans isogon nomm\303\251 seq(`if`(ff[j]=1 and gg[j]=0,j,NULL), j=1..jmax); nops([%]); 12,19,36,58,101; seq(ency( (bary2norm)(pX(j))-bary2norm(pX(2))), j=%); NisiJEgmIiRNJiIkTiYiJFMmIiRXJiIkKSkpIiU3PiIlUT4iJVk+ IiIq NiciIzciIz4iI08iI2UiJCwi NiciJEgmIiRNJiIkTiYiJFMmIiRXJg== Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); N2hyIiN1IiMpKiIjKioiJCsiIiQsIiIkLSIiJC4iIiQvIiIkMCIiJDEiIiQyIiIkMyIiJDQiIiQ1IiIkNiIiJDciIiR3JSIkeCUiJCJwIiQwKSIkUykiJFUpIiRWKSIkLCoiJDwqIiREKiIkRioiJEgqIiRJKiIkTSoiJE4qIiRgKiIkcyoiJTg2IiU5NiIlVDYiJSFIIiIlI0giIiUkSCIiJSVIIiIlJkgiIiUnSCIiJShIIiIlKUgiIiUrOCIlLjgiJS84IiUwOCIlMzgiJTQ4IiV6OCIlIVEiIiUiUSIiJSNRIiIlQUEiJShvIyIlKW8jIiUqbyMiJSFwIyIlInAjIiUjcCMiJSRwIyIlJXAjIiUmcCMiJSdwIyIlKHAjIiUpcCMiJSpwIyIlK0YiJSxGIiUtRiIlLkYiJS9GIiUwRiIlMUYiJTJGIiUzRiIlNEYiJTVGIiU2RiIlN0YiJThGIiU5RiIlOkYiJTtGIiU8RiIlPUYiJT5GIiU/RiIlQEYiJUFGIiVCRiIlQ0YiJURGIiVFRiIlRkYiJUdGIiVIRiIlSUYiJUpGIiVLRiIlTEYiJU1GIiVORiIlT0YiJVBGIiVRRiIlUkYiJVNGIiVVRiIlVkYiJVdGIiVYRiIlWUYiJVpGIiVeRiIlX0YiJWRGIiVlRiIlaUYiJWxGIiVtRiIlb0YiJXFG IiRDIg== L0krYmFkX3BvaW50c0c2IkYk Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Incircle + antipodie</Text-field> num_cent:=1; cent:= pX(%): rad2:= (subs(kitcircle, r))^2; IiIi LCQqLEkiYUc2IiIiI0kiYkdGJUYmSSJjR0YlRiYsKEYkIiIiRidGKkYoRiohIiNJIlJHRiVGKyNGKiIiJQ== in_rad:= map(sqrt, rad2) assuming a>0,b>0,c>0,R>0; ici_rad:= %: LCQqLEkiY0c2IiIiIkkiYkdGJUYmSSJhR0YlRiYsKEYoRiZGJ0YmRiRGJiEiIkkiUkdGJUYqI0YmIiIj (factor@pp2uu)(cent): in_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpJzQnUl0= IiQ3JA== subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qJiwoSSJiRzYiISIiSSJjR0YmRidJImFHRiYiIiIiIiNJInhHRiZGKyNGJyIiJSoqRiRGKiwoRilGKkYoRipGJUYnRipGLEYqSSJ5R0YmRiojRidGKyoqRiRGKiwoRiVGKkYpRipGKEYnRipGLEYqSSJ6R0YmRipGMiomRjBGK0YxRitGLSoqRjBGKkY0RipGMUYqRjVGKiNGKkYrKiZGNEYrRjVGK0Yt circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; LCQqKCwoSSJiRzYiISIiSSJjR0YmRidJImFHRiYiIiIiIiNGJUYnRihGJyNGJyIiJQ==
<Text-field style="Heading 2" layout="Heading 2">antipodie</Text-field> _O1:= pX(3); _O2:= cent; NyUqJkkiYUc2IiIiIywoKiRGJEYmISIiKiRJImJHRiVGJiIiIiokSSJjR0YlRiZGLEYsKiZGK0YmLChGLUYsRihGLEYqRilGLComRi5GJiwoRihGLEYqRixGLUYpRiw= NyVJImFHNiJJImJHRiRJImNHRiQ= (R*bary2norm(cent)- ici_rad*bary2norm(pX(3)))/(R-ici_rad): (reduce@FActor@evalmm)(%): _V:= (elimifacu@FActor@subs)(defR2, %); ency(%); NyUqJkkiYUc2IiIiIywoSSJiR0YlISIiSSJjR0YlRilGJCIiIkYpLCQqJkYoRiYsKEYkRitGKkYrRihGKUYpRiksJComRipGJiwoRihGK0YkRitGKkYpRilGKQ== IiNj (R*bary2norm(cent) + ici_rad*bary2norm(pX(3)))/(R+ici_rad): (reduce@FActor@evalmm)(%): _U:= (elimifacu@FActor@subs)(defR2, %);ency(%); NyUqJkkiYUc2IiIiIywoSSJiR0YlISIiSSJjR0YlRilGJCIiIkYrLCQqJkYoRiYsKEYkRitGKkYrRihGKUYrRiksJComRipGJiwoRihGK0YkRitGKkYpRitGKQ== IiNi (reduce@factor@wedge)(wedge(_P,_U),wedge(_PP,_V)): collect(%, pp, factor): _Q:= Vector(xcollect(%, [rot3](-a+b+c))); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpcyVwKlI= (elimifacu@factor@wedge)(wedge(_PP,_U),wedge(_P,_V)): collect(%, pp, factor): _QQ:= Vector(xcollect(-%, [rot3](-a+b+c))); (reduce@factor)(bary2norm(_Q)+bary2norm(_QQ))=cent; LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpR1BLUw== LzclSSJhRzYiSSJiR0YlSSJjR0YlRiM= fac:=a^2: subs(zipq(pp, prm_cir(pdr)), _Q): %[1]: map(U-> U/fac, op(1,%))*fac*op(2,%): _Qprm:= Vector([rot3](%)); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpUzk1Xg== fac:=a^2: subs(zipq(pp, prm_cir(pdr)), _QQ): %[1]: map(U-> U/fac, op(1,%))*fac*op(2,%): _QQprm:= Vector([rot3](%)); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpTyRlZiU= unapply(eqn0, x,y,z)@OP: map(factor@%, [_Q,_QQ,_Qprm,_QQprm]): subs(eqcircum(pp)=0, %);; NyYiIiFGI0YjRiM=
facxx, facyz:=-1/4, 1/2: ici_eqn:= facxx*Sum(coeff(eqn0,x,2)/facxx*x^2,j)+ facyz*Sum(coeff(coeff(eqn0,y),z)/facyz*y*z,j); LCYtSSRTdW1HNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JComLChJImJHRighIiJJImNHRihGLUkiYUdGKCIiIiIiI0kieEdGKEYxIiU6TiNGLSIiJS1GJDYkKiosKEYvRjBGLkYwRixGLUYwLChGLEYwRi9GMEYuRi1GMEkieUdGKEYwSSJ6R0YoRjBGMyNGMEYx (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJCwoSSJiRzYiISIiSSJjR0YmRidJImFHRiYiIiJGJywkKiQsKEYpRipGKEYqRiVGJ0YnRicsJCokLChGJUYqRilGKkYoRidGJ0Yn IiIo tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): collect(-%/rotp(a^2), px, normal@expand, distributed); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpS1EiPig= les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax): nops(%); IiNS Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); N1ciIigiIzYiI08iI2wiIyEpIiRhJCIkVSoiJFkqIiViNiIlOTgiJTo4IiU8OCIlPjgiJUI4IiVhOCIlYjgiJWM4IiVkOCIlZTgiJWY4IiVnOCIlaDgiJWk4IiVqOCIlazgiJWw4IiVtOCIlbjgiJShRIiIlJnkiIiVZQyIlWkMiJUBJIiVBSSIlQkkiJUNJIiVESSIlRUkiJUZJIiVHSSIlPUwiJT5MIiU/TCIlQEwiJUFMIiVCTCIlQ0wiJURMIiVFTCIlRkwiJUdMIiU4TiIlOU4= IiNg L0krYmFkX3BvaW50c0c2IkYk On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiNS Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NzYiIzYiJTw4IiVlOCIlZjgiJWg4IiVpOCIlazgiJVlDIiVaQyIlQEkiJUFJIiVCSSIlQ0kiJUZJIiVHSSIlPUwiJT5MIiVBTCIlRUwiJUdM IiM/ L0krYmFkX3BvaW50c0c2IkYk Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Nine points (new)</Text-field> num_cent:=5; cent:= pX(%): rad2:= (R/2)^2; IiIm LCQqJEkiUkc2IiIiIyMiIiIiIiU= (factor@pp2uu)(cent): in_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpP2RoWQ== SSI/RzYi Essai pour plubo # subs(apbpc, in_uu); (factor)(add(k,k=in_uu)); in_uu-%*Vector([1,1,1]): FActor(%); subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qJiwoKiRJImJHNiIiIiMjISIiIiIlKiRJImNHRidGKEYpKiRJImFHRidGKCMiIiJGK0YxSSJ4R0YnRihGMSooRi1GKEYyRjFJInlHRidGMSNGMUYoKihGJkYoRjJGMUkiekdGJ0YxRjUqJiwoRixGKUYuRilGJUYwRjFGNEYoRjEqKEYvRihGNEYxRjdGMUY1KiYsKEYuRilGJUYpRixGMEYxRjdGKEYx circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; facxx, facyz:=-1/4, 1/2: j:='j': ici_eqn:= facxx*Sum( simplify(coeff(eqn0,x,2)/facxx)*x^2,j)+ facyz*Sum(coeff(coeff(eqn0,y),z)/facyz*y*z,j); LCYtSSRTdW1HNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JComLCgqJEkiYkdGKCIiIyIiIiokSSJjR0YoRi5GLyokSSJhR0YoRi4hIiJGL0kieEdGKEYuSSJqR0YoI0Y0IiIlLUYkNiQqKEYzRi5JInlHRihGL0kiekdGKEYvRjYjRi9GLg== (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJCwqKiRJImFHNiIiIiUiIiIqJkYmIiIjSSJiR0YnRishIiIqJkYmRitJImNHRidGK0YtKiZGLEYrRi9GK0YtRi0sJCokLCpGMEYpRipGKSokRixGKEYtRi5GKUYtRi0sJCokLCpGLkYpRjBGKSokRi9GKEYtRipGKUYtRi0= SSI/RzYi tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): #tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): #collect(-%/rotp(a^2), px, normal@expand, distributed); les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax): nops(%); IiNQ Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); N1kiIiMiIiQiIiUiIzYiJDgiIiQ5IiIkOiIiJDsiIiQ8IiIkPSIiJD4iIiQ/IiIkQCIiJEEiIiRCIiIkQyIiJEQiIiRFIiIkRiIiJEciIiRIIiIkSSIiJEoiIiRLIiIkTCIiJE0iIiROIiIkTyIiJFAiIiRRIiIkUiIiJFQiIiQnPSIkLiUiJEYlIiRvJSIkQiciJEMnIiREJyIkZSkiJTc4IiU4OCIlOzgiJWc6IiVtOiIlJWYiIiVSPyIlUz8iJXM/IiVdQyIlekUiJU1KIiVhSiIlZUsiJWZL IiNi L0krYmFkX3BvaW50c0c2IkYk On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiNQ Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NzoiIzYiJDgiIiQ5IiIkOiIiJDsiIiQ8IiIkPSIiJD4iIiRBIiIkQyIiJEQiIiRGIiIkRyIiJEgiIiRJIiIkSiIiJEsiIiRMIiIkTyIiJFAiIiU3OCIlODgiJVI/IiVTPw== IiND L0krYmFkX3BvaW50c0c2IkYk Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Bevan : circumcircle of excentral triangle (new)</Text-field> num_cent:=40; cent:= pX(%): rad2:= (2*R)^2; IiNT LCQqJEkiUkc2IiIiIyIiJQ== (factor@pp2uu)(cent): bev_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpN2hTYA== SSI/RzYi map(normal@simplify, bev_uu, {ruleR}): bev_uu:= (EXpand@subs)(isolate(ruleR, a^4), %); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpM2lAcw== subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qKEkiYkc2IiIiIkkiY0dGJUYmSSJ4R0YlIiIjRiYqKkYnRiYsKEkiYUdGJUYmRiRGJkYnRiZGJkYoRiZJInlHRiVGJkYmKipGJEYmRitGJkYoRiZJInpHRiVGJkYmKihGLEYmRidGJkYtRilGJioqRixGJkYrRiZGLUYmRi9GJkYmKihGLEYmRiRGJkYvRilGJg== circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; facxx, facyz:=1, a+b+c: j:='j': ici_eqn:= facxx*Sum( simplify(coeff(eqn0,x,2)/facxx)*x^2,j)+ facyz*Sum(coeff(coeff(eqn0,y),z)/facyz*y*z,j); LCYtSSRTdW1HNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2JCooSSJiR0YoIiIiSSJjR0YoRixJInhHRigiIiNJImpHRihGLComLChJImFHRihGLEYrRixGLUYsRiwtRiQ2JCooRjNGLEkieUdGKEYsSSJ6R0YoRixGMEYsRiw= (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJkkiYUc2IiIiIiwoSSJiR0YlISIiSSJjR0YlRilGJEYmRiksJComRihGJiwoRiRGJkYqRiZGKEYpRilGKSwkKiZGKkYmLChGKEYmRiRGJkYqRilGKUYp IiNk tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): #tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): #collect(-%/rotp(a^2), px, normal@expand, distributed); les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres Digits:=20: ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax): nops(%); IiIq Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); NzUiIiIiI08iI1kiI2QiJCVbIiVZNSIlYTUiJWI2IiV3NyIleDciJSNHIiIlbzwiJStAIiUsQCIlW0MiJVxDIiVbSCIlZkgiJWtN IiM+ L0krYmFkX3BvaW50c0c2IkYk On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiIq Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NyYiJStAIiUsQCIlW0MiJVxD IiIl L0krYmFkX3BvaW50c0c2IkYk Digits:=10: Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Brocard (new)</Text-field> num_cent:=182; cent:= pX(%); IiQjPQ== NyUqJkkiYUc2IiIiIywoKiRGJCIiJSIiIiomRiRGJiwmKiRJImJHRiVGJkYqKiRJImNHRiVGJkYqRiohIiIqJkYuRiZGMEYmISIjRioqJkYuRiYsKCokRi5GKUYqKiZGLkYmLCZGL0YqKiRGJEYmRipGKkYxKiZGJEYmRjBGJkYzRioqJkYwRiYsKCokRjBGKUYqKiZGMEYmLCZGOUYqRi1GKkYqRjEqJkYkRiZGLkYmRjNGKg== rad2:= subs(kitcircle, defR2, (e*R/cos(omega)/2)^2 ); LCQqNCwuKiZJImFHNiIiIiNJImNHRidGKCEiIiokRikiIiUiIiIqJkkiYkdGJ0YoRilGKEYqKiZGJkYoRi9GKEYqKiRGJkYsRi0qJEYvRixGLUYtRiZGKEYvRihGKUYoLChGL0YtRiZGLUYpRipGKiwoRiZGLUYvRi1GKUYtRiosKEYmRi1GKUYtRi9GKkYqLChGL0YqRilGKkYmRi1GKiwoKiRGJkYoRi0qJEYvRihGLSokRilGKEYtISIjRio= (factor@pp2uu)(cent): broc_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpWys4Uw== SSI/RzYi broc_uu:= map(sort, subs(apbpc, broc_uu), [a,b,c]); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpO2U3Og== subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qKkkiYkc2IiIiI0kiY0dGJUYmLCgqJEkiYUdGJUYmIiIiKiRGJEYmRisqJEYnRiZGKyEiIkkieEdGJUYmRi4qKkYnIiIlRihGLkYvRitJInlHRiVGK0YrKipGJEYxRihGLkYvRitJInpHRiVGK0YrKipGKkYmRidGJkYoRi5GMkYmRi4qKkYqRjFGKEYuRjJGK0Y0RitGKyoqRipGJkYkRiZGKEYuRjRGJkYu circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; facxx, facyz:=1/(a^2+b^2+c^2) $2: j:='j': A(facxx)*Sum( simplify(coeff(eqn0,x,2)/facxx)*x^2,j)+ A(facyz)*Sum(coeff(coeff(eqn0,y),z)/facyz*y*z,j): ici_eqn:= sort(%, [x,y,z]); LCYqJi1JIkFHNiI2IyokLCgqJEkiYUdGJiIiIyIiIiokSSJiR0YmRixGLSokSSJjR0YmRixGLSEiIkYtLUkkU3VtRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YmNiQsJCooRjFGLEYvRixJInhHRiZGLEYySSJqR0YmRi1GLSomRiRGLS1GNDYkKihGKyIiJUkieUdGJkYtSSJ6R0YmRi1GPEYtRi0= (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJiwmKiRJImFHNiIiIiUiIiMqJkkiYkdGJ0YpSSJjR0YnRikiIiIhIiJGJkYpKiYsJiokRitGKEYpKiZGJkYpRixGKUYtRi5GK0YpKiYsJiokRixGKEYpKiZGJkYpRitGKUYtRi5GLEYp SSI/RzYi tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): #tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): #collect(-%/rotp(a^2), px, normal@expand, distributed); les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres Digits:=20: ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax); nops(%); NyYiIiQiIiciJSQzIiIlOzg= IiIl Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); N15xIiIjIiIkIiInIiM6IiM7IiNLIiNSIiNdIiNfIiNlIiNoIiNpIiQ1IiIkNiIiJEQiIiQlPSIkKD0iJDsjIiQlRyIkYCQiJHIkIiRzJCIkJ1EiJCpRIiQrJiIkbSYiJG4mIiRvJiIkcCYiJHEmIiRyJiIkcyYiJHQmIiR1JiIkdiYiJHcmIiR4JiIkeSYiJHomIiQhZSIkImUiJCNlIiQkZSIkJWUiJSQzIiIlXjYiJV82IiU7OCIlUzgiJVQ4IiVVOCIlVjgiJXo4IiUhUSIiJXk6IiV6OiIlaTsiJWo7IiVrOyIlbDsiJW07IiVuOyIlbzsiJXA7IiVxOyIlcjsiJShvIiIlKW8iIiUqbyIiJSFwIiIlInAiIiVYQSIleUEiJWdEIiVoRCIldEUiJXVFIiUlNCQiJSY0JCIlNkwiJTdMIiVrTCIlbEwiJW9MIiVwTCIlckwiJXNMIiV6TCIlIVEkIiUmUSQiJSdRJCIlKlEkIiUhUiQiJSRSJCIlJVIkIiUmUiQiJSdSJCIlKVIk IiMpKg== L0krYmFkX3BvaW50c0c2IkYk On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiIl Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NyQiIiQiIic= IiIj L0krYmFkX3BvaW50c0c2IkYk Digits:=10: Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Spieker +antipodie</Text-field> j:='j': num_cent:=10; cent:= pX(%); IiM1 NyUsJkkiY0c2IiIiIkkiYkdGJUYmLCZJImFHRiVGJkYkRiYsJkYnRiZGKUYm rad2:= subs(kitcircle, valR22, (r/2)^2 ); LCQqKiwoSSJiRzYiIiIiSSJhR0YmRidJImNHRiYhIiJGJywoRihGJ0YpRidGJUYqRicsKEYlRipGKUYqRihGJ0YnLChGKEYnRiVGJ0YpRidGKiNGKiIjOw== (factor@pp2uu)(cent): spie_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpS0luUg== SSI/RzYi isolate(defR2, a+b-c): spie_rad:= (sqrt@factor@subs)(%, rad2) assuming a>0,b>0,c>0,R>0;ici_rad:=%: LCQqLEkiY0c2IiIiIkkiYkdGJUYmSSJhR0YlRiYsKEYoRiZGJ0YmRiRGJiEiIkkiUkdGJUYqI0YmIiIl subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qJiwuKiRJImFHNiIiIiMjIiIkIiM7KiZGJiIiIkkiY0dGJ0YtIyEiIiIiKSomRiZGLUkiYkdGJ0YtRi8qJkYzRi1GLkYtI0YqRjEqJEYuRigjISImRisqJEYzRihGN0YtSSJ4R0YnRihGLSoqLChGJkYtRjNGLUYuRi1GLSwoRjNGLUYmRi1GLiEiJEYtRjpGLUkieUdGJ0YtRi8qKkY8Ri0sKEYzRj5GJkYtRi5GLUYtRjpGLUkiekdGJ0YtRi8qJiwuRiVGN0YsRjVGMkYvRjRGL0Y2RjdGOUYpRi1GP0YoRi0qKkY8Ri0sKEYzRjBGJkYqRi5GMEYtRj9GLUZCRi0jRi1GMSomLC5GJUY3RixGL0YyRjVGNEYvRjZGKUY5RjdGLUZCRihGLQ== circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c;
<Text-field style="Heading 2" layout="Heading 2">antipodie</Text-field> _O1:= pX(3); _O2:= cent; NyUqJkkiYUc2IiIiIywoKiRGJEYmISIiKiRJImJHRiVGJiIiIiokSSJjR0YlRiZGLEYsKiZGK0YmLChGLUYsRihGLEYqRilGLComRi5GJiwoRihGLEYqRixGLUYpRiw= NyUsJkkiY0c2IiIiIkkiYkdGJUYmLCZJImFHRiVGJkYkRiYsJkYnRiZGKUYm (R*bary2norm(cent)- ici_rad*bary2norm(pX(3)))/(R-ici_rad): (reduce@FActor@evalmm)(%): _V:= (elimifacu@FActor@subs)(defR2, %); ency(%); NyUqJkkiYUc2IiIiIiwqKiZGJEYmSSJiR0YlRiYhIiIqJkYpRiZJImNHRiVGJiIiIyokRiRGLUYmKiZGJEYmRixGJkYqRiYsJComRilGJiwqRi8hIiNGK0YmRihGJiokRilGLUYqRiZGKiomRixGJiwqRihGLUYrRipGL0YqKiRGLEYtRiZGJg== IiV3OA== (R*bary2norm(cent) + ici_rad*bary2norm(pX(3)))/(R+ici_rad): (reduce@FActor@evalmm)(%): _U:= (elimifacu@FActor@subs)(defR2, %);ency(%); NyUqKEkiYUc2IiIiIiwoSSJiR0YlISIiSSJjR0YlRilGJEYmRiYsKiomRiRGJkYoRiZGJiomRihGJkYqRiYiIiMqJEYkRi5GJiomRiRGJkYqRiZGJkYmLCQqKEYoRiYsKkYtRiZGMEYuRixGJiokRihGLkYmRiYsKEYkRiZGKkYmRihGKUYmRiksJCooRipGJiwqRixGLkYtRiZGMEYmKiRGKkYuRiZGJiwoRihGJkYkRiZGKkYpRiZGKQ== IiRlKg== (reduce@factor@wedge)(wedge(_P,_U),wedge(_PP,_V)): collect(%, pp, factor): _Q:= Vector(xcollect(%, [rot3](-a+b+c))); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpI1IpSD4= (elimifacu@factor@wedge)(wedge(_PP,_U),wedge(_P,_V)): collect(%, pp, factor): _QQ:= Vector(xcollect(-%, [rot3](-a+b+c))); (reduce@factor)(bary2norm(_Q)+bary2norm(_QQ))=cent; LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpM215YA== LzclLCZJImNHNiIiIiJJImJHRiZGJywmSSJhR0YmRidGJUYnLCZGKEYnRipGJ0Yj fac:=a^2: subs(zipq(pp, prm_cir(pdr)), _Q): _Qprm:= Vector(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpOzdaPw== fac:=a^2: subs(zipq(pp, prm_cir(pdr)), _QQ): _QQprm:= Vector(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpc0k/XQ== unapply(eqn0, x,y,z)@OP: map(factor@%, [_Q,_QQ,_Qprm,_QQprm]): subs(eqcircum(pp)=0, %);; NyYiIiFGI0YjRiM= fac:= b+c-a: unapply(convert(_Q,list),p,q,r)@op: tokim(%,pp): collect(%[1]/fac, pp, factor): xcollect(%, [a*b+2*b*c+a^2+a*c,p,a], factor); LCYqJiwmKiZJImJHNiIiIiJJInFHRidGKEYoKiZJImNHRidGKEkickdGJ0YoRihGKCwqKiZJImFHRidGKEYmRihGKComRiZGKEYrRigiIiMqJEYvRjFGKComRi9GKEYrRihGKEYoRigqJiwmKiYsJiokRiZGMUYoKiRGK0YxRihGKEYvRihGKComLCZGK0YoRiZGKEYoLCZGJkYoRishIiJGMUYoRihJInBHRidGKEYo fac:= 1: unapply(convert(_QQ,list),p,q,r)@op: tokim(%,pp): collect(%[1]/fac, pp, factor): xcollect(%, [-a*b+2*b*c+a^2-a*c,p,a], factor); LCYqJiwmKiZJImJHNiIiIiJJInFHRidGKCEiIiomSSJjR0YnRihJInJHRidGKEYqRigsKiomSSJhR0YnRihGJkYoRioqJkYmRihGLEYoIiIjKiRGMEYyRigqJkYwRihGLEYoRipGKEYoKiYsJiomLCYqJEYmRjJGKiokRixGMkYqRihGMEYoRigqJiwmRixGKEYmRihGKCwmRiZGKEYsRipGMkYoRihJInBHRidGKEYo
facxx, facyz:=1/16, (a+b+c)/8: j:='j': A(facxx)*Sum( simplify(coeff(eqn0,x,2)/facxx)*x^2,j)+ A(facyz)*Sum(simplify(coeff(coeff(eqn0,y),z)/facyz)*y*z,j): ici_eqn:= sort(%, [x,y,z,a,b,c]); LCYqJi1JIkFHNiI2IyMiIiIiIztGKS1JJFN1bUc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkdGJjYkKiYsLiokSSJhR0YmIiIjIiIkKiZGNEYpSSJiR0YmRikhIiMqJkY0RilJImNHRiZGKUY5KiRGOEY1ISImKiZGOEYpRjtGKSIiJyokRjtGNUY9RilJInhHRiZGNUkiakdGJkYpRikqJi1GJTYjLChGNCNGKSIiKUY4RkdGO0ZHRiktRiw2JCooLChGNEY2RjghIiJGO0ZNRilJInlHRiZGKUkiekdGJkYpRkJGKUYp (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUiIiJGI0Yj IiIj tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): #tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): #collect(-%/rotp(a^2), px, normal@expand, distributed); les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres Digits:=20: ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax); nops(%); NyoiJU5JIiVPSSIlUEkiJVFJIiVSSSIlU0kiJVRJIiVVSQ== IiIp Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); NysiJT44IiVOSSIlT0kiJVBJIiVRSSIlUkkiJVNJIiVUSSIlVUk= IiIq L0krYmFkX3BvaW50c0c2IjYjIiU+OA== tmq: funinv(xyz[1319]): false667:=%/add(k,k=%); map(convert,%,rational); NyUkIjU0Ly1edihRcE1uJCEjPyQiNXVIJylHMkQpPkM+JEYlJCI1Pm02PzwoeTVUOCRGJQ== NyUjIiM9IiNcIyIkPiMiJCdvIyIkOiNGKA== true667:= xyz[667];map(convert,%,rational); NyUkIjUzLy1edihRcE1uJCEjPyQhNUg5ZEc5ZEdrcEAhIz4kIjUpUXBNbiQ9ZkgtR0Yo NyUjIiM9IiNcIyEkViMiJDciIyIlKD4jIiQleQ== (reduce@subs)(ency_, pX(667)): %/add(k, k=%); NyUjIiM9IiNcIyEkViMiJDciIyIlKD4jIiQleQ== On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiIp Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NyYiJU5JIiVPSSIlU0kiJVVJ IiIl L0krYmFkX3BvaW50c0c2IkYk Digits:=10: Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">orthocentroidal (new)</Text-field> j:='j': cent:= -(reduce@factor)(bary2norm(pX(2))+bary2norm(pX(4))); num_cent:=ency(%); NyUsLiomSSJiRzYiIiIjSSJjR0YmRiciIiUqJEYoRikhIiMqJEkiYUdGJkYpIiIiKiRGJUYpRisqJkYtRidGJUYnRi4qJkYtRidGKEYnRi4sLkYsRitGMUYpRi9GLkYqRitGMEYuRiRGLiwuRipGLkYsRitGMEYpRi9GK0YxRi5GJEYu IiQiUQ== rad2:= (factor@pytha)(cent, pX(2)); LCQqLCw2KiRJImFHNiIiIiciIiIqJkYmIiIlSSJiR0YnIiIjISIiKiZGJkYrSSJjR0YnRi1GLiomRiZGLUYsRitGLiooRiZGLUYsRi1GMEYtIiIkKiZGJkYtRjBGK0YuKiRGLEYoRikqJkYsRitGMEYtRi4qJkYsRi1GMEYrRi4qJEYwRihGKUYpLChGLEYpRiZGKUYwRi5GLiwoRiZGKUYsRilGMEYpRi4sKEYmRilGMEYpRixGLkYuLChGLEYuRjBGLkYmRilGLiNGLiIiKg== WW3; KiQsNiokSSJhRzYiIiInIiIiKiZGJSIiJUkiYkdGJiIiIyEiIiomRiVGKkkiY0dGJkYsRi0qJkYlRixGK0YqRi0qKEYlRixGK0YsRi9GLCIiJComRiVGLEYvRipGLSokRitGJ0YoKiZGK0YqRi9GLEYtKiZGK0YsRi9GKkYtKiRGL0YnRigjRihGLA== (factor@pp2uu)(cent): oc_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpV1Zddg== SSI/RzYi subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qJiwoKiRJImFHNiIiIiMjIiIiIiIkKiRJImJHRidGKCMhIiJGKyokSSJjR0YnRihGLkYqSSJ4R0YnRihGKiooRjFGKEYyRipJInlHRidGKkYpKihGLUYoRjJGKkkiekdGJ0YqRikqJiwoRjBGLkYlRi5GLEYpRipGNEYoRioqKEYmRihGNEYqRjZGKkYpKiYsKEYlRi5GLEYuRjBGKUYqRjZGKEYq circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; KigsKCokSSJhRzYiIiIjIyIiIiIiJCokSSJiR0YmRicjISIiRioqJEkiY0dGJkYnRi1GKUYsRi5GMEYu facxx, facyz:=1/3, 1/3: j:='j': A(facxx)*Sum( simplify(coeff(eqn0,x,2)/facxx)*x^2,j)+ A(facyz)*Sum(simplify(coeff(coeff(eqn0,y),z)/facyz)*y*z,j): ici_eqn:= sort(%, [a,b,c,x,y,z]); LCYqJi1JIkFHNiI2IyMiIiIiIiRGKS1JJFN1bUc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkdGJjYkKiYsKCokSSJhR0YmIiIjRikqJEkiYkdGJkY1ISIiKiRJImNHRiZGNUY4RilJInhHRiZGNUkiakdGJkYpRikqJkYkRiktRiw2JCooRjRGNUkieUdGJkYpSSJ6R0YmRilGPEYpRik= (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJCwqKiRJImFHNiIiIiUiIiMqJkYmRilJImJHRidGKSEiIyomRiZGKUkiY0dGJ0YpRiwqJkYrRilGLkYpISIiRjAsJCokLCpGL0YpRipGKSokRitGKEYsRi0iIiJGMEYwLCQqJCwqRi1GKUYvRikqJEYuRihGLEYqRjVGMEYw SSI/RzYi tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): #tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): #collect(-%/rotp(a^2), px, normal@expand, distributed); les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: (reduce@factor@evalmm@subs)(enzy_, tmp_inv): zuninv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres Digits:=20: ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax); nops(%); NyQiIiMiIiU= IiIj Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); N2hwIiIjIiIkIiIlIiImIiInIiM4IiM5IiM/IiNAIiNDIiNEIiNGIiQ6IiIkUyIiJE4jIiQoSCIkdyQiJHgkIiR5JCIkeiQiJCNRIiQkUSIkLiUiJDAlIiQxJSIkRiUiJEklIiRVJSIkZSUiJHAlIiRxJSIkciUiJHMlIiR0JSIkdiUiJFkmIiRKJyIkXikiJGQpIiRlKSIkbykiJTY1IiU3NSIlITMiIiU4NiIlOTYiJTc4IiU4OCIlOzgiJVc4IiVYOCIlWTgiJVo4IiVLOiIlJGUiIiUlZSIiJSZlIiIlJ2UiIiUiZiIiJSNmIiIlJGYiIiUlZiIiJSZmIiIlJ2YiIiUoZiIiJSlmIiIlYzsiJSopPSIlJik+IiUmKj4iJVY/IiVXPyIlWD8iJVk/IiVdQyIld0MiJXlDIiUpMyQiJSozJCIlITQkIiUiNCQiJU9KIiVbSiIlR04iJU5OIiVPTiIlUk4iJVNOIiVUTiIlVU4iJVdOIiVYTg== IiMjKg== L0krYmFkX3BvaW50c0c2IkYk for j in ici_inv do zuninv(zxyz[j]); %/add(k,k=%)-zxyz[qqr[j]]; if add(abs(k),k=%) > Float(1,-10) then print(j) fi; od: IiVHTg== IiVXTg== zuninv(zxyz[3528]); evalf(%/add(k,k=%),10); NyUkITRFNWtENWsmPSJ5JiEjOCQhNSd6KUhSZjojb0k3IkYlJCI1eUUzQSlSXD9WdCNGJQ== NyUkISt1bngmZiYhIzUkISswLTAoMyIhIiokIiskKXlpWUVGKA== [-.5595776774, -1.087050205, 2.646627883] qqr[3544]; IiVHTg== On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiIj Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NyQiIiMiIiU= IiIj L0krYmFkX3BvaW50c0c2IkYk Digits:=10: Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Fuhrmann (new)</Text-field> j:='j': cent:= -(reduce@factor)(bary2norm(pX(4))+bary2norm(pX(8))); num_cent:=ency(%); NyUsOCokSSJhRzYiIiIlIiIiKiZGJSIiJEkiY0dGJkYoISIiKiZGJUYqSSJiR0YmRihGLCooRiUiIiNGLkYoRitGKEYwKihGJUYoRi5GMEYrRihGLComRitGKkYlRihGKCooRiVGKEYuRihGK0YwRiwqJkYlRihGLkYqRigqJkYuRjBGK0YwRjAqJEYrRidGLCokRi5GJ0YsLDhGJEYsRi1GKComRiVGMEYrRjBGMEYvRixGMUYwRjRGLEYzRixGNkYsKiZGLkYqRitGKEYsRjdGKComRitGKkYuRihGKCw4RiRGLEYpRigqJkYlRjBGLkYwRjBGL0YsRjJGLEYzRjBGMUYsRjZGKEY6RihGN0YsRjtGLA== IiRiJA== rad2:= (factor@pytha)(cent, pX(4)); LCQqMkkiYUc2IiIiIkkiY0dGJUYmSSJiR0YlRiYsNiokRigiIiRGJiomRigiIiNGJ0YmISIiKiZGKEYmRidGLUYuKiRGJ0YrRiYqJkYkRiZGKEYtRi4qKEYkRiZGKEYmRidGJkYrKiZGJEYmRidGLUYuKiZGKEYmRiRGLUYuKiZGJ0YmRiRGLUYuKiRGJEYrRiZGJiwoRihGJkYkRiZGJ0YuRi4sKEYkRiZGKEYmRidGJkYuLChGJEYmRidGJkYoRi5GLiwoRihGLkYnRi5GJEYmRi5GLg== ruleW:= WW4^2=W4^2; Lyw2KiRJImJHNiIiIiQiIiIqJkYlIiIjSSJjR0YmRighIiIqJkYlRihGK0YqRiwqJEYrRidGKComSSJhR0YmRihGJUYqRiwqKEYwRihGJUYoRitGKEYnKiZGMEYoRitGKkYsKiZGJUYoRjBGKkYsKiZGK0YoRjBGKkYsKiRGMEYnRigqJEkjVzRHRiZGKg== (sqrt@subs)(ruleW, apbpc, rad2): fuhr_rad:= simplify(%) assuming R>0,W4>0; KihJI1c0RzYiIiIiSSJSR0YkRiUqKEkiYUdGJCEiIkkiY0dGJEYpSSJiR0YkRikjRiUiIiM= (factor@pp2uu)(cent): fuhr_uu:= (Vector@factor@subs)(defR2,%); ici_uu:=%: ency(%); LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpI3p3VCM= SSI/RzYi Plus bo (FActor@simplify)( subs(apbpc,fuhr_uu), {ruleW}): tmp:= collect(%, [W4, R], factor):; isolate(ruleW, a^3); collect(subs(%, tmp[3]), [R,W4], factor); sort(rot(%), [a,b,c]): collect(%, [R,W4], factor): fuhr_uu:= Vector([rot3](%)); (FActor@subs)(defR2, W4=WW4, %-ici_uu); LyokSSJhRzYiIiIkLDYqJEkjVzRHRiUiIiMiIiIqJEkiYkdGJUYmISIiKiZJImNHRiVGK0YtRipGKyomRi1GK0YwRipGKyokRjBGJkYuKiZGJEYrRi1GKkYrKihGJEYrRi1GK0YwRishIiQqJkYkRitGMEYqRisqJkYtRitGJEYqRisqJkYwRitGJEYqRis= KiYsJiosLCoqJEkiYUc2IiIiIyIiIiokSSJiR0YoRilGKiokSSJjR0YoRikhIiIqJkYnRipGLEYqRi9GKkYuRi9GJyEiI0YsRjFJI1c0R0YoRilGLyooLChGJkYqRitGKkYtRi9GKkYnRi9GLEYvRipGKkkiUkdGKEYp LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpP2xuOg== LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIpJ1xGKnA= subs(rho2=rad2, valR22, zipq(Vector(pu), ici_uu), eq_dou): eqn0:= sort(collect(%, px, factor, distributed), [x,y,z]); LC4qKiwoKiRJImFHNiIiIiMiIiIqJEkiYkdGJ0YoISIiKiRJImNHRidGKEYsRilGJkYpLChGJkYpRitGKUYuRilGLEkieEdGJ0YoRikqKiwsKiRGJiIiJEYpKiZGK0YpRiZGKEYsKiZGJkYpRitGKEYsKiRGLkY0RikqJEYrRjRGKUYpRi9GLEYwRilJInlHRidGKUYpKiosLEYzRikqJkYuRilGJkYoRiwqJkYmRilGLkYoRixGN0YpRjhGKUYpRi9GLEYwRilJInpHRidGKUYpKiosKEYtRilGJUYpRipGLEYpRitGKUYvRixGOUYoRiwqKiwsRjNGKSomRitGKUYuRihGLComRi5GKUYrRihGLEY3RilGOEYpRilGL0YsRjlGKUY+RilGKSoqRi5GKSwoRiVGKUYqRilGLUYsRilGL0YsRj5GKEYs circlefunction:= subs(y=0,z=0,x=1,eqn0)/b/c; facxx, facyz:=1/(a+b+c) $2: j:='j': A(facxx)*Sum( simplify(coeff(eqn0,x,2)/facxx)*x^2,j)+ A(facyz)*Sum(simplify(coeff(coeff(eqn0,y),z)/facyz)*y*z,j): ici_eqn:= sort(%, [a,b,c,x,y,z]); LCYqJi1JIkFHNiI2IyokLChJImFHRiYiIiJJImJHRiZGK0kiY0dGJkYrISIiRistSSRTdW1HNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRiY2JCooLCgqJEYqIiIjRisqJEYsRjhGLiokRi1GOEYuRitGKkYrSSJ4R0YmRjhJImpHRiZGK0YrKiZGJEYrLUYwNiQqKCwsKiRGKiIiJEYrKiRGLEZDRisqJkYsRjhGLUYrRi4qJkYsRitGLUY4Ri4qJEYtRkNGK0YrSSJ5R0YmRitJInpHRiZGK0Y8RitGKw== (factor@mm2persp@eq2mm)(eqn0): ici_persp:= elimifacu(%); ency(%); NyUqJCxEKiRJImJHNiIiIiYhIiIqJkkiY0dGJyIiIkYmIiIlRiwqJkYmIiIkSSJhR0YnIiIjRiwqKEYwRixGJkYvRitGLEYsKiZGJkYvRitGMUYpKihGK0YsRjBGMUYmRjFGKSooRjBGLEYmRjFGK0YxRiwqJkYrRi9GJkYxRikqJkYwRi9GJkYxRikqKEYwRixGK0YvRiZGLEYsKihGMEYvRiZGLEYrRixGKSooRiZGLEYwRjFGK0YxRikqJkYmRixGK0YtRiwqJkYrRi9GMEYxRiwqJEYwRihGLComRjBGL0YrRjFGKSokRitGKEYpRiksJCokLERGJUYpRjNGLEYuRixGMkYsRjRGLEY1RixGNkYpRjdGKUY5RilGOkYpRjhGKUY8RixGPkYsRj1GLEY/RiwqJkYrRixGMEYtRikqJkYwRixGK0YtRilGKUYpLCQqJCxERiVGLComRjBGLEYmRi1GKUYzRilGMkYpRi5GLEY3RixGNUYsRjRGKUY2RixGOkYsRjlGKUY4RiwqJkYmRixGMEYtRilGPEYsRj1GLEY+RilGP0YpRilGKQ== SSI/RzYi tmp_inv:= bary2norm(cent)+(bary2norm(px)-bary2norm(cent))*rad2/(rad2-eqn0/(x+y+z)^2): #tmq:= (reduce@factor@evalmm)(%): (Vector@factor@subs)(defR2, %): #collect(-%/rotp(a^2), px, normal@expand, distributed); les fonctions funon, funinv, funsym (reduce@factor@evalmm@subs)(ency_, tmp_inv): funinv:= unapply(%,x,y,z)@op: funon:= unapply(subs(ency_, eqn0), x,y,z)@op: (reduce@subs)(ency_, reflection(cent,px)): funsym:= unapply(%,x,y,z)@op: Bien r\303\251gler le seuil... ou bien passer \303\240 20 chiffres Digits:=20: ici_on:= [seq](`if`((abs@funon)(xyz[j])<Float(1,-6),j,NULL),j=1..jmax); nops(%); NyQiIiUiIik= IiIj Les inverses-in-circle qqr:= table(): for j to jmax do if ff[j]=1 then next fi; tmp:= ency(funinv(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: # j:='j': ici_inv:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=ici_inv); Ny4iIiIiIiUiIikiIzYiI3MiIyEpIiVQPSIldkMiJT5NIiVNTSIlT00iJVtN IiM3 L0krYmFkX3BvaW50c0c2IkYk On doit retrouver le nombre de points sur le cercle [seq](`if`(qqr[j]=j,j,NULL),j=ici_inv): nops(%); IiIj Les antipodaux qqr:= table(): for j in ici_on do tmp:= ency(funsym(xyz[j])): if tmp <>`?` then qqr[j]:= tmp; fi; od: j:='j': lesk:= sort(map(op,[indices](qqr))); nops(%); bad_points=seq(`if`(qqr[qqr[j]]=j,NULL,j), j=lesk); NyQiIiUiIik= IiIj L0krYmFkX3BvaW50c0c2IkYk Digits:=10: Il faut envoyer cela ***si besoin*** dans un r\303\251pertoire lisible et navigable if false then try close(fd); catch : end try; fd := open("/home/douillet/public_html/etc/alt_data.csv", WRITE): for j in lesk do fprintf(fd, """%d"";""%d""\134n", j, qqr[j]); od: close(fd); j:='j': fi:
<Text-field style="Heading 1" layout="Heading 1">Lemoine 1 (new)</Text-field> j:='j': num_cent:=182; cent:= pX(%); IiQjPQ==