> ich suche ein (kostenloses) Programm, dass mir den Schwerpunkt von
> einem unregelmässigen Fünfeck berechnet. Gegeben sind die Koordinaten
> von den fünf Ecken.
Quellcode in JAVA aus
http://local.wasp.uwa.edu.au/~pbourke/geometry/polyarea/
public Point2Df PolygonCenterOfMass(Point[] polygon,int N)
{
float cx=0,cy=0;
float A=(float)SignedPolygonArea(polygon,N);
Point2Df res=new Point2Df();
int i,j;
float factor=0;
for (i=0;i<N;i++) {
j = (i + 1) % N;
factor=(polygon[i].x*polygon[j].y-polygon[j].x*polygon[i].y);
cx+=(polygon[i].x+polygon[j].x)*factor;
cy+=(polygon[i].y+polygon[j].y)*factor;
}
A*=6.0f;
factor=1/A;
cx*=factor;
cy*=factor;
res.x=cx;
res.y=cy;
return res;
}
Hallo Just,
das hatte ich bei meiner Googlesuche auch gefunden. Als
mathematischer
Laie hat es mir aber leider nicht weitergeholfen. Ich brauche etwas,
wo man die
fünf Koordinaten eingibt und als Ergebnis die Koordinaten des
Schwerpunktes
bekommt.
Trotzdem vielen Dank, Peter Merdian
>> Quellcode in JAVA aus
>> http://local.wasp.uwa.edu.au/~pbourke/geometry/polyarea/
>
> Hallo Just,
Hi Peter.
> das hatte ich bei meiner Googlesuche auch gefunden.
Klar, sicherlich über wikipedia...
Ich hab noch http://www.efg2.com/Lab/Graphics/PolygonArea.htm
gefunden, geht das?
Tip: Ein Array mit 5 Punkten (vermutl. jeweils x und y, genau hab ich
mir's nicht angesehen) übergeben, zurück kommt ein Punkt (d.h. wieder 2
Koordinaten).
Grüße
mike
Peter Merdian schrieb:
Verwende das Programm TTMathe Abteilung "Rechenblatt|reell"
und kopiere folgendes als Rechnung. Ändere Deine Koordinaten
x1,y1, x1,y2 etc.
x1=1
y1=0
x2=8
y2=0
x3=6
y3=6
x4=3
y4=7
x5=1
y5=4
a=x1*y2-x2*y1
a=a+x2*y3-x3*y2
a=a+x3*y4-x4*y3
a=a+x4*y5-x5*y4
a=a+x5*y1-x1*y5
a=a/2
//a ist der Flächeninhalt des Fünfecks
x=(x1+x2)*(x1y2-x2y1)
x=x+(x2+x3)*(x2y3-x3y2)
x=x+(x3+x4)*(x3y4-x4y3)
x=x+(x4+x5)*(x4y5-x5y4)
x=x+(x5+x1)*(x5y1-x1y5)
x=x/(6*a)
y= (y1+y2)*(x1y2-x2y1)
y=y+(y2+y3)*(x2y3-x3y2)
y=y+(y3+y4)*(x3y4-x4y3)
y=y+(y4+y5)*(x4y5-x5y4)
y=y+(y5+y1)*(x5y1-x1y5)
y=y/(6*a)
//(x,y)Schwerpunkt des Fünfecks
Das sidn die Formeln nach dem Link von Peter.
Man kann auch a, x und y direkt eingeben, aber
es gibt dann ziemlich lange unübersichtliche Formeln.
Das programm TTMathe findest Du unter
http://delphi.zsg-rottenburg.de/download.html
Viel Erfolg
Joachim
--
Joachim Mohr Tübingen
http://www.joachimmohr.de/neu.html
Verwende das Programm TTMathe Abteilung "Rechenblatt|reell"
Ich habe die Formeln nach dem Link von Peter verwendet.
> Peter Merdian schrieb:
> > Hallo,
> > ich suche ein (kostenloses) Programm, dass mir den Schwerpunkt von
> > einem unregelmässigen Fünfeck berechnet. Gegeben sind die Koordinaten
> > von den fünf Ecken.
> > Vielen Dank für jeden Hinweis, Peter Merdian
>
> Verwende das Programm TTMathe Abteilung "Rechenblatt|reell"
> und kopiere folgendes als Rechnung. Ändere Deine Koordinaten
> x1,y1, x1,y2 etc.
>
> x1=1
> ...
> Ich habe die Formeln nach dem Link von Peter verwendet.
> Man kann auch a, x und y direkt eingeben, aber
> es gibt dann ziemlich lange unübersichtliche Formeln.
>
> Das programm TTMathe findest Du unter
> http://delphi.zsg-rottenburg.de/download.html
Feine Sache, und das geht auch sofort in Excel:
x1=1
y1=0
x2=8
y2=0
x3=6
y3=6
x4=3
y4=7
x5=1
y5=4
a1=x1*y2-x2*y1
a2=a1+x2*y3-x3*y2
a3=a2+x3*y4-x4*y3
a4=a3+x4*y5-x5*y4
a5=a4+x5*y1-x1*y5
a=a5/2
//a ist der Flächeninhalt des Fünfecks
q1=(x1+x2)*(x1y2-x2y1)
q2=q1+(x2+x3)*(x2y3-x3y2)
q3=q2+(x3+x4)*(x3y4-x4y3)
q4=q3+(x4+x5)*(x4y5-x5y4)
q5=q4+(x5+x1)*(x5y1-x1y5)
x=q5/(6*a)
r1=(y1+y2)*(x1y2-x2y1)
r2=r1+(y2+y3)*(x2y3-x3y2)
r3=r2+(y3+y4)*(x3y4-x4y3)
r4=r3+(y4+y5)*(x4y5-x5y4)
r5=r4+(y5+y1)*(x5y1-x1y5)
y=r5/(6*a)
//(x,y)Schwerpunkt des Fünfecks