Po téměř třech letech od vydání verze 9 byla vydána nová verze 10 linuxové distribuce Mageia (Wikipedie). Přehled novinek v poznámkách k vydání.
Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.
Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.
Byla vydána nová verze 26.6.25 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Apple bez varování odstranil ze svého obchodu sociální síť VKontaktě i další aplikace skupiny VK, jako je VK Music nebo VK Video [Novinky.cz].
V dubnu loňského roku představený poštovní klient Notion Mail bude 22. září ukončen.
Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.
Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.
Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.
Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.
Dělal jsem úkol z programování, ale nějak špatně to funguje.
Mám 2 úsečky, každá je zadaná dvěma body. Mám zjistit jestli jsou rovnoběžné, různoběžné, kolmé, jestli leží na jedné přímce a v tomto případě jestli se nepřekrývají. Pokud mají průsečík, vypsat ho.
Vyřešil jsem to nějak takto:
y = kx + qk1 * k2 + 1 == 0. Pak najdu průsečík přímek (k1*x + q1 = k2*x + q2, potom dopočtu y) a zjistím, jestli bod leží na obouch úsečkách.A právě ve zjišťování, zda je bod na úsečce je zakopaný pes. Zjišťuji to takto:
sqrt((A.x - B.x)^2 + (A.y - B.y)^2)sqrt((A.x - bod.x)^2 + (A.y - bod.y)^2) + sqrt((B.x - bod.x)^2 + (B.y - bod.y)^2)
Tak co teď s tím? Jak jinak zjistit, jestli tam ten bod leží nebo ne?
Tiskni
Sdílej:
Neporadí někdo, jak to všechno udělat bez toho nepřesného dělení? Nebo nějakou rychlou třídu "zlomek"
Tak neděl, ale násob - test rovnosti ("rovnici") k_AB == k_CD můžeš vyjádřit jako (y_B - y_A)/(x_B - x_A) == (y_D - y_C)/(x_D - x_C), což je ekvivalentní (y_B - y_A)*(x_D - x_C) == (y_D - y_C)*(x_B - x_A) (což je ekvivalentní nulovému skalárnímu součinu normály prvního vektoru a druhého vektoru, jak jsem poznamenal v odpovědi Platonixovi)
Ovšem, také záleží, co máš na vstupu.
Neni to sice idealni reseni, ale rozhodne nejjednodussi a v realnych aplikacich je to asi uplne jedno.
Jen je potreba zvolit vhodny odstup delty a presnosti reprezentace realneho cisla v zavislosti na poctu operaci, aby chyba nikdy nepresahla velikost delty.
Toto je standardne riesenie ktore sa uci aj na numerickej matematike, proste sa treba zmierit s konecnou presnoustou cisel s poh. rad. ciarkou. Ked to chces presne tak to rataj symbolicky cez zlomky..
Nebylo by jednodušší napočítat směrové vektory obou úseček (to pomocí rozdílu souřadnicí jejich bodů). Potom stačí provést skalární součin těchto vektorů. Je-li roven nule, jsou kolmé, je-li roven 1 jsou rovnoběžné. Je-li něco mezi, tak jsou obecně různoběžné.
je-li roven 1 jsou rovnoběžné.
Co třeba (1,1) a (-1,-1)? Ne, tohle by se testovalo přes normálový vektor - pokud je normálový vektor prvního vektoru kolmý na druhý vektor (tedy skalární součin druhého vektoru a normály prvního je roven nule). Normálový vektor (a,b) = (-b,a)
Ale jinak dobrý - už jsem chtěl v předešlém vlákně odpovědět, jak řešit situaci se zlomky - tohle je o poznání elegantnější.
I když - je to vlastně to samý, co jsem chtěl navrhnout, jenom jinak vyjádřený.
Není třeba testovat přes normálový vektor. Skačí, když malinko opravím ten svůj návrh: bude se počítat absolutní hodnota skalárního součinu. Jo jinak je samozřejmě třeba vektory normovat!
Tedy celý vzoreček by byl asi takovýto:
1. najdu směrové vektory pomocí rozdílu souřadnic obou bodů
2. spočítám výraz: (skalární součin 1 a 2 vektoru)^2/((skalární součin 1 a 1 vektoru)^2*(skalární součin 2 a 2 vektoru)^2)
3. je-li výsledek 1 - rovnoběžné, 0 - kolmé, něco mezi jsou obecně různoběžné svírají úhel = acos(sqrt(výsledek))
No, ale těm operacím bych se radši vyhnul - narůstá časová složitost a dochází k nepřesnostem (normála je levná).
Nevím, co je na normále tak super. Samozřejmě musíš ty vědět, jaké funkce má ten program poskytovat. Já navrhuji řešení, které je robustní (neselže při vyšším počtu rozměrů) a je naprosto standardní (opírá se o definice skalárního součinu a příslušné věty). Alternativně můžeš na 0 testovat skalární součin obou vektorů a zároveň jednoho vektoru a normálového k druhému. Přijde mi to ale zbytečné, když se vše dá ošetřit jedním vzorečkem.
Časová složitost je stejná.
Jo a nedoporučuji normálový vektor používat protože pro více dimenzí je problém s jeho definicí (je nejednoznačný). Např.: Jaký bude normálový vektor k vektoru (1,1,1). Je to totiž celá normálová rovina.
Ty vole! Tyhle problémy bych chtěl mít! 
(By - Ay)(CyDx - CxDy) - (Dy - Cy)(AyBx - AxBy)
y = ---------------------------------------------
(By - Ay)(Dx - Cx) - (Dy - Cy)(Bx - Ax)
Nevim proc presne to neproslo tobe, ale v tom modu -pedantic si to zkus nejdriv zkompilovat na progtestu v sekci prekladace. Muze ti to na tvym systemu hazet jiny warningy nez u nich a uz to neprojde..
Z bodů zjistím k a q pro rovnici přímky y = kx + qTímto tvarem rovnice nejsi schopen popsat přímky rovnoběžné s osou y - ty chyby by mohly být pokusy počítače o dělení různých čísel nulou (ale nejsem programátor, takže netuším, jestli je to správný výklad). Blbuvzdorný tvar rovnice přímky v rovině je:
ax + by +c = 0 , kde "a" a "b" jsou pořadnice normálového vektoru k úsečce a c je konstanta, která se dopočítá dosazením souřadnic bodu ležícího na přímce za "x" a "y".
Ve tří- a vícerozměrném prostoru ti pak nezbyde, než přímky vyjadřovat parametrickými rovnicemi {x}T = {a}T + {b}Tt , kde vektor "x" jsou souřadnice libovolného bodu na přímce, vektor "a" souřadnice známého bodu ležícího na přímce, vektor "b" souřadnice směrového vektoru přímky a "t" je parametr.
0x = 0 (úsečky leží na jedné přímce, je potřeba spočítat překryv) a 0x != 0 (úsečky leží na dvou různých rovnoběžných přímkách).
vektorový součin = 0 -> rovnoběžné/na společné přímce
c1 == c2 -> na společné přímce
A, B na CD nebo C na AB -> překrývají se
jinak ne
jinak rovnoběžné
skalární součin směrových vektorů = 0 -> kolmé
jinak různoběžné
ze soustavy průsečík (jako "zlomek", abych mohl přesně zjišťovat, jestli leží na úsečce)
průsečík na AB a CD -> průsečík úseček
Hlavní je, že to funguje, jenom by to asi příště chtělo pořádnou analýzu, což nemám rád
Hlavní je, že to funguje, jenom by to asi příště chtělo pořádnou analýzu, což nemám rádHm, tak v tomhle se informatika od stavařiny moc neliší. Když se člověk vybodne na pořádnou analýzu, tak potom vycházejí v lepším případě nesmysly a v horším správně se tvářící úplně špatné výsledky...