Szakkörök‎ > ‎Algoritmus szakkör‎ > ‎2011-2012‎ > ‎

24. óra

2012.04.23.

Geometriai algoritmusok

Néhány szakkörön keresztül geometriai algoritmusokkal foglalkozunk. A mai szakkörön kitűzésre kerülő feladatokhoz még nincs szükség komolyabb koordináta-geometriai eszköztárra, később hasznos lehet ilyen tudás.

Peregi-elv

Avagy miért nem számolunk lebegőpontos számokkal?

#include<iostream>
#include<cmath>

int main() {
    double a = 13622342.2746364;
    double b = 4673563.2384912;

    std::cout << 12*a*b-12*b*a << std::endl;
}

A fenti program matematikai várakozásainkkal szemben a következő eredményre vezet: -0.125

Ennek oka az, hogy a lebegőpontos számok aritmetikája nem azonos a valós számok aritmetikájával. További részletek.

Források

Jarkko Hietaniemi, John Macdonald, Jon Orwant
Mastering Algorithms with Perl
10. fejezet

Horváth Gyula
Geomatriai algoritmusok

Robert Sedgewick, Kevin Wayne
Geometric Algorithms

Feladatok