eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingInterpolacja 2D › Interpolacja 2D
  • X-Received: by 2002:ac8:4509:: with SMTP id q9mr277265qtn.1.1544601601962; Wed, 12
    Dec 2018 00:00:01 -0800 (PST)
    X-Received: by 2002:ac8:4509:: with SMTP id q9mr277265qtn.1.1544601601962; Wed, 12
    Dec 2018 00:00:01 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin2!goblin1!goblin.stu.neva.ru!v55no1349056qtk.0!news-out.google.com!h3ni506q
    tk.1!nntp.google.com!v55no1349053qtk.0!postnews.google.com!glegroupsg2000goo.go
    oglegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 12 Dec 2018 00:00:01 -0800 (PST)
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.85;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 165.225.84.85
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <f...@g...com>
    Subject: Interpolacja 2D
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Wed, 12 Dec 2018 08:00:02 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:213022
    [ ukryj nagłówki ]

    Jest funkcja dwóch zmiennych, powiedzmy taka (w C/C++):

    double f(double x, double y);

    Powiedzmy, że mam jakiś zbiór sampli, czyli wartości tej funkcji dla kilku wybranych
    x,y.
    Chciałbym zrobić interpolację tej funkcji, czyli taką fukcję g(x,y), która *z
    grubsza* wygładzi znane sample z f(x,y).

    Sample mogę mieć posortowane, np. leksykograficznie po x i y. W szczególności mogą
    być w takiej mapie:

    std::map<std::pair<double, double>, double>
    ^ ^ ^
    x y wartość

    albo w czymś innym.

    Pierwsze przybliżenie jest takie, żeby znaleźć 3 sample, które są najbliżej szukanego
    punktu, zrobić na nich (i na wartościach funkcji w tych samplach) płaszczyznę i
    poszukać gdzie na tej płaszczyźnie (w sensie wartości z) wypada szukany punkt x,y.
    Wadą tego pierwszego przybliżenia jest ilość obliczeń przy każdym szukaniu. Chciałbym
    jak najmniej.

    Potencjalnym rozwiązaniem (zakładając, że wszystkie wartości są fizyczne i mają jakiś
    akceptowany błąd pomiaru) jest ograniczenie dziedziny z góry i wyliczenie jakiegoś
    akceptowalnego rastra (powiedzmy NxM) off-line, interpolowanego choćby jak wyżej na
    podstawie sampli i użycie tego wyliczonego rastra jako gotowego słownika w run-time.
    Jestem gotów zapłacić większym zużyciem pamięci za mniejszy czas obliczeń.
    Ktoś ma inny pomysł?

    --
    Maciej Sobczak * http://www.inspirel.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: