Forum » Programiranje » Algoritem za izračun težišča poljubnega 2D lika
Algoritem za izračun težišča poljubnega 2D lika
MaCoFaCo ::
Recimo da imamo koordinate robnih točk nekega 2D lika shranjene v arrayu. Ali težišče izračunamo preprosto tako tako da seštejemo x komponente točk in delimo s številom točk, enako potem še storimo z y komponentami?
Torej nekaj v smislu:
Point[] tocke;
int xSum = 0;
int ySum = 0;
foreach (Point tocka in tocke)
{
xSum += tocka.X;
ySum += tocka.Y;
}
Point tezisce = new Point(xSum / tocke.Length, ySum / tocke.Length);
Torej nekaj v smislu:
Point[] tocke;
int xSum = 0;
int ySum = 0;
foreach (Point tocka in tocke)
{
xSum += tocka.X;
ySum += tocka.Y;
}
Point tezisce = new Point(xSum / tocke.Length, ySum / tocke.Length);
- spremenilo: MaCoFaCo ()
Thomas ::
Ne gre tako, da bi upošteval samo robne točke. Vse točke lika pa ja.
Man muss immer generalisieren - Carl Jacobi
Highlag ::
Kaj pa presečišča diagonal, ki povezujejo ogljišča? Pri 4 kotniku bi to verjetno delovalo?
Never trust a computer you can't throw out a window
Thomas ::
Obesiš lik za eno robno točko, da svobodno visi in narišeš navpičnico iz obesišča.
Potem še za eno poljubno drugo točko in spet narišeš navpičnico iz nje.
Sečišče navpičnic je težišče.
No, zdej tale algoritem prevedi v C++, VB, Javo ali kaj drugega takega.
Potem še za eno poljubno drugo točko in spet narišeš navpičnico iz nje.
Sečišče navpičnic je težišče.
No, zdej tale algoritem prevedi v C++, VB, Javo ali kaj drugega takega.
Man muss immer generalisieren - Carl Jacobi
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Načrtovanje trikotnika(nujno)Oddelek: Šola | 4270 (4018) | euler |
» | Lagrangev izrekOddelek: Šola | 9605 (8617) | Genetic |
» | Matematika( Limite zaporedja)Oddelek: Šola | 4571 (3777) | overman |
» | Tocka in trikotnik + 3DOddelek: Programiranje | 1667 (1512) | tomblord |
» | poligonOddelek: Programiranje | 1934 (1636) | Thomas |