Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 13. 08. 2016 02:09

Zorak
Zelenáč
Příspěvky: 3
Reputace:   
 

Poměr stran obdélníku

Zdravím,
ačkoli problém, který mám se týká programování, jeho řešení je čistě matematické a proto bych rád poprosil o pomoc zde, protože to nějak né a né vymyslet...



Mějme zadaný vzorový obdélník o rozměrech X a Y.
Rozměr X je 1980, rozměr Y je 1024
Potřebujeme zjistit poměr stran obdélníku. Postup je známý a předem daný -  vypočítáme největšího společného dělitele. Tímto získaným číslem vydělíme oba rozměry a dostaneme poměr 16:9


Nyní máme nový obdélník o rozměrech X a Y a my známe jeho rozměry, nicméně tyto rozměry jsou zadávány pomocí proměnných.
Opět vypočítáme největšího společného dělitele a získáme nějaký poměr stran (šířka:výška).

Otázka zní:
Existuje nějaký obecný matematický předpis, který by dokázal porovnat, jestli je daný poměr stran "širší" než vzorový poměr stran?


Pár příkladů:
Obdélník se zadáním X:1222 Y:128 -> NSD=2, poměr stran 611:64
Zadáno tak, že tento obdélník je širší (tedy více do obdélníku do šířky) než vzorový obdélník a bude třeba provést na základě tohoto zjíštění další akci.

Obdélník se zadáním X:1420 Y:1000 -> NSD=20, poměr stran 71:50
Zadáno tak, že tento obdélník je užší (tedy spíše směrem ke tvaru čtverce), než vzorový obdélník a není třeba provést na základě tohoto zjíštění další akci.

Obdélník se zadáním X:500 Y:1650 -> NSD=50, poměr stran 10:33
Zadáno tak, že tento obdélník je užší a postaven "na výšku". Tento "směr" ale omezen podmínkou není, takže ani zde není třeba provést další akci


Důležité je také zmínit, že vstupní hodnoty nejsou uživateli známé a vstupují do řešení sice jako konkrétní čísla, nicméně tato čísla nejsou uživateli známa a uživatel není ani předběžně schopen odhadnout možné řešení. Veškeré počítání se musí omezit na porovnání výsledného a vzorového poměru stran.
A samozřejmě hledáme obecné řešení aplikovatelné  na porovnání poměru stran libovolného obdélníku s poměrem stran vzorového obdélníku, které je jasně pomocí jedné hodnoty nebo sady hodnot různě spojených logickými spojkami, schopné určit, zdali je náš obdélník "širší" nežli obdélník vzorový.



Ačkoliv je to matematická úloha, když by to někdo počítal a potřeboval pár dalších vzorových obdélníků a nechtělo by se mu s nimi vytvářet a uměl trochu programovat, dám sem i řešení v javascriptu (respektive v jQuery), které po zadání X a Y vyhodí Největší společný dělitel a výsledný poměr stran, stačí jen libovolně měnit proměnné X a Y :)

Code:

function gcd(x, y) {
    if (y == 0){ return x }
    return gcd (y, x % y) 
}

function calcratio() {
 
    var x = 1920;
    var y = 1080;
    var gdc = gcd(x,y)
    alert("NSD = "+ gdc + "; "+x/gdc+":"+y/gdc);

}


No, snad je to pochopitelné, pokud by cokoliv bylo nesrozumitelné, ihned doopravím.
Díky :)

Offline

 

#2 13. 08. 2016 07:22 — Editoval misaH (13. 08. 2016 07:24)

misaH
Příspěvky: 13467
 

Re: Poměr stran obdélníku

Vydeliť.

1:2 =0,5

4:8= 0,5

3:5 = 0,6

Každému pomeru zodpovedá desatinné číslo. Zhodné pomery sú reprezentované zhodný mi desatinnými číslami, rôzne pomery zas rôznymi.

Offline

 

#3 13. 08. 2016 10:01 — Editoval Rumburak (13. 08. 2016 10:16)

Rumburak
Místo: Praha
Příspěvky: 8691
Reputace:   502 
 

Re: Poměr stran obdélníku

↑ Zorak:
Ahoj.
K příspěvku kolegyně ↑ misaH: ještě dodám, že poměr y/x  je zde roven hodnotě $\tan \varphi$
("tan" = "tg" = tangens), kde $\varphi$ je úhel, který svírá úhlopříčka se stranou délky x. Velikost
tohoto úhlu (či hodnota jeho  funkce tangens) může sloužit jako míra "protáhlosti" obdélníka 
"ve směru strany y",  pokud Ti jde o toto (větší hodnota znamená  větší protáhlost).

Offline

 

#4 13. 08. 2016 10:10

misaH
Příspěvky: 13467
 

Re: Poměr stran obdélníku

Offline

 

#5 13. 08. 2016 10:22 — Editoval Zorak (13. 08. 2016 10:38)

Zorak
Zelenáč
Příspěvky: 3
Reputace:   
 

Re: Poměr stran obdélníku

Ahoj, díky za odpovědi.

Použiji první řešení pro jeho jednoduchost .... pro 1980x1020 je výsledná hodnota po dělení poměru 1,7 periodických. Zběžné testy ukazují, že cokoliv je větší než tato hodnota, (logicky) vyhovuje zadání a detekce proběhne vpořádku.

Rumburakovo řešení je taktéž asi funkční, nezkoušel jsem ho, ale je logické, vypočítat úhlopříčku $\sqrt{x^{2}+y^{2}}$

pak vypočítat úhel přes tg a ten porovnávat...
ale ... pro můj účel asi komplikované ... ne  že by o moc, ale pro tento účel pravděpodobně zbytečná matematická operace k implementaci :)

...
to je tak když člověk hledá a vymejšlí tak dlouho, až přehlédne to nejjednodušší, co má přímo pod nosem... máte u mě keksík :)

Offline

 

#6 13. 08. 2016 12:02 — Editoval Rumburak (13. 08. 2016 12:09)

Rumburak
Místo: Praha
Příspěvky: 8691
Reputace:   502 
 

Re: Poměr stran obdélníku

↑ Zorak:

Abychom si rozuměli:

Že by se měla počítat délka úhlopříčky, o tom jsem nic nepsal.  O úhlopříčce jsem se zmínil jen proto, abych pomocí ní
slovně "označil" patřičný úhel, který je jakýmsi měřítkem vlastnosti, která Tě zajímá.

Jestliže zvolíme za měřítko dané vlastnosti některou goniometrickou funkci tohoto úhlu, pak rozhodně se zde nejlépe
hodí funkce tangens  jakožto podíl y/x.  Použít třeba funkci sinus by šlo sice také, ale k tomu bychom museli spočítat
i délku oné úhlopříčky, což by opravdu bylo komplikovanější a ani jsem to neradil.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson