-
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
Następne wpisy z tego wątku
- 12.12.18 13:00 DMR
- 12.12.18 13:27 A S
- 12.12.18 20:50 Wojciech Muła
- 14.12.18 08:59 Maciej Sobczak
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security