Con, in R, le seguenti istruzioni
vengono generati 3 punti (a coordinate intere) che vengono tracciati con dei pallini e, quindi,
viene tracciato il cerchio passante per essi. Determina centro e raggio del cerchio e spiega
come hai proceduto. Controlla le risposte col computer,
battendo cen e rag.
Svolgi più volte l'esercizio incollando nuovamente le istruzioni. Sotto
sono riprodotte le soluzioni relative alla figura a destra. cen -0.7758621 0.4655172 rag 5.900735 |
Il docente può usare esercizi come questo anche per compiti in classe, facendo mettere ai vari alunni, in testa al file, set.seed(N) con N numeri interi diversi.
Si può affrontare il quesito in vari modi.
Ad esempio si possono trovare gli assi dei tre (o solo di due)
dei segmenti rappresentati e farne l'intersezione, trovando le
coordinate del centro. Per il raggio basta fare la distanza
dal centro di uno dei tre punti dati.
Oppure posso prendere l'equazione (x−a)^2+(y−b)^2 = r^2
del cerchio generico e imporre che passi per i tre punti dati.
Sostituendo ad x e y le coordinate dei tre punti trovo un sistema di tre equazioni
lineari:
(x-a)^2+(y-b)^2=r^2, x^2+y^2-2ax-2by+a^2+b^2-r^2=0, x^2+y^2-2ax-2by+c=0
con c = a^2+b^2-r^2, r = sqrt(a^2+b^2-c)
Ho tre equazioni 2ax+2by-c = x^2+y^2; al variare delle coppie (x,y)
il sistema diventa:
-6*a-10*b-c = 34
6*a+10*b-c = 34
8*a- 6*b-c = 25
Posso risolvere il sistema facilmente con varie tecniche.
Qui
puoi trovare degli script sia per risolvere il sistema che per trovare direttamente i cerchio dati i tre punti.
ma <- matrix(data = c(-6,6,8, -10,10,-6, -1,-1,-1), nrow=3,ncol=3) noti <- matrix(data = c(34,34,25), nrow=3,ncol=1) ma; noti # [,1] [,2] [,3] # [1,] -6 -10 -1 # [2,] 6 10 -1 # [3,] 8 -6 -1 # [,1] # [1,] 34 # [2,] 34 # [3,] 25 sol <- solve(ma,noti) "a,b,c"; sol; MASS::fractions( sol ) # [1] "a,b,c" # [,1] # [1,] -0.7758621 # [2,] 0.4655172 # [3,] -34.0000000 # [,1] # [1,] -45/58 # [2,] 27/58 # [3,] -34 "r"; sqrt(sol[1]^2+sol[2]^2-sol[3]) # [1] "r" # [1] 5.900735