Allerdings bin ich nicht ganz glücklich über das Gesamtergebnis.
Bei einem einfachen Beispiel: Dreieck mit der Höhe 1 berechnet das Programm einen wert von 0.3466.. eigentlich sollten der Schwerpunkt bei 0.333.. liegen. Gibt es in Python eine andere Möglichkeit den Flächenschwerpunkt zu berechnen?
#### das Programm###############
Code: Alles auswählen
def Schwerpunkt_y(t,Sigma):
dAxdY_liste=[];dA_Liste=[];
for i in range(len(t)-1):
#berechen den Flaecheninhalt eines Trapez
dSigma=(Sigma[i+1]+Sigma[i])/2
dZeit=(t[i+1]-t[i])
dA=dSigma*dZeit
#berechne den Schwerpunkt fuer jedes Trapez
if Sigma[i+1]>=Sigma[i]:
print 'Steigend'
y=Sigma[i]/2+(Sigma[i+1]-Sigma[i])/3
if Sigma[i+1]<Sigma[i]:
print 'Fallend'
y=Sigma[i+1]/2+(Sigma[i]-Sigma[i+1])/3
#bilde das Produkt aus dA und dY
dAxdY_liste.append(y*dA)
dA_Liste.append(dA)
#berechne die Gesamtflaeche
A=sum(dA_Liste)
print A
Integral=sum(dAxdY_liste)
#berechne den Schwerpunkt
Ys=1/A*Integral
return(Ys)