#construction.maple # # Frank Sottile # 27 November 2004 # Mexico City # ############################################################################### # # This file contains the construction of four triangles with 62 common # tangents # ################################################################################ interface(quiet=true): read("procedures"): ################################################################################ Digits :=80: ################################################################################ # # We begin with four lines l1, l2, l3, l4 having two common transversals, # x and y, which meet the line li at points xi and yi. For each i=1..4, # we choose a plane Pi through li whose intersection with the hyperboloid # Hi through the other three lines is `convex'. The we let m1 be the line # in P1 tangent to H1 at the point x1, m2 the line in P2 tangent to H2 at the # point y2, and m3 the line in P3 tangent to H3 at the point x3. # # These lines {l1,m1}, {l2, m2}, {l3, m3} define 8 hyperboloids, and we look # at their intersections with the plane P4, as well as the line m4 in P4 tangent # to H4 at the point y4 (or x4, there is a choice here that we may exploit). # # Our construction of 88 lines tangent to four triangles involves perturbing # this configuration, doubling each line li to get (rather thin) triangles. # ############################################################################ # # Lines are represented by two points on them, and hyperboloids by a # regulus (family of lines) on them. # ############################################################################ # # Step 0: The hyperbolic paraboloid, H1 # ############################################################################ H := (t, a) -> [t, a, t*a]: l1:=[H(-1/2,1), H(1/2,1)]: l2:=[H(-1/2,-1), H(1/2,-1)]: l3:=[[1/2,1/2,1/4], [-1/2,-1/2,1/4]]: l4:=[H(-1/2,0), H(1/2,0)]: # # lx := subs(t=0, MakeRegulus(l1, l4, l2, t)): ly := subs(t=1, MakeRegulus(l1, l4, l2, t)): ############################################################################## #read("plotConics.maple"); #read("plotH1.maple"); ############################################################################## # # The planes through the lines l1, l2, l3, l4 are parametrized by the points of # intersection with either of two lines, which we call lv and lh. # lh:=t -> ParameterizeLine([ParameterizeLine(lx,4),ParameterizeLine(ly,4)],t): lv:=t -> ParameterizeLine([ParameterizeLine(lx,-2),ParameterizeLine(ly,4)],t): ############################################################################### # # Pi is the plane containing li and the point pi # # These are the values of T for the four planes # p1:=lh(1/2): # A horizontal plane for P1 x-z=0 p2:=lh(1/2): # A horizontal plane for P2 x+z=0 p3:=lv(1/2): # A vertical plane for P3 x-y=0 p4:=lv(1/2): # A vertical plane for P4 y=0 # ############################################################################### # # Equations for the planes # Eqs:=[PlaneEquation(l1,p1),PlaneEquation(l2,p2), PlaneEquation(l3,p3),PlaneEquation(l4,p4)]: ############################################################################### # # Perturb the lines and tangents # k1:=PerturbLine(l1,p1,-10,4/10000000000000): c1:=traceHyperboloid(l4,l3,l2, Eqs[1]): t1:=TangentLine(c1,1): A:=1062856834547957347037860105/1000000000000000000000000000: B:=51692600238045/100000000000000: m1:=[ ParameterizeLine(l1,A), ParameterizeLine([l1[1],p1],B)]: ############################################################################### k2:=PerturbLine(l2,p2,-10,1/100000): c2:=traceHyperboloid(l3,l1,l4, Eqs[2]): t2:=TangentLine(c2,0): m2:=perturbTan(t2,l2[1],894218989475/1000000000000,77965112/100000000): ############################################################################### k3:=PerturbLine(l3,p3,10,-6/1000): c3:=traceHyperboloid(l1,l4,l2, Eqs[3]): t3:=TangentLine(c3,1): m3:=perturbTan(t3,l3[2],185825/1000000,2073/10000): ############################################################################### k4:=PerturbLine(l4,p4,10,32/100): c4:=traceHyperboloid(l1,l2,l3, Eqs[4]): t4:=TangentLine(c4,0): m4:=perturbTan(t4,l4[2],11/1000,-3/40): ############################################################################# # # Planei.maple plots the picture of the construction in the ith plane # #read("plane1.maple"); #read("plane2.maple"); #read("plane3.maple"); #read("plane4.maple"); read("plane4.www.maple"); #T:=[Triangle(l1,k1,m1), Triangle(l2,k2,m2), Triangle(l3,k3,m3), Triangle(l4,k4,m4)]: #for i from 1 to 4 do # for j from 1 to 3 do # for k from 1 to 3 do # T[i][j][k]:= trunc(10^30*evalf(T[i][j][k],30))/10^30: # end do: # end do: #end do: #fprintf(file,"Triangles:=%a:\n",T): #numberOfTangents(T);