Construcción 3

import time import math def apolonio(A,B,C): a=Distance(B,C) b=Distance(A,C) c=Distance(A,B) r1=(-a+b+c)/2 r2=(a-b+c)/2 r3=(a+b-c)/2 C1=Circle(A,r1) C1.opacity=0 time.sleep(0.01) C2=Circle(B,r2) C2.opacity=0 time.sleep(0.01) C3=Circle(C,r3) C3.opacity=0 time.sleep(0.01) #Dibujamos la circunferencia tangente #radio de la circunferencia tangente r=(r1*r2*r3)/(r1*r2+r2*r3+r1*r3+2*math.sqrt(r1*r2*r3*(r1+r2+r3))) #centro de la circunferencia tangente a0=2*(A.x-B.x) a1=2*(A.x-C.x) b0=2*(A.y-B.y) b1=2*(A.y-C.y) c0=2*(r1-r2) c1=2*(r1-r3) d0=(A.x**2+A.y**2-r1**2)-(B.x**2+B.y**2-r2**2) d1=(A.x**2+A.y**2-r1**2)-(C.x**2+C.y**2-r3**2) x=(b1*d0-b0*d1-b1*c0*r+b0*c1*r)/(a0*b1-b0*a1) y=(-a1*d0+a0*d1+a1*c0*r-a0*c1*r)/(a0*b1-b0*a1) S=Point(x,y,is_visible=False) C4=Circle(S,r) C4.opacity=0 time.sleep(0.01) lista.append(S) time.sleep(1) def apolonioapolonio(A,B,C,D): apolonio(D,A,B) time.sleep(0.01) apolonio(D,B,C) time.sleep(0.01) apolonio(D,C,A) time.sleep(0.01) #informamos en que consiste la actividad #Dibujamos una circunferencia para que el fondo sea blanco P=Point(0,0,is_visible=False) C=Circle(P,30) C.color='white' C.opacity=1 time.sleep(0.1) #introducimos las coordenadas de los puntos xA= int(input('Coordenada x de A:')) time.sleep(1) yA= int(input('Coordenada y de A:')) time.sleep(1) xB= int(input('Coordenada x de B:')) time.sleep(1) yB= int(input('Coordenada y de B:')) time.sleep(1) xC= int(input('Coordenada x de C:')) time.sleep(1) yC= int(input('Coordenada y de C:')) time.sleep(1) #Dibujamos los puntos y el triángulo y las circunferencias tangentes A=Point(xA,yA,is_visible=False) B=Point(xB,yB,is_visible=False) C=Point(xC,yC,is_visible=False) lista=[A,B,C] apolonio(lista[0],lista[1],lista[2]) apolonioapolonio(lista[0],lista[1],lista[2],lista[3]) apolonioapolonio(lista[3],lista[0],lista[1],lista[4]) apolonioapolonio(lista[3],lista[1],lista[2],lista[5]) apolonioapolonio(lista[3],lista[2],lista[0],lista[6]) apolonioapolonio(lista[4],lista[3],lista[0],lista[7]) apolonioapolonio(lista[4],lista[0],lista[1],lista[8]) apolonioapolonio(lista[4],lista[3],lista[1],lista[9]) apolonioapolonio(lista[5],lista[3],lista[1],lista[10]) apolonioapolonio(lista[5],lista[1],lista[2],lista[11]) apolonioapolonio(lista[5],lista[2],lista[3],lista[12]) apolonioapolonio(lista[6],lista[3],lista[2],lista[13]) apolonioapolonio(lista[6],lista[2],lista[0],lista[14]) apolonioapolonio(lista[6],lista[0],lista[3],lista[15])