# Cerchio che passa per P1, P2, P3 # Per punti particolari ci possono essere metodi migliori # Per procedere in generale possiamo imporre che il cerchio # di centro e raggio generici passi per essi # Equazione cerchio di centro (a,b) e raggio r # (x-a)^2+(y-b)^2=r^2, x^2+y^2-2*a*x-2*b*y+c=0, r=sqrt(a^2+b^2-c) # Per risolvere il sistema lineare a 3 equazioni (ottenuto prendendo # come x,y una volta P1, un'altra P2, un'altra P3) posso usare il comando # di R solve(M,N) - M: la matrice delle eq., N: colonna dei termini noti # Il sistema con incognite a,b,c è 2*x*a + 2*y*b -1*c = x^2+y^2 # con x,y pari a P1, a P2 e P3. x1 <- -6; y1 <- 0; x2 <- 8; y2 <- 2; x3 <- 4; y3 <- -5 # La matrice è introdotta colonna per colonna ma <- matrix(data=c(2*x1,2*x2,2*x3,2*y1,2*y2,2*y3,-1,-1,-1), nrow=3,ncol=3) noti <- matrix(data=c(x1^2+y1^2,x2^2+y2^2,x3^2+y3^2),nrow=3,ncol=1) abc <- solve(ma,noti) raggio <- sqrt(abc[1]^2+abc[2]^2-abc[3]); centro <- c(abc[1],abc[2]) centro; raggio # Rappresentazione e controllo grafico: plot(c(-10,10),c(-10,10),type="n",xlab="", ylab="", asp=1) abline(v=axTicks(1), h=axTicks(2), col="blue", lty=3) # punti e centro points(x1,y1); points(x2,y2); points(x3,y3) points(centro[1],centro[2]) # cerchio symbols(centro[1],centro[2], circles=raggio, inches=FALSE, add=TRUE)