eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingInterpolacja 2DRe: Interpolacja 2D
  • X-Received: by 2002:a0c:8b4c:: with SMTP id d12mr347960qvc.3.1544644204266; Wed, 12
    Dec 2018 11:50:04 -0800 (PST)
    X-Received: by 2002:a0c:8b4c:: with SMTP id d12mr347960qvc.3.1544644204266; Wed, 12
    Dec 2018 11:50:04 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.gig
    anews.com!v55no2384217qtk.0!news-out.google.com!h3ni1005qtk.1!nntp.google.com!v
    55no2384208qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for
    -mail
    Newsgroups: pl.comp.programming
    Date: Wed, 12 Dec 2018 11:50:03 -0800 (PST)
    In-Reply-To: <f...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=217.97.87.222;
    posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn
    NNTP-Posting-Host: 217.97.87.222
    References: <f...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <8...@g...com>
    Subject: Re: Interpolacja 2D
    From: Wojciech Muła <w...@g...com>
    Injection-Date: Wed, 12 Dec 2018 19:50:04 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 48
    Xref: news-archive.icm.edu.pl pl.comp.programming:213029
    [ ukryj nagłówki ]

    On Wednesday, December 12, 2018 at 9:00:02 AM UTC+1, Maciej Sobczak wrote:
    > 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

    Jak możesz sobie policzyć f dla danej siatki, to bym poszedł
    w powierzchnie NURBS. Tam możesz sobie dobrać stopień wielomianów, liczbę przedziałów
    itp. tak żeby mieć wybór
    między dokładnością, a złożonością obliczeniową.

    w.

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: