Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Mám laserový vychylovací systém podobný tomuto. Zrcátka jsou navzájem kolmá, takže umožňují vychýlení paprsku v navzájem kolmých osách. Motory jsou skrze zpětnou vazbu řízené napětím, kdy napětí přesně odpovídá úhlu natočení zrcátka.
Problém je v tom, že promítám na rovinu a ne na kulovou plochu, navíc pod úhlem. Potřeboval bych tedy určit transformaci souřadnic na promítané ploše na ovládací napětí - tzn. zjistit potřebný úhel natočení obou zrcátek pro zaměření souřadnic na ploše promítání. Při nulové výchylce zrcátek paprsek míří do středu promítané plochy.
Jde o to, že pohyb v ose X ovlivňuje osa Y a naopak - pokud promítám bez korekce, souřadnice jsou nelineárně zkreslené - přímky jsou křivé, vzdálenosti nesedí atd. Bohužel zaboha nemužu přijít na to, jak tohle spočítat. Pro speciální případ - body na ose X a Y je transformace jednoduchá a funguje: uhel = atan2(rozmer, vzdalenost projektoru).
To ale nestačí, potřebuju mít přesně všechny body. Znám vzdálenost projektoru od plochy a souřadnice bodu na ploše, vzdálenost zrcátek uvnitř hlavy zatím zanedbám.
Zkoušel jsem už hromadu ruzných řešení ruzně najitých po netu a nic z toho mi nefungovalo, jediné co vypadá slibně je tohle ale tomu vubec nerozumím.
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á.
Toto není školní úloha, o to víc je to pro mě dúležité. Děkuju komukoliv, kdo se mi pokusí pomoci
Tiskni
Sdílej:
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