Determina il baricentro di una piastra di materiale omogeneo, di forma semicircolare e di spessore costante.
Disponiamo un semicerchio di raggio 1 nel modo illustrato a lato.
Per simmetria, la ordinta yB del baricentro B è 0.
Determiniamone la x. Il baricentro B è il punto in cui possiamo pensare concentrata tutta la massa per lo studio degli effetti rotatori.
Quindi il momento rispetto a (0,0) di una massa concentrata in esso equivale alla somma dei momenti dovuti alle striscette verticali in cui
possiamo pensare suddiviso il semicerchio. Ragioniamo sull'aree in quanto le masse (nel caso di una piastra omogenea) sono ad esse proporzionali.
La striscetta di ampiezza dx e centrata in x ha area |
![]() |
Potevo calcolare l'integrale con lo script "integrali" presente qui | |

da cui deduco che l'integrale è 0.666... = 2/3.
Potevo trovare il baricentro senza ricorrere al calcolo integrale con un programmino. Vediamo come farlo in Basic, con un programma che determina area e centroide:
10 N=10^8 : dim x(N) : dim y(N) : n = 10000 20 for i=0 to n-1 : x(i)=-1+2/(n-1)*i : y(i) = sqr(1-x(i)*x(i)) : next 30 x(n)=-1 : y(n)=0 40 area = (y(n)+y(0))*(x(n)-x(0)) 50 for i=0 to n-1 : area=area+(y(i)+y(i+1))*(x(i)-x(i+1)) : next : area =abs(area)/2 60 cx=(x(n)+x(0))*(x(n)*y(0)-x(0)*y(n)) 70 for i=0 to n-1 : cx=cx+(x(i)+x(i+1))*(x(i)*y(i+1)-x(i+1)*y(i)) : next 80 cy=(y(n-1)+y(0))*(x(n-1)*y(0)-x(0)*y(n-1)) 90 for i=0 to n-1 : cy=cy+(y(i)+y(i+1))*(x(i)*y(i+1)-x(i+1)*y(i)) : next 100 print "n="; n; " area="; area; " xc="; abs(cx/(6*area)); " yc="; abs(cy/(6*area)); 110 input " premi a capo", x$ : n=n*2 : goto 20 n=10000 area=1.570794663465802 xc=2.7756258903175833e-16 yc=0.4244136029749518 premi a capo n=20000 area=1.5707957387615465 xc=1.7132299801885396e-15 yc=0.4244133330873378 premi a capo n=40000 area=1.5707961189012027 xc=8.017649320652378e-16 yc=0.4244132358143614 premi a capo n=80000 area=1.5707962532946989 xc=1.6626129503462171e-15 yc=0.42441320093067514 premi a capo n=160000 area=1.5707963008088737 xc=1.649728708423618e-15 yc=0.42441318846740733 premi a capo n=320000 area=1.5707963176074968 xc=4.399031095577674e-16 yc=0.4244131840268899 premi a capo n=640000 area=1.5707963235466882 xc=1.9635507761583377e-15 yc=0.4244131824481688 premi a capo n=1280000 area=1.5707963256463897 xc=1.2196589739888103e-14 yc=0.42441318188679017 premi a capo n = 2560000 area = 1.5707963263887739 xc=1.1627154488271837e-14 yc=0.4244131816876517 premi a capo n = 5120000 area = 1.5707963266513771 xc=8.8317220905829e-15 yc=0.4244131816170425 premi a capo n = 10240000 area = 1.5707963267438605 xc=1.0774750185893963e-14 yc=0.4244131815921445
In base agli esiti, oltre a trovare ovviamente che l'area è 1.570796327 (π/2), ottengo che il baricentro è (0,0.4244131816). A scopi pratici ce n'è d'avanzo. Con WolframAlpha introdotto 0.4244131816 ottengo 4/(3π) ≈ 0.4244131815783...
Vediamo anche come farlo con un programmino in JavaScript:
function F(x) {return Math.sqrt(1-x*x)}
for(k=0; k<5; k=k+1) {n=Math.pow(10,k)*1e3;
X=new Array(n); Y=new Array(n)
for(i=0; i<n; i=i+1) {X[i]=-1+2/(n-1)*i; Y[i]=F(X[i])}; X[n]=-1; Y[n]=0
area = (Y[n]+Y[0])*(X[n]-X[0])
for(i=0; i<n; i=i+1) {area=area+(Y[i]+Y[i+1])*(X[i]-X[i+1])}; area = Math.abs(area)/2
document.write("n="+n+", area="+area)
CX=(X[n]+X[0])*(X[n]*Y[0]-X[0]*Y[n])
for(i=0; i<n; i=i+1) {CX=CX+(X[i]+X[i+1])*(X[i]*Y[i+1]-X[i+1]*Y[i])}
CY=(Y[n-1]+Y[0])*(X[n-1]*Y[0]-X[0]*Y[n-1])
for(i=0; i<n; i=i+1) {CY=CY+(Y[i]+Y[i+1])*(X[i]*Y[i+1]-X[i+1]*Y[i])}
document.write(", xC="+Math.abs(CX/(6*area)))
document.write(", YC="+Math.abs(CY/(6*area))+"<br>") }
n=1000, area=1.5707436595231425, xC=1.1780227133116953e-17, YC=0.4244250952378197
n=10000, area=1.570794663465802, xC=2.7756258903175833e-16, YC=0.4244136029749518
n=100000, area=1.5707962742026587, xC=3.645858173597396e-15, YC=0.42441319545933953
n=1000000, area=1.5707963040583859, xC=4.471912615508346e-9, YC=0.42441318771840136
n=10000000, area=1.5707963267424758, xC=1.8030344538264895e-14, YC=0.4244131815925366
area=1.57079633, xC=0, YC=0.42441318