Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.
CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).
Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.
Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.
Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.
Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.
Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.
Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.
Problém je v tom, že promítám na rovinu a ne na kulovou plochu, navíc pod úhlem.Takze "X Galvo" nemiri kolmo na promitaci plochu?
V podstatě mám souřadnicemi dané 2 úhly - jeden který svírá paprsek proti středové ose promítání a pak úhel, který svírá spojnice středu plochy proti bodu daném souřadnicemi. Potřebuju nějakou funkci, která úhel paprsku rozloží úhlem souřadnic na úhly natočení zrcátek. To mi nikdo zatím nezodpověděl - jakým způsobem se skládají a rozkládají úhly do jiných rovin. Vím, že vektor jde rozložit podle úhlu do navzájem kolmých složek, ale jak totéž udělat s úhlem rozkládaným jiným úhlem mi uniká.Priznam se, ze tenhle odstavec vubec nechapu. Takhle zatim rozumim tomu zadani: mas nejaky bod (x, y) na promitaci plose a chces najit natoceni "X Galvo" a "Y Galvo", aby paprsek dopadl na ten bod.
Takze "X Galvo" nemiri kolmo na promitaci plochu?Nejspíš má nějaké problémy s geometrií. Proto bych si promítl mřížku, zaměřil skutečné souřadnice a aproximoval sítí.
Takhle zatim rozumim tomu zadani: mas nejaky bod (x, y) na promitaci plose a chces najit natoceni "X Galvo" a "Y Galvo", aby paprsek dopadl na ten bod.Řekl bych, že jo.
Ale naklopeni projektoru je schvalne a da se nastavit mechanicky. Korekcni mapa je az uplne posledni moznost, potrebuju tam dostat realitu - vsechny potrebny vzdalenosti atd muzu celkem presne zmerit, ale kdyz si to neumim spravne odvodit, tak je mi to k nicemu.
d je vzdálenost projekční plohy, ay a ax jsou ty úhly.
Počkat, on to ten pincushion přeci jen bude.Pokud si to dobře pamatuju, tohle se v některých projektorech řeší asférickou čočkou, která je podobná běžné spojce, ale je uprostřed mnohem plošší než na okrajích, tudíž čím je paprsek dále od osy, tím více dovnitř se láme ve srovnání s normální sférickou čočkou (viz obrázek na této stránce o asférických čočkách, tedy až na to, že tam je asférická naopak a potlačuje soudkovitost).
a a b. Pokud a = pi/4 a b = pi/4, tak by paprsek mel smerovat do stredu (tzn. podobne jako na tom obrazku). Je samozrejme mozny, ze tam je nekde chyba, pravdepodobnost chyby odhaduju na 50% :) Ale postup by mel byt ok.
Pouzivam stejny system souradnic jako na tomhle obrazku.
Myslenka je jednoducha, pokud vim normalovy vektor roviny a smer dopadu paprsku, muzu spocitat vektor odrazu.
Vektor l1 (light 1) je vektor, ktery smeruje z mista dopadu na prvni zrcadlo ke zdroji.
l1 = [0, 1, 0]
n1 je normalovy vektor roviny prvniho zrcadla, normalizovany na delku 1.
n1 = [0, cos(a), sin(a)]
r1 je vektor odrazu paprsku od prvniho zrcadla, smeruje pryc od mista dopadu. Jak spocitat vektor odrazu je vysvetleno zde.
r1 = 2*(n1*l1)*n1 - l1 = [0, 2*cos(a)*cos(a) - 1, 2*sin(a)*cos(a)]
Normalovy vektor roviny druheho zrcadla:
n2 = [cos(b), 0, -sin(b)]
A l2 je totez co r2, jenom ma opacny smer:
l2 = -r1 = [0, 1 - 2*cos(a)*cos(a), -2*sin(a)*cos(a)]
Vektor odrazu od druheho zrcadla spocitam stejne jako pro prvniho zrcadla:
r2 = [4*sin(a)*cos(a)*sin(b)*cos(b), 2*cos(a)*cos(a) - 1, 2*sin(a)*cos(a) * (1-2*sin(b)*sin(b))]
Z vektoru r2, ktery smeruje na promitaci plochu, je ted potreba spocitat misto dopadu (projx a projy). Pokud mam vektor [x, y, z], tak projx = y/x a projy = z/x. Obe souradnice je jeste potreba vynasobit konstantou s podle vzdalenosti platna.
Takze:
projx = s * (2*cos(a)*cos(a)-1) / (4*sin(a)*cos(a)*sin(b)*cos(b))
projy = s * (2*sin(a)*cos(a)*(1-2*sin(b)*sin(b))) / (4*sin(a)*cos(a)*sin(b)*cos(b))
Pokud chces umet prevest projx a projy na a a b, tak je potreba resit soustavu dvou rovnic, coz jsem nezkousel, ale vypada to slozite.
a a b jsou natoceni X Galvo a Y Galvo, na obrazku jsou natoceny priblizne na 45 stupnu (pi/4 v radianech).
a zafixuje na 45 stupnu, tak
y = (2*sin(a)*cos(a)*(1-2*sin(b)*sin(b))) / (4*sin(a)*cos(a)*sin(b)*cos(b))
jde podle wolfram alpha upravit na y = cotan(2*b).
y nám vyšlo stejně (akorát já uvažuju jinej úhel, proto tg místo cotg). Jestli vyšlo stejně i x už opravdu počítat nebudu. Dobrou noc
r2 (vektor paprsku smerujiciho na platno) wolfram alpha zjednodusil na [sin(2a) * sin(2b), cos(2a), sin(2a) * cos(2b)] Dobrou
alpha = 0.5 * acos(x / sqrt(x^2 + y^2 + 1))
beta = 0.5 * acot(y)
Pokud zafixuju x nebo y na 0, tak to dava stejny vysledky jako atan(uhel)/2. Alpha i beta jsou uhly 0 az 90, kdyz jsou oba 45, tak paprsek smeruje doprostred.
Kdyz budu mit zrcatko jedne osy pevne a druhym budu otacet, delka pruvodice bude v kazdem bode jina a tim padem to nenakresli primku.To, že délka průvodiče je jiná, ještě neznamená, že to nevykreslí přímku. Když si vemeš do ruky laser, budeš jím svítit na zeď a budeš jim vodorovně otáčet, tak taky promítneš přímku, přestože dráha je v každým bodě jinak dlouhá. Jestliže se ti to opravdu chová tak, jak popisuješ, tak to znamená, že to tvoje zařízení neodpovídá tomu modelu na obrázku.
Zadani je jasne - vypocitat uhly zrcatek tak, aby paprsek miril na bod zadany souradnicemi na rovine. Ted vubec neuvazuju vlastni zkresleni projektoru, protoze v realu se rozdilna vzdalenost zrcatek projevi mensi chybou, nez je velikost tecky laseru. Uvazuju idealni projektor, ktery promita idealne na kulovou plochu (krivkovy integral po kulove plose je linearni vuci uhlu).
Vzhledem k tomu, kolik lidi si na tom uz vylamalo zuby a vlastne mi nikdo zatim presne nerekl, jak to spravne je, nepovazuju tuhle ulohu za trivialni
.
a vlastne mi nikdo zatim presne nerekl, jak to spravne je, nepovazuju tuhle ulohu za trivialniNo, kdyz ja dve hodiny neco (zdarma) pocitam a ty to odbydes ala "takhle to vyjit nemuze, nejak se mi to nezda", ani se neobtezujes to vyzkouset (natoz se zmyslet nad postupem reseni), tak clovek uplne ztrati chut se tim vubec zabyvat. Spocitej si to sam, kdyz ses tak chytrej, lituju toho ztracenyho casu
Reagoval jsem na Ponkracuv koment, ze je spatne zadani. Me tvoje uplne posledni vysledny reseni vyslo taky, jinym zpusobem (uhel +-45 kolem 0) a zkousel jsem ho, ale nefungovalo a melo zminenou vadu s kulatyma primkama. Taky my vysly ruzny jiny vysledky, ktery taky nefungovaly. Sry, tak jsem to vubec nemyslel.Jasne, neni problem, pocit ukrivdenosti uz vyprchal
.
Tiskni
Sdílej: