Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
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.
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
Sry, tak jsem to vubec nemyslel.Jasne, neni problem, pocit ukrivdenosti uz vyprchal
Tiskni
Sdílej: