{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 0 0 255 1 0 2 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 1 14 128 0 0 1 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 1 14 0 0 128 1 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 } 0 0 0 -1 4 4 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 16 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "Arial Black" 1 24 5 28 176 0 2 1 2 0 0 2 0 0 0 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Courier" 0 9 0 0 0 1 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "" 0 10 128 0 0 1 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 0" -1 258 1 {CSTYLE "" -1 -1 "Helve tica" 0 12 128 0 128 1 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 259 1 {CSTYLE "" -1 -1 "Courier" 0 11 0 128 128 1 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 262 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 263 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE " " 0 264 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 263 "" 0 "" {TEXT -1 57 "Retranscription des fichiers du package Geometry de la V3" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 262 "" 0 " " {TEXT -1 30 "Aucune garantie de fiabilit\351. " }}{PARA 264 "" 0 "" {TEXT -1 89 "En particulier, toute utilisation dans un contexte indust riel est vivement d\351conseill\351e\n " }}}{EXCHG {PARA 18 "" 0 "" {TEXT -1 13 "Geo_v3(V5.05)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "interface(verboseproc=1); ever_load:= NULL :" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 22 "Rou tines pr\351paratoires" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 28 "Cr\351ation de la liste savelib " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 891 "unprotect (savelib) : s savelib:= NULL: \nsavelib:= proc() local filename, values, library, p athname, f; \nglobal savelibname, ssavelib;\n if not assigned(savelib name) then savelibname := op(1, [libname]) fi;\n filename := args[nar gs];\n if not type(filename, \{symbol,string\}) then \n ERROR(`la st argument (filename) must be a symbol/string`) fi;\n values := args [1 .. nargs - 1];\n if not type([values], list(\{symbol, string\})) t hen \n ERROR(`arguments must be symbol/string`) fi;\n if not type ([savelibname], list(string)) then \n ERROR(`savelibname assigned \+ improperly`) fi;\nssavelib:= ssavelib, values;\n for library in [sa velibname] do\n pathname := cat(library, '`/`', filename);\n \+ f := subs('T' = (values, pathname), proc() save T end);\n \+ if traperror(f()) <> lasterror then RETURN() fi\n od;\n ERROR(`u nable to save `.filename.` in`, savelibname)\nend :" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 4 "init" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "system(dater): fd:= fopen(\"c:/windows/date.txt\", READ):\ndat e_string:= readline(fd): fclose(fd):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 108 "message = \"ndiff ; author : ; last modi f (V5) : \".\n (substring(date_string, 22..35)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 135 "`geo_v3/init`:= subs(% , proc( ) option `Copyright P ierre L. Douillet`; \nunprotect(gamma);\nprint(convert(message, symbol )) end ) : %();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%eondiff~~;~~author ~:~~~;~~last~modif~(V5)~:~Sam~24/02/2001G" }}}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "xreadlib" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 249 "xreadlib:= proc(qui::uneval) option `Copyright Pi erre L. Douillet` ; local qui2, ou ; \nqui2:= eval(qui,1); to 10 do ou := searchtext('`/`', qui2); if ou = 0 then break fi;\nqui2:= substring (qui2, ou+1..-1): assign(qui2, readlib(qui)); od; qui2 ;\n end;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xreadlibGR6#'%$quiG%'unevalG6$%%qui 2G%#ouG6#%=Copyright~Pierre~L.~DouilletG6\"C%>8$-%%evalG6$9$\"\"\"?(F/ F7F7\"#5%%trueGC&>8%-%+searchtextG6$.%\"/GF2@$/F=\"\"!%&breakG>F2-%*su bstringG6$F2;,&F=F7F7F7!\"\"-%'assignG6$F2-%(readlibG6#F6F2F/F/F/" }}} }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 " " {TEXT -1 9 "Ever_load" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 222 " `type/point2d`:= proc(p) options `Copyright 1993 by Waterloo Maple Sof tware`;\n if type(p,table) and \{indices(p)\} = \{[form],[x],[y]\} \+ and p[form] = point\n and not has([p[x],p[y]],\{x,y\}) \nthen tru e else false fi end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-type/point 2dGR6#%\"pG6\"6#%JCopyright~1993~by~Waterloo~Maple~SoftwareGF(@%333-%% typeG6$9$%&tableG/<#-%(indicesG6#F2<%7#%%formG7#%\"xG7#%\"yG/&F26#F;%& pointG4-%$hasG6$7$&F26#F=&F26#F?<$F=F?%%trueG%&falseGF(F(F(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 239 "`type/circle2d`:= proc(c) o ptions `Copyright 1993 by Waterloo Maple Software`;\n if type(c,tab le) and\n \{[form],[given],[equation],[center],[radius]\} minus \+ \{indices(c)\} = \{\}\n and c[form] = circle \nthen true else fa lse fi end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%.type/circle2dGR6#% \"cG6\"6#%JCopyright~1993~by~Waterloo~Maple~SoftwareGF(@%33-%%typeG6$9 $%&tableG/-%&minusG6$<'7#%%formG7#%&givenG7#%)equationG7#%'centerG7#%' radiusG<#-%(indicesG6#F1<\"/&F16#F9%'circleG%%trueG%&falseGF(F(F(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 303 "`type/line2d`:= proc(l) opt ions `Copyright 1993 by Waterloo Maple Software`;\n if type(l,table ) and \{indices(l)\} = \{[form],[given],[equation]\} and\n l[fo rm] = line and type(l[equation],`=`) and\n type(op(1,l[equation ]),linear(\{x,y\})) and op(2,l[equation]) = 0 \nthen true else false f i end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%,type/line2dGR6#%\"lG6\"6# %JCopyright~1993~by~Waterloo~Maple~SoftwareGF(@%33333-%%typeG6$9$%&tab leG/<#-%(indicesG6#F4<%7#%%formG7#%&givenG7#%)equationG/&F46#F=%%lineG -F26$&F46#FA%\"=G-F26$-%#opG6$\"\"\"FH-%'linearG6#<$%\"xG%\"yG/-FN6$\" \"#FH\"\"!%%trueG%&falseGF(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 158 "coord:= proc(X) options `Copyright Pierre L. Douillet, 2001`; \n ASSERT(nargs = 1 and type(X,point2d), `not a point2d`);\n [no rmal(X[x]),normal(X[y])]\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&c oordGR6#%\"XG6\"6#%CCopyright~Pierre~L.~Douillet,~2001GF(C$-%'ASSERTG6 $3/9#\"\"\"-%%typeG6$9$%(point2dG%.not~a~point2dG7$-%'normalG6#&F66#% \"xG-F;6#&F66#%\"yGF(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 346 "detailf:= proc(G) options `Copyright 1993 by Waterloo Maple Softw are`;\n if type(G,table) then\n if G[form] = point then [ G[ x], G[y] ]\n elif G[form] = line then [ G[equation] ]\n \+ elif G[form] = circle then\n [center = [ G[center][x] , G[c enter][y] ], radius = G[radius] ]\n fi\n else G\nfi : evalf( %) : end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(detailfGR6#%\"GG6\"6#% JCopyright~1993~by~Waterloo~Maple~SoftwareGF(C$@%-%%typeG6$9$%&tableG@ (/&F06#%%formG%&pointG7$&F06#%\"xG&F06#%\"yG/F4%%lineG7#&F06#%)equatio nG/F4%'circleG7$/%'centerG7$&&F06#FIF:&FLF=/%'radiusG&F06#FPF0-%&evalf G6#%\"%GF(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 378 "`distanc e`:= proc(u::point2d,v::\{point2d, line2d\}) local cff,dis;\noption `C opyright Pierre L. Douillet, 2001`;\n if type(v,point2d) then\n \+ RETURN(sqrt( (u[x]-v[x])^2 + (u[y]-v[y])^2 ))\n else \n \+ cff := op(1,v[equation]);\n dis := abs(subs(\{x = u[x],y = u[y] \},cff));\n RETURN(dis/sqrt(coeff(collect(cff,x),x)^2+coeff(col lect(cff,y),y)^2) )\n fi\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %)distanceGR6$'%\"uG%(point2dG'%\"vG<$%'line2dGF)6$%$cffG%$disG6#%CCop yright~Pierre~L.~Douillet,~2001G6\"@%-%%typeG6$9%F)-%'RETURNG6#-%%sqrt G6#,&*$),&&9$6#%\"xG\"\"\"&F8FE!\"\"\"\"#\"\"\"FG*$),&&FD6#%\"yGFG&F8F PFIFJFKFGC%>8$-%#opG6$FG&F86#%)equationG>8%-%$absG6#-%%subsG6$<$/FQFO/ FFFCFU-F:6#*&FgnFK-F=6#,&*$)-%&coeffG6$-%(collectG6$FUFFFFFJFKFG*$)-Fj o6$-F]p6$FUFQFQFJFKFG!\"\"F3F3F3" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "ever_load:= ever_load, `type/point2d`,`type/circle2d` ,`type/line2d`, coord, detailf, distance;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*ever_loadG6(%-type/point2dG%.type/circle2dG%,type/li ne2dG%&coordG%(detailfG%)distanceG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 6 "Circle" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 3106 "`geo_v3/circle`:= proc(c, u)\nlocal lm, ln1, lp, \+ lq, ld, lf, uu, f, locf, XX, YY;\noption `Copyright 1993 by Waterloo M aple Software`;\n if nargs = 2 and type(c, name) and type(u, list) the n\n if nops(u) = 3 and type(u[1], table) and type(u[2], table) and u[ 1][form] = point and u[2][form] = point then\n if type(u[3], table) \+ and u[3][form] = point then\n locf := expand(u[1][x]*(u[2][y] - u[3 ][y]) - u[1][y]*(u[2][x] - u[3][x]) + u[2][x]*u[3][y] - u[2][y]*u[3][x ]);\n if locf = 0 then ERROR(\"the given points do not form a uniqu e circle\") fi;\n c[form] := circle;\n c[given] := u;\n XX := 1/2*(u[1][x]^2*u[2][y] - u[1][x]^2*u[3][y] + u[1][y]^2*u[2][y] - u[1] [y]^2*u[3][y] - u[1][y]*u[2][x]^2\n - u[1][y]*u[2][y]^2 + u[1][y] *u[3][x]^2 + u[1][y]*u[3][y]^2 + u[2][y]^2*u[3][y] - u[2][y]*u[3][x]^2 \n - u[2][y]*u[3][y]^2 + u[2][x]^2*u[3][y])/locf;\n YY := - 1/ 2*(- u[1][x]*(u[2][x]^2 + u[2][y]^2) + u[1][x]*(u[3][x]^2 + u[3][y]^2) + u[1][x]^2*(u[2][x] - u[3][x])\n + u[1][y]^2*(u[2][x] - u[3][x] ) - u[2][x]*(u[3][x]^2 + u[3][y]^2) + u[3][x]*(u[2][x]^2 + u[2][y]^2)) /locf;\n c[center] := point(cat(center_, c), XX, YY);\n c[radius ] := sqrt((u[1][x] - XX)^2 + (u[1][y] - YY)^2);\n c[equation] := x^ 2 + y^2 + XX^2 + YY^2 - 2*XX*x - 2*YY*y - %^2 = 0\n elif u[3] = diam eter or u[3] = diameter_1 then\n c[form] := circle;\n if u[3] = \+ diameter then c[given] := u fi;\n c[center] := point(cat(center_, c ), 1/2*u[1][x] + 1/2*u[2][x], 1/2*u[1][y] + 1/2*u[2][y]);\n c[radiu s] := 1/2*sqrt((u[1][x] - u[2][x])^2 + (u[1][y] - u[2][y])^2);\n c[ equation] := x^2 + y^2 - 2*c[center][x]*x - 2*c[center][y]*y - %^2 + c [center][x]^2 + c[center][y]^2 = 0\n fi\n elif nops(u) = 2 and type (u[1], table) and u[1][form] = point and (type(u[2], algebraic) or 0 < u[2]) and\n not type(u[2], table) then\n c[form] := circle;\n c[ given] := u;\n c[center] := u[1];\n c[radius] := u[2];\n c[equat ion] := x^2 + y^2 + u[1][x]^2 + u[1][y]^2 - 2*u[1][x]*x - 2*u[1][y]*y \+ - u[2]^2 = 0\n elif nops(u) = 1 and has(indets(op(u), name), \{x\}) a nd has(indets(op(u), name), \{y\}) then\n uu := op(u);\n if type(u u, polynom) then f := expand(uu)\n elif type(uu, `=`) then f := expa nd(op(1, uu) - op(2, uu))\n else ERROR(\"Wrong equation for the circ le\")\n fi;\n if type(f, polynom(anything, \{x, y\})) and degree(f , x) = 2 and degree(f, y) = 2 then\n lm := coeff(f, x, 2);\n ln1 := coeff(f, y, 2);\n lp := coeff(f, x, 1);\n lq := coeff(f, y, \+ 1);\n lf := coeff(coeff(f, x, 0), y, 0);\n ld := 1/4*(lp^2 + lq^ 2)/lm^2 - lf/lm;\n if lm <> ln1 or type(evalf(lm), numeric) and eva lf(lm) <= 0 or type(evalf(ld), numeric) and evalf(ld) <= 0 or\n coe ff(lp, y) <> 0 then ERROR(\"Wrong equation for the circle\")\n else \n c[form] := circle;\n c[given] := u;\n c[center] := poin t(cat(center_, c), - 1/2*lp/lm, - 1/2*lq/lm);\n c[radius] := sqrt( ld);\n c[equation] := x^2 + y^2 + lp*x/lm + lq*y/lm + lf/lm = 0\n \+ fi\n else ERROR(\"Wrong equation of the circle\")\n fi\n else \+ ERROR(\"Wrong number or type of arguments\")\n fi\n else ERROR(\"Wron g number or type of arguments\")\n fi;\n RETURN(c)\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "geo_v3[circle]:= 'xreadlib'(`geo_v3/circle`) \+ :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%.geo_v3/circleGR6$%\"cG%\"uG6-% #lmG%$ln1G%#lpG%#lqG%#ldG%#lfG%#uuG%\"fG%%locfG%#XXG%#YYG6#%JCopyright ~1993~by~Waterloo~Maple~SoftwareG6\"C$@%33/9#\"\"#-%%typeG6$9$%%nameG- F@6$9%%%listG@)3333/-%%nopsG6#FF\"\"$-F@6$&FF6#\"\"\"%&tableG-F@6$&FF6 #F>FW/&FT6#%%formG%&pointG/&FZFhnFjn@&3-F@6$&FF6#FQFW/&FaoFhnFjnC+>8,- %'expandG6#,**&&FT6#%\"xGFV,&&FZ6#%\"yGFV&FaoFbp!\"\"FVFV*&&FTFbpFV,&& FZF^pFV&FaoF^pFepFVFep*&FipFVFdpFVFV*&FapFVFjpFVFep@$/Fgo\"\"!-%&ERROR G6#QMthe~given~points~do~not~form~a~unique~circleF7>&FBFhn%'circleG>&F B6#%&givenGFF>8-,$*&,:*&)F]pF>\"\"\"FapFbrFV*&FarFbrFdpFbrFep*&)FgpF>F brFapFbrFV*&FerFbrFdpFbrFep*&FgpFbr)FipF>FbrFep*&FgpFbr)FapF>FbrFep*&F gpFbr)FjpF>FbrFV*&FgpFbr)FdpF>FbrFV*&FjrFbrFdpFbrFV*&FapFbrF\\sFbrFep* &FapFbrF^sFbrFep*&FhrFbrFdpFbrFVFbrFgo!\"\"#FVF>>8.,$*&,.*&F]pFbr,&*$F hrFbrFV*$FjrFbrFVFVFep*&F]pFbr,&*$F\\sFbrFV*$F^sFbrFVFVFV*&FarFbrFhpFb rFV*&FerFbrFhpFbrFV*&FipFbrF_tFbrFep*&FjpFbrF[tFbrFVFbrFgoFcs#FepF>>&F B6#%'centerG-Fjn6%-%$catG6$%(center_GFBF\\rFfs>&FB6#%'radiusG-%%sqrtG6 #,&*$),&F]pFVF\\rFepF>FbrFV*$),&FgpFVFfsFepF>FbrFV>&FB6#%)equationG/,0 *$)F_pF>FbrFV*$)FcpF>FbrFV*$)F\\rF>FbrFV*$)FfsF>FbrFV*&F\\rFVF_pFV!\"# *&FfsFVFcpFVF^w*$)%\"%GF>FbrFepF_q5/Fao%)diameterG/Fao%+diameter_1GC'> FeqFfq@$Fdw>FhqFF>Fht-Fjn6%F]u,&F]pFdsFipFds,&FgpFdsFapFds>Fbu,$-Ffu6# ,&*$),&F]pFVFipFepF>FbrFV*$),&FgpFVFapFepF>FbrFVFds>F`v/,0FevFVFgvFV*& &FhtF^pFVF_pFbrF^w*&&FhtFbpFVFcpFbrF^wF`wFep*$)F`yF>FbrFV*$)FbyF>FbrFV F_q3333/FNF>FRFfn5-F@6$FZ%*algebraicG2F_qFZ4FXC'>FeqFfq>FhqFF>FhtFT>Fb uFZ>F`v/,0FevFVFgvFV*$FarFbrFV*$FerFbrFV*&F]pFbrF_pFbrF^w*&FgpFbrFcpFb rF^w*$)FZF>FbrFepF_q33/FNFV-%$hasG6$-%'indetsG6$-%#opGFPFC<#F_p-Fd[l6$ Ff[l<#FcpC%>8*Fi[l@'-F@6$Fa\\l%(polynomG>8+-Fio6#Fa\\l-F@6$Fa\\l%\"=G> Fg\\l-Fio6#,&-Fj[l6$FVFa\\lFV-Fj[l6$F>Fa\\lFep-Faq6#Q>Wrong~equation~f or~the~circleF7@%33-F@6$Fg\\l-Fe\\l6$%)anythingG<$F_pFcp/-%'degreeG6$F g\\lF_pF>/-Fc^l6$Fg\\lFcpF>C)>8$-%&coeffG6%Fg\\lF_pF>>8%-F\\_l6%Fg\\lF cpF>>8&-F\\_l6%Fg\\lF_pFV>8'-F\\_l6%Fg\\lFcpFV>8)-F\\_l6%-F\\_l6%Fg\\l F_pF_qFcpF_q>8(,&*&,&*$)Fc_lF>FbrFV*$)Fg_lF>FbrFVFbr*$)Fj^l\"\"#FbrFcs #FV\"\"%*&F[`lFbrFj^lFcsFep@%5550Fj^lF__l3-F@6$-%&evalfG6#Fj^l%(numeri cG1FgalF_q3-F@6$-Fhal6#Fa`lFjal1F_blF_q0-F\\_l6$Fc_lFcpF_qFe]lC'>FeqFf q>FhqFF>Fht-Fjn6%F]u,$*&Fc_lFbrFj^lFcsFft,$*&Fg_lFbrFj^lFcsFft>Fbu-Ffu F`bl>F`v/,,FevFVFgvFV*&*&Fc_lFVF_pFbrFbrFj^lFcsFV*&*&Fg_lFVFcpFbrFbrFj ^lFcsFVF^alFVF_q-Faq6#Q=Wrong~equation~of~the~circleF7-Faq6#QBWrong~nu mber~or~type~of~argumentsF7F[dl-%'RETURNG6#FBF7F7F7" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "savelib(`geo_v3/circle`, \"geo_v3/circle. m\") : " }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 5 "Point" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1337 "unprotect('point'):\n`geo_v3/point`:= proc(X, f, g )\noption `Copyright 1993 by Waterloo Maple Software`;\n if nargs = 3 \+ and type(X, name) then\n X[form] := point;\n if type(f, algebraic) a nd not has(f, \{x, y\}) then X[x] := f\n elif type(f, `=`) and op(1, \+ f) = x and not has(op(2, f), \{x, y\}) and type(op(2, f), algebraic) t hen X[x] := op(2, f)\n else ERROR(\"wrong type of x_coordinate\")\n \+ fi;\n if type(g, algebraic) and not has(g, \{x, y\}) then X[y] := g\n elif type(g, `=`) and op(1, g) = y and not has(op(2, g), \{x, y\}) a nd type(op(2, g), algebraic) then X[y] := op(2, g)\n else ERROR(\"wro ng type of y_coordinate\")\n fi\n elif nargs = 2 and type(X, name) an d type(f, list) and nops(f) = 2 then\n X[form] := point;\n if not ty pe(f[1], `=`) and type(f[1], algebraic) and not has(f[1], \{x, y\}) th en X[x] := f[1]\n elif type(f[1], `=`) and type(op(2, f[1]), algebrai c) and op(1, f[1]) = x and not has(op(2, f[1]), \{x, y\}) then X[x] := op(2, f[1])\n else ERROR(\"Wrong type of x_coordinate\")\n fi;\n i f not type(f[2], `=`) and type(f[2], algebraic) and not has(f[2], \{x, y\}) then X[y] := f[2]\n elif type(f[2], `=`) and type(op(2, f[2]), \+ algebraic) and op(1, f[2]) = y and not has(op(2, f[2]), \{x, y\}) then X[y] := op(2, f[2])\n else ERROR(\"Wrong type of y_coordinate\")\n \+ fi\n else ERROR(\"Wrong number or type of arguments\")\n fi;\n RETURN( X)\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "geo_v3[point]:= 'xreadl ib'(`geo_v3/point`) :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-geo_v3/poi ntGR6%%\"XG%\"fG%\"gG6\"6#%JCopyright~1993~by~Waterloo~Maple~SoftwareG F*C$@'3/9#\"\"$-%%typeG6$9$%%nameGC%>&F66#%%formG%&pointG@'3-F46$9%%*a lgebraicG4-%$hasG6$FB<$%\"xG%\"yG>&F66#FIFB333-F46$FB%\"=G/-%#opG6$\" \"\"FBFI4-FF6$-FV6$\"\"#FBFH-F46$FfnFC>FLFfn-%&ERRORG6#Q;wrong~type~of ~x_coordinateF*@'3-F46$9&FC4-FF6$FdoFH>&F66#FJFdo333-F46$FdoFS/-FV6$FX FdoFJ4-FF6$-FV6$FhnFdoFH-F46$FfpFC>FioFfp-F]o6#Q;wrong~type~of~y_coord inateF*333/F1FhnF3-F46$FB%%listG/-%%nopsG6#FBFhnC%>F:F=@'334-F46$&FB6# FXFS-F46$FarFC4-FF6$FarFH>FLFar333F_r-F46$-FV6$FhnFarFC/-FV6$FXFarFI4- FF6$F^sFH>FLF^s-F]o6#Q;Wrong~type~of~x_coordinateF*@'334-F46$&FB6#FhnF S-F46$F`tFC4-FF6$F`tFH>FioF`t333F^t-F46$-FV6$FhnF`tFC/-FV6$FXF`tFJ4-FF 6$F]uFH>FioF]u-F]o6#Q;Wrong~type~of~y_coordinateF*-F]o6#QBWrong~number ~or~type~of~argumentsF*-%'RETURNG6#F6F*F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "savelib(`geo_v3/point`, \"geo_v3/point.m\") : " }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 4 "Line" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1052 "`geo_v3/line`:= proc(l::na me, M::list)\nlocal f;\noption `Copyright 1993 by Waterloo Maple Softw are`;\n if nops(M) = 2 and type(M[1], table) and type(M[2], table) an d M[1][form] = point and M[2][form] = point then\n if normal(M[1][x] - M[2][x]) <> 0 or normal(M[1][y] - M[2][y]) <> 0 then\n l[form] : = line; l[given] := M; l[equation] := expand((M[1][y] - M[2][y])*x + ( M[2][x] - M[1][x])*y + M[2][y]*M[1][x] - M[1][y]*M[2][x]) = 0\n else print(\"Warning: the line is undetermined\"); RETURN(NULL)\n fi\n \+ elif nops(M) = 1 then\n if type(op(M), polynom) then f := op(M) elif type(op(M), equation) then f := op(1, op(M)) - op(2, op(M)) else ERRO R(\"Wrong equation for the line\") fi;\n if has(f, x) and not type(f , linear(x)) or has(f, y) and not type(f, linear(y)) or has(f, \{x, y \}) and not type(f, linear(\{x, y\})) or\n not (has(f, x) or has(f, \+ y)) then ERROR(\"The equation for the line must be linear in x, y\")\n else l[form] := line; l[given] := M; l[equation] := f = 0\n fi\n \+ else ERROR(\"Wrong number or type of arguments\")\n fi; \n RETURN(l) \nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "geo_v3[line]:= 'xreadlib' (`geo_v3/line`) :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%,geo_v3/lineGR6 $'%\"lG%%nameG'%\"MG%%listG6#%\"fG6#%JCopyright~1993~by~Waterloo~Maple ~SoftwareG6\"C$@'3333/-%%nopsG6#9%\"\"#-%%typeG6$&F<6#\"\"\"%&tableG-F ?6$&F<6#F=FD/&FA6#%%formG%&pointG/&FGFKFM@%50-%'normalG6#,&&FA6#%\"xGF C&FGFX!\"\"\"\"!0-FT6#,&&FA6#%\"yGFC&FGF\\oFenFfnC%>&9$FK%%lineG>&Fbo6 #%&givenGF<>&Fbo6#%)equationG/-%'expandG6#,**&FjnFCFYFCFC*&,&FZFCFWFen FCF]oFCFC*&F^oFCFWFCFC*&F[oFCFZFCFenFfnC$-%&printG6#QBWarning:~the~lin e~is~undeterminedF1-%'RETURNG6#%%NULLG/F9FCC$@'-F?6$-%#opGF;%(polynomG >8$Fdq-F?6$FdqF[p>Fhq,&-Feq6$FCFdqFC-Feq6$F=FdqFen-%&ERRORG6#QFaoFco>FeoF< >Fio/FhqFfn-Fbr6#QBWrong~number~or~type~of~argumentsF1-F\\q6#FboF1F1F1 " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "savelib(`geo_v3/line`, \+ \"geo_v3/line.m\") : " }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "Triangle" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1814 "`geo_v3/triangle`:= proc(T, u)\nlocal u1, u2 , u3, uu1, uu2, uu3;\noption `Copyright 1993 by Waterloo Maple Softwar e`;\n if nargs = 2 and type(T, name) and type(u, list) and nops(u) = 3 then\n if type(u[1], table) and type(u[2], table) and type(u[3], tab le) then\n if u[1][form] = point and u[2][form] = point and u[3][for m] = point then\n expand((u[1][x] - u[2][x])*(u[1][y] - u[3][y]) - \+ (u[1][x] - u[3][x])*(u[1][y] - u[2][y]));\n if % = 0 then ERROR(\"T he triangle cannot be determined\") fi;\n T[form] := triangle;\n \+ T[given] := u;\n T[1] := u[1];\n T[2] := u[2];\n T[3] := u[3 ]\n elif u[1][form] = line and u[2][form] = line and u[3][form] = li ne then\n triangle(T, [geometry[inter](u[1], u[2]), geometry[inter] (u[1], u[3]), geometry[inter](u[2], u[3])])\n fi\n elif type(u[1], \+ algebraic) and type(u[2], algebraic) and type(u[3], algebraic) then\n \+ u1 := evalf(u[1]);\n u2 := evalf(u[2]);\n u3 := evalf(u[3]);\n \+ uu3 := u1 + u2 - u3;\n uu2 := u1 - u2 + u3;\n uu1 := -u1 + u2 + u 3;\n if type(u1, numeric) and u1 <= 0 or type(u2, numeric) and u2 <= 0 or type(u3, numeric) and u3 <= 0 or type(uu1, numeric) \n and uu1 <= 0 or type(uu2, numeric) and uu2 <= 0 or type(uu3, numeric) and uu3 <= 0 \n then ERROR(\"the given sides are unqualified\")\n f i;\n T[form] := triangle;\n T[given] := u\n elif type(u[1], algeb raic) and type(u[2], `=`) and type(u[3], algebraic) and op(1, u[2]) = \+ angle and type(op(2, u[2]), algebraic) \n then u2 := evalf(op(2, u[ 2]));\n if type(u2, numeric) and (evalf(Pi, 20) < u2 or u2 < 0) or t ype(evalf(u[1]), numeric) and u[1] < 0 \n or type(evalf(u[3]), n umeric) and u[3] < 0 then ERROR(\"Wrong values of the angle or the sid es\")\n fi;\n T[form] := triangle;\n T[given] := u\n fi\n else \+ ERROR(\"Wrong number or type of arguments\")\n fi;\n RETURN(T)\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "geo_v3[triangle]:= 'xreadlib'(`ge o_v3/triangle`) :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0geo_v3/triangl eGR6$%\"TG%\"uG6(%#u1G%#u2G%#u3G%$uu1G%$uu2G%$uu3G6#%JCopyright~1993~b y~Waterloo~Maple~SoftwareG6\"C$@%333/9#\"\"#-%%typeG6$9$%%nameG-F<6$9% %%listG/-%%nopsG6#FB\"\"$@(33-F<6$&FB6#\"\"\"%&tableG-F<6$&FB6#F:FQ-F< 6$&FB6#FHFQ@&33/&FN6#%%formG%&pointG/&FTFinF[o/&FXFinF[oC)-%'expandG6# ,&*&,&&FN6#%\"xGFP&FTFho!\"\"FP,&&FN6#%\"yGFP&FXF^pF[pFPFP*&,&FgoFP&FX FhoF[pFP,&F]pFP&FTF^pF[pFPF[p@$/%\"%G\"\"!-%&ERRORG6#QBThe~triangle~ca nnot~be~determinedF2>&F>Fin%)triangleG>&F>6#%&givenGFB>&F>FOFN>&F>FUFT >&F>FYFX33/Fhn%%lineG/F]oF^r/F_oF^r-F`q6$F>7%-&%)geometryG6#%&interG6$ FNFT-Fer6$FNFX-Fer6$FTFX33-F<6$FN%*algebraicG-F<6$FTFbs-F<6$FXFbsC+>8$ -%&evalfG6#FN>8%-F[t6#FT>8&-F[t6#FX>8),(FisFPF^tFPFbtF[p>8(,(FisFPF^tF [pFbtFP>8',(FisF[pF^tFPFbtFP@$555553-F<6$Fis%(numericG1FisFip3-F<6$F^t Fgu1F^tFip3-F<6$FbtFgu1FbtFip3-F<6$F\\uFgu1F\\uFip3-F<6$FitFgu1FitFip3 -F<6$FftFgu1FftFip-F[q6#Q@the~given~sides~are~unqualifiedF2>F_qF`q>Fbq FB3333F`s-F<6$FT%\"=GFes/-%#opG6$FPFT%&angleG-F<6$-F[x6$F:FTFbsC&>F^t- F[t6#F`x@$553Fju52-F[t6$%#PiG\"#?F^t2F^tFip3-F<6$FjsFgu2FNFip3-F<6$Fct Fgu2FXFip-F[q6#QGWrong~values~of~the~angle~or~the~sidesF2>F_qF`q>FbqFB -F[q6#QBWrong~number~or~type~of~argumentsF2-%'RETURNG6#F>F2F2F2" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "savelib(`geo_v3/triangle`, \+ \"geo_v3/triangle.m\") : " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 536 "`geo_v3/cccircle`:= p roc(ccc,T)\noptions `Copyright 1993 by Waterloo Maple Software`;\n \+ if nargs = 2 and type(T,table) and T[form] = triangle and\n typ e(T[given][1],table) and type(ccc,name) then\n T[circumcircle] \+ := circle(ccc,[T[1],T[2],T[3]]); RETURN(%)\n elif\n type(T,t able) and T[form] = triangle and not type(T[given][1],table)\n \+ then\n print( \"Warning : To find the circumcircle, the vertic es must be given\");\n RETURN(NULL)\n else ERROR(\"Wrong num ber or type of arguments\")\n fi\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "geo_v3[cccircle]:= 'xreadlib'(`geo_v3/cccircle`) :" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0geo_v3/cccircleGR6$%$cccG%\"TG6\"6 #%JCopyright~1993~by~Waterloo~Maple~SoftwareGF)@'3333/9#\"\"#-%%typeG6 $9%%&tableG/&F76#%%formG%)triangleG-F56$&&F76#%&givenG6#\"\"\"F8-F56$9 $%%nameGC$>&F76#%-circumcircleG-%'circleG6$FH7%&F7FD&F76#F3&F76#\"\"$- %'RETURNG6#%\"%G33F4F94F>C$-%&printG6#QinWarning~:~To~find~the~circumc ircle,~the~vertices~must~be~givenF)-FZ6#%%NULLG-%&ERRORG6#QBWrong~numb er~or~type~of~argumentsF)F)F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "savelib(`geo_v3/cccircle`, \"geo_v3/cccircle.m\") : " }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 5 "Inter" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4060 "`geo_ v3/inter`:= proc(noms, u, v, t)\nlocal cffu, cffv, ux, uy, vx, vy, uo , vo, oo1, oo2, oo3, oo4, xyx1, xyx2, xyxy, oo, px, py;\noption `Copyr ight 1993 by Waterloo Maple Software`;\n if nargs = 3 and v = 1 then R ETURN(NULL) fi;\n if (nargs = 4 or nargs = 3) and type(u, table) and t ype(v, table) then\n if u[form] = line and v[form] = line then\n cf fu := expand(op(1, u[equation]));\n cffv := expand(op(1, v[equation] ));\n ux := coeff(cffu, x);\n uy := coeff(cffu, y);\n vx := coef f(cffv, x);\n vy := coeff(cffv, y);\n uo := coeff(coeff(cffu, x, 0 ), y, 0);\n vo := coeff(coeff(cffv, x, 0), y, 0);\n oo := - vx*uy \+ + ux*vy;\n if oo <> 0 then px := simplify((uy*vo - uo*vy)/oo, assume = real); py := simplify((vx*uo - ux*vo)/oo, assume = real); RETURN(po int(noms, px, py))\n elif simplify(uo/sqrt(ux^2 + uy^2) - vo/sqrt(vx ^2 + vy^2), assume = real) = 0 then print(\"Warning : The lines are th e same\"); RETURN(u)\n else print(\"Warning : The lines do not have \+ any intersection\"); RETURN(NULL)\n fi\n elif u[form] = line and v[ form] = circle then\n cffu := expand(op(1, u[equation]));\n cffv : = op(1, v[equation]);\n ux := coeff(cffu, x);\n uy := coeff(cffu, \+ y);\n uo := coeff(coeff(cffu, x, 0), y, 0);\n vx := coeff(cffv, x) ;\n vy := coeff(cffv, y);\n vo := coeff(coeff(cffv, x, 0), y, 0); \n if type(evalf(ux), numeric) and 10^(-Digits + 3) < abs(evalf(ux)) or ux <> 0 then\n oo1 := uy^2/ux^2 + 1;\n oo2 := 2*uy*uo/ux^2 - vx*uy/ux + vy;\n oo3 := uo^2/ux^2 - vx*uo/ux + vo;\n oo4 := oo2 ^2 - 4*oo1*oo3;\n if type(evalf(oo4), numeric) then\n if 10^(-D igits + 3) < evalf(oo4) then\n xyx1 := 1/2*(-oo2 + sqrt(oo4))/oo1 ;\n xyx2 := 1/2*(-oo2 - sqrt(oo4))/oo1;\n RETURN(point(noms[ 1], - (uy*xyx1 + uo)/ux, xyx1), point(noms[2], - (uy*xyx2 + uo)/ux, xy x2))\n elif abs(evalf(oo4, 30)) < .2900000000*10^(-22) and nargs = 3 then\n xyxy := expand(- 1/2*oo2/oo1); RETURN(point(noms[1], ex pand(- (uy*xyxy + uo)/ux), xyxy))\n elif abs(evalf(oo4, 30)) < .29 00000000*10^(-22) and nargs = 4 and t = 1 then\n xyxy := expand(- 1/2*oo2/oo1); RETURN(point(noms[1], - (uy*xyxy + uo)/ux, xyxy), point (noms[2], - (uy*xyxy + uo)/ux, xyxy))\n else print(\"Warning: Ther e is no intersection \"); RETURN(NULL)\n fi\n else\n xyx1 : = expand(1/2*(-oo2 + sqrt(oo4))/oo1);\n xyx2 := expand(1/2*(-oo2 - sqrt(oo4))/oo1);\n RETURN(point(noms[1], expand(- (uy*xyx1 + uo)/ ux), xyx1), point(noms[2], expand(- (uy*xyx2 + uo)/ux), xyx2))\n fi \n else\n oo1 := ux^2/uy^2 + 1;\n oo2 := 2*ux*uo/uy^2 - vy*ux/ uy + vx;\n oo3 := uo^2/uy^2 - vy*uo/uy + vo;\n oo4 := expand(oo2 ^2 - 4*oo1*oo3);\n if type(evalf(oo4), numeric) then\n if 0 < e valf(oo4) then\n xyx1 := expand(1/2*(-oo2 + sqrt(oo4))/oo1);\n \+ xyx2 := expand(1/2*(-oo2 - sqrt(oo4))/oo1);\n RETURN(point(nom s[1], xyx1, expand(- (ux*xyx1 + uo)/uy)), point(noms[2], xyx2, expand( - (ux*xyx2 + uo)/uy)))\n elif oo4 = 0 then xyxy := expand(- 1/2*oo 2/oo1); RETURN(point(noms[1], xyxy, expand(- (ux*xyxy + uo)/uy)))\n \+ else print(\"Warning: There is no intersection\"); RETURN(NULL)\n \+ fi\n else\n xyx1 := expand(1/2*(-oo2 + sqrt(oo4))/oo1);\n \+ xyx2 := expand(1/2*(-oo2 - sqrt(oo4))/oo1);\n RETURN(point(noms[1 ], xyx1, expand(- (ux*xyx1 + uo)/uy)), point(noms[2], xyx2, expand(- ( ux*xyx2 + uo)/uy)))\n fi\n fi\n elif u[form] = circle and v[form ] = line then inter(v, u)\n elif u[form] = circle and v[form] = circl e then\n cffu := op(1, u[equation]);\n cffv := op(1, v[equation]); \n ux := coeff(cffu, x);\n uy := coeff(cffu, y);\n uo := coeff(c oeff(cffu, x, 0), y, 0);\n vx := coeff(cffv, x);\n vy := coeff(cff v, y);\n vo := coeff(coeff(cffv, x, 0), y, 0);\n if ux <> vx or uy <> vy then inter(line(cat(_, u), [(ux - vx)*x + (uy - vy)*y + uo - vo = 0]), v)\n elif uo = vo then print(\"Warning : The circles are the same\"); RETURN(u)\n else print(\"Warning : There is no intersectio ns between the circles\"); RETURN(NULL)\n fi\n else ERROR(\"wrong n umber or type of arguments\")\n fi\n else ERROR(\"wrong number or typ e of arguments\")\n fi\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "geo _v3[inter]:= 'xreadlib'(`geo_v3/inter`) :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-geo_v3/interGR6 &%%nomsG%\"uG%\"vG%\"tG64%%cffuG%%cffvG%#uxG%#uyG%#vxG%#vyG%#uoG%#voG% $oo1G%$oo2G%$oo3G%$oo4G%%xyx1G%%xyx2G%%xyxyG%#ooG%#pxG%#pyG6#%JCopyrig ht~1993~by~Waterloo~Maple~SoftwareG6\"C$@$3/9#\"\"$/9&\"\"\"-%'RETURNG 6#%%NULLG@%335/FE\"\"%FD-%%typeG6$9%%&tableG-FU6$FHFX@+3/&FW6#%%formG% %lineG/&FHFinF[oC,>8$-%'expandG6#-%#opG6$FI&FW6#%)equationG>8%-Fbo6#-F eo6$FI&FHFho>8&-%&coeffG6$F`o%\"xG>8'-Fdp6$F`o%\"yG>8(-Fdp6$F[pFfp>8)- Fdp6$F[pF[q>8*-Fdp6%-Fdp6%F`oFfp\"\"!F[qFjq>8+-Fdp6%-Fdp6%F[pFfpFjqF[q Fjq>83,&*&F]qFIFhpFI!\"\"*&FbpFIFaqFIFI@'0FbrFjqC%>84-%)simplifyG6$*&, &*&Fhp\"\"\"F\\rFIFI*&FeqFIFaqFbsFerFbsFbr!\"\"/%'assumeG%%realG>85-F] s6$*&,&*&F]qFbsFeqFbsFI*&FbpFbsF\\rFbsFerFbsFbrFdsFes-FK6#-%&pointG6%9 $F[sFis/-F]s6$,&*&FeqFbs-%%sqrtG6#,&*$)Fbp\"\"#FbsFI*$)FhpFauFbsFIFdsF I*&F\\rFbs-F\\u6#,&*$)F]qFauFbsFI*$)FaqFauFbsFIFdsFerFesFjqC$-%&printG 6#QAWarning~:~The~lines~are~the~sameF@-FK6#FWC$-F^v6#QQWarning~:~The~l ines~do~not~have~any~intersectionF@FJ3Fgn/F]o%'circleGC+>F`oFao>F[pF^p >FbpFcp>FhpFip>FeqFfq>F]qF^q>FaqFbq>F\\rF]r@%53-FU6$-%&evalfG6#Fbp%(nu mericG2)\"#5,&%'DigitsGFerFFFI-%$absG6#Fhw0FbpFjqC'>8,,&*&*$FcuFbsFbs* $)Fbp\"\"#FbsFdsFIFIFI>8-,(*&*&FhpFbsFeqFbsFbs*$)Fbp\"\"#FbsFdsFau*&*& F]qFbsFhpFbsFbsFbpFdsFerFaqFI>8.,(*&*$)FeqFauFbsFbs*$)Fbp\"\"#FbsFdsFI *&*&F]qFbsFeqFbsFbsFbpFdsFerF\\rFI>8/,&*$)F_yFauFbsFI*&FgxFIFiyFI!\"%@ %-FU6$-Fiw6#FdzF[x@)2F]xF][lC%>80,$*&,&F_yFer-F\\uF^[lFIFbsFgxFds#FIFa u>81,$*&,&F_yFerFg[lFerFbsFgxFdsFh[l-FK6$-Fct6%&Fet6#FI,$*&,&*&FhpFbsF c[lFIFIFeqFIFbsFbpFdsFerFc[l-Fct6%&Fet6#Fau,$*&,&*&FhpFbsFj[lFIFIFeqFI FbsFbpFdsFerFj[l32-Fbx6#-Fiw6$Fdz\"#I$\"+++++H!#KFDC$>82-Fbo6#,$*&F_yF bsFgxFds#FerFau-FK6#-Fct6%Fb\\l-Fbo6#,$*&,&*&FhpFbsF\\^lFIFIFeqFIFbsFb pFdsFerF\\^l33Fa]lFR/9'FIC$>F\\^lF]^l-FK6$-Fct6%Fb\\lFh^lF\\^l-Fct6%Fj \\lFh^lF\\^lC$-F^v6#QCWarning:~There~is~no~intersection~F@FJC%>Fc[l-Fb o6#Fd[l>Fj[l-Fbo6#F[\\l-FK6$-Fct6%Fb\\l-Fbo6#Fd\\lFc[l-Fct6%Fj\\l-Fbo6 #F\\]lFj[lC'>Fgx,&*&*$F`uFbsFbs*$)Fhp\"\"#FbsFdsFIFIFI>F_y,(*&*&FbpFbs FeqFbsFbs*$)Fhp\"\"#FbsFdsFau*&*&FaqFbsFbpFbsFbsFhpFdsFerF]qFI>Fiy,(*& *$F]zFbsFbs*$)Fhp\"\"#FbsFdsFI*&*&FaqFbsFeqFbsFbsFhpFdsFerF\\rFI>Fdz-F bo6#Fez@%F[[l@'2FjqF][lC%>Fc[lF^`l>Fj[lFa`l-FK6$-Fct6%Fb\\lFc[l-Fbo6#, $*&,&*&FbpFbsFc[lFbsFIFeqFIFbsFhpFdsFer-Fct6%Fj\\lFj[l-Fbo6#,$*&,&*&Fb pFbsFj[lFbsFIFeqFIFbsFhpFdsFer/FdzFjqC$>F\\^lF]^l-FK6#-Fct6%Fb\\lF\\^l -Fbo6#,$*&,&*&FbpFbsF\\^lFbsFIFeqFIFbsFhpFdsFerC$-F^v6#QBWarning:~Ther e~is~no~intersectionF@FJC%>Fc[lF^`l>Fj[lFa`lF`cl3/FhnFivF\\o-%&interG6 $FHFW3FgelFhvC+>F`oFdo>F[pF^p>FbpFcp>FhpFip>FeqFfq>F]qF^q>FaqFbq>F\\rF ]r@'50FbpF]q0FhpFaq-Fiel6$-F[o6$-%$catG6$%\"_GFW7#/,**&,&FbpFIF]qFerFI FfpFIFI*&,&FhpFIFaqFerFIF[qFIFIFeqFIF\\rFerFjqFH/FeqF\\rC$-F^v6#QCWarn ing~:~The~circles~are~the~sameF@FavC$-F^v6#QXWarning~:~There~is~no~int ersections~between~the~circlesF@FJ-%&ERRORG6#QBwrong~number~or~type~of ~argumentsF@FahlF@F@F@" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "s avelib(`geo_v3/inter`, \"geo_v3/inter.m\") : " }}}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 5 "Infos " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "savelib('geo_v3', `geo_v 3/init`, xreadlib, ever_load, `geo_v3.m`);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 149 "subs(readlib= _readlib, xreadlib= _readlib, eval(g eo_v3)): sort(op(%), proc(a,b) lexorder(lhs(a) , lhs(b)) end): 'elemen ts' = setattribute(%,column);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%)el ementsGL(/%)cccircleG-%)_readlibG6#%0geo_v3/cccircleG/%'circleG-F)6#%. geo_v3/circleG/%&interG-F)6#%-geo_v3/interG/%%lineG-F)6#%,geo_v3/lineG /%&pointG-F)6#%-geo_v3/pointG/%)triangleG-F)6#%0geo_v3/triangleG%'colu mnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "'ever_loaded' = vect or(sort([ever_load]), column);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%,e ver_loadedGL(%&coordG%(detailfG%)distanceG%.type/circle2dG%,type/line2 dG%-type/point2dG%'columnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "Contr\364le" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "liste:= select(type, [ssavelib], procedure): sort(%); " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#70%&coordG%(detailfG%)distanceG%0g eo_v3/cccircleG%.geo_v3/circleG%,geo_v3/initG%-geo_v3/interG%,geo_v3/l ineG%-geo_v3/pointG%0geo_v3/triangleG%.type/circle2dG%,type/line2dG%-t ype/point2dG%)xreadlibG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " readlib(mmint): lasterror:= 'lasterror': eps_:= 'eps_': " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "with(linalg, det):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 79 "lasterror:= 'lasterror': for _kkkk \+ in liste do lprint(_kkkk); mmint(_kkkk); od;" }}{PARA 6 "" 1 "" {TEXT -1 13 "geo_v3/circle" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QL------------ --~geo_v3/circle~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 113 "Na mes used as global names, but not declared: : x, form, radius, ci rcle, equation, center, given, diameter, " }}{PARA 6 "" 1 "" {TEXT -1 38 " : diameter_1, center_, y, point" }}{PARA 6 "" 1 "" {TEXT -1 12 "geo_v3/point" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QK------------- -~geo_v3/point~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 70 "Names used as global names, but not declared: : x, form, y, point" }} {PARA 6 "" 1 "" {TEXT -1 11 "geo_v3/line" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QJ--------------~geo_v3/line~--------------6\"" }}{PARA 6 "" 1 " " {TEXT -1 93 "Names used as global names, but not declared: : x, form, line, equation, given, y, point" }}{PARA 6 "" 1 "" {TEXT -1 15 "geo_v3/triangle" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QN--------------~g eo_v3/triangle~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 107 "Name s used as global names, but not declared: : x, form, line, given, triangle, inter, y, angle, point" }}{PARA 6 "" 1 "" {TEXT -1 15 "geo_ v3/cccircle" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QN--------------~geo_v3 /cccircle~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 88 "Names used as global names, but not declared: : form, given, triangle, circ umcircle" }}{PARA 6 "" 1 "" {TEXT -1 12 "geo_v3/inter" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QK--------------~geo_v3/inter~--------------6\"" } }{PARA 6 "" 1 "" {TEXT -1 80 "Names used as global names, but not decl ared: : x, form, circle, line, _, y" }}{PARA 6 "" 1 "" {TEXT -1 11 "geo_v3/init" }}{PARA 6 "" 1 "" {TEXT -1 8 "xreadlib" }}{PARA 6 "" 1 "" {TEXT -1 12 "type/point2d" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QK-- ------------~type/point2d~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 70 "Names used as global names, but not declared: : x, form, y , point" }}{PARA 6 "" 1 "" {TEXT -1 13 "type/circle2d" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QL--------------~type/circle2d~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 88 "Names used as global names, but not dec lared: : form, radius, circle, center, given" }}{PARA 6 "" 1 "" {TEXT -1 11 "type/line2d" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QJ-------- ------~type/line2d~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 76 "N ames used as global names, but not declared: : x, form, line, giv en, y" }}{PARA 6 "" 1 "" {TEXT -1 5 "coord" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QD--------------~coord~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 83 "Names used as global names, but not declared: : x, point2d, `not a point2d`, y" }}{PARA 6 "" 1 "" {TEXT -1 7 "detailf " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QF--------------~detailf~--------- -----6\"" }}{PARA 6 "" 1 "" {TEXT -1 100 "Names used as global names, \+ but not declared: : x, form, radius, circle, line, center, y, poi nt" }}{PARA 6 "" 1 "" {TEXT -1 8 "distance" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QG--------------~distance~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 66 "Names used as global names, but not declared: \+ : x, point2d, y" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "17 1 0 0" 3546 }{VIEWOPTS 1 1 0 1 1 1803 }