Ezoterický programovací jazyk Brainfuck (Wikipedie) slaví 30 let. Urban Müller nahrál první implementaci tohoto jazyka na Aminet 9. června 1993.
Společnost Apple na konferenci WWDC23 představila Game Porting Toolkit. Společnost CodeWeavers informuje, tento toolkit vychází ze zdrojových kódů jejího CrossOveru, tj. komerčního Wine.
Byla vydána květnová aktualizace aneb nová verze 1.79 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.79 vyšlo také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Jak to bude s podporou rastrového grafického formátu JPEG XL ve webových prohlížečích? Google ji nedávno z Chrome a Chromia odstranil (#1178058#c84). Jednou z novinek beta verze Safari 17 je ale právě podpora JPEG XL. Vráti se JPEG XL do Chrome a Chromia (#1451807)? Dění kolem JPEG XL lze sledovat například na r/jpegxl.
Byla vydána nová stabilní verze 6.1 (aktuálně 6.1.3035.51) webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 114. Přehled novinek i s náhledy v příspěvku na blogu. Nový Vivaldi se pro Bing tváří jako Microsoft Edge (upravený User-Agent) a díky tomu v něm funguje Bing Chat. Vylepšeny byly Pracovní prostory (Workspaces). Podrobný přehled v Changelogu.
Linuxová distribuce ArchLabs Linux po šesti letech vývoje končí. Dobbie to zabalil.
David Tschumperlé v obšírném článku se spoustou náhledů shrnuje vývoj multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie) za poslední rok a půl.
Vývojáři postmarketOS vydali verzi 23.06 tohoto před šesti lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, Plasma a Sxmo. Aktuálně podporovaných zařízení je 30.
Byla vydána distribuce openSUSE Leap verze 15.5 (poznámky k vydání). Jde o konzervativní distribuci odpovídající komerčnímu SUSE Linux Enterprise 15, nyní Service Pack 5. Mělo jít o poslední aktualizaci Leap v současné podobě před přechodem na Adaptable Linux Platform s „neměnným“ základem, ale padlo rozhodnutí, že v roce 2024 ještě vyjde Leap 15.6 s podporou do konce roku 2025.
Alyssa Rosenzweig v příspěvku na blogu oznámila, že Asahi Linux už zvládá OpenGL 3.1. Dokončuje se podpora OpenGL ES 3.1. Dalším krokem bude Vulkan 1.0.
int i; double x, dx; double y, dy; double C; // nějaké startovní podmínky x = 5; y = 7; C = 4.55; // dx/dy je lineární. dx = 0.1; dy = 0.05; for (i = 0; i < 1000; i++) { double d = x * y * C; printf("%f\n", d); x += dx; y += dy; }Můj problém je, že bych v tom cyklu chtěl jen sčítat, takto bych si to představoval:
int i; double x, dx; double y, dy; double C; // nějaké startovní podmínky x = 5; y = 7; C = 4.55; // dx/dy je lineární. dx = 0.1; dy = 0.05; // výpočet d a delty, popřípadě delta-delta? double d = x * y * C; double delta = ??? for (i = 0; i < 1000; i++) { printf("%f\n", d); d += delta; }Pro výpočet delty jsem zkusil více možností, jsem si celkem jistý, že tam musí být y*dx*C + x*dy*C, ale něco mi tam chybí. Takže, je tu nějaký zkušený matematik, co by věděl:_) ?
import math def f(x, y, C): return x * y * C x = 1.5 y = 1.9 C = 1.4 dx = 1.5 dy = 1.1 d = f(x, y, C) d_d = x * dy * C + y * dx * C + dx * dy * C d_d_d = dx * C + dy * C for i in xrange(0, 10): a = f(x, y, C) d if abs(a - d) > 0.001: print "a=%f b=%f (FAILED)" % (a, d) else: print "a=%f b=%f (OK)" % (a, d) d += d_d d_d += d_d_d x += dx y += dy
d = x * dy * C + y * dx * C + dx * dy * C d_d = 2 * C * dx * dyTakže uzavřít
import math def f(x, y, C): return x * y * C x = 1.5 y = 1.9 C = 1.4 dx = 1.9 dy = 1.5 d = f(x, y, C) d_d = x * dy * C + y * dx * C + dx * dy * C # První d_d_d = 2 * C * dx * dy # Druhá for i in xrange(0, 10): a = f(x, y, C) if abs(a - d) > 0.001: print "a=%f b=%f (FAILED)" % (a, d) else: print "a=%f b=%f (OK)" % (a, d) d += d_d d_d += d_d_d x += dx y += dy
Šlo o to, abych spočítal průběh té funkce, aniž bych musel dosazovat do f()No dobře, to je popis toho, co děláš. Ale tím, že to popíšeš, to nezačne dávat smysl. Proč nechceš počítat hodnotu funkce, když ji spočítat dovedeš? Je to skoro vždy mnohem jednodušší než numerická integrace -- v tvém případě je to zcela evidentně jednodušší. Jediná důležitá praktická výjimka, kterou znám, je obecný Bresenhamův algoritmus pro rasterizaci algebraických křivek, ale tam je to právě tou diskretizací do rastru. A že to s tou druhou derivací provádí něco smysluplného je zde dáno čistě tím, že Taylorův rozvoj té funkce končí u druhého řádu. Takže ve skutečnosti počítáš přímo zase hodnotu té funkce, akorát ten polynom máš hrozně složitě rozepsaný.
A jinak sorry, ale trvdit o něčem, že to nemá hlavu ani patu když máš k dispozici i zdroják na otestování, je trochu ubohé.Mohu a budu s klidem tvrdit, že to nemá to hlavu ani patu, i kdyby k tomu bylo deset testovacích zdrojáků, pokud nemá hlavu ani patu původní formulace problému.
Ta funkce je taky hodně primitivní, takže sis chtěl asi jen rýpnout ne...?Primitivní funkce je (zhruba řečeno) taková, kterou když zderivuji, dostanu původní funkci. Tato vlastnost není kvantifikovatelná. Buď funkce k dané funkci primitivní je, nebo není, nemůže být více nebo méně primitivní.
S tou druhou derivací to zase takový blábol nebude, protože nehledám parciální, ale úplnou.Děkuji za potvrzení, že to je naprostý blábol. Parciální derivace je derivace podle jednoho argumentu. Totální derivace je pojem, který má smysl, pouze pokud jsou některé argumenty funkcemi dalších argumentů/proměnných. To zde má nastávat konkrétně kde a jak? A i pak se v první totální derivaci vyksytují stále jen particální derivace. Totéž pro totální diferenciál.
Děkuji za potvrzení, že to je naprostý blábol. Parciální derivace je derivace podle jednoho argumentu. Totální derivace je pojem, který má smysl, pouze pokud jsou některé argumenty funkcemi dalších argumentů/proměnných. To zde má nastávat konkrétně kde a jak? A i pak se v první totální derivaci vyksytují stále jen particální derivace. Totéž pro totální diferenciál.Funkce x*y má diferenciál, a diferenciál diferenciálu, já fakt nevím, co je na tom nepochopytelné.
Dokážeš vůbec rozlišit mezi derivací a diferenciálem?Dokážu, ale netvářím se, že to spolu nesouvisí...
Nepochopitelné je, jak tu žonglueš matematickými pojmy.No vidíš, a ty do toho přidáváš elektrárny a mosty. Máš tu nejvíc příspěvků, a trumfl tě ten nejmenší co tu je.
"d" se v jednom kroku zvětší o C*x*dy + C*dx*y (označíme "a") "C*x*dy" se zvětší o C*dx*dy "C*dx*y" se zvětčí také o C*dx*dy, tuto konstantu označíme "b/2" Takže "C*x*dy + C*dx*y" se zvětší o "b"Takže by mělo stačit něco ve smyslu:
d=x*y*C; a=C*(x*dx+dx*y); b=2*dx*dy*C; for(i=0; i<1000; i++) { printf("%f\n",d); d+=a; a+=b; }
d = x^2 * (r^2 - fy^2) + y^2 * (r^2 - fx^2) + x*y * (2*fx*fy)Ale problém jsem měl právě s tím x*y:) Celý kód je zde: http://code.google.com/p/fog/source/browse/trunk/Fog/Fog/G2d/Render/Render_C/PGradientRadial_p.h
Tiskni
Sdílej: