Autor Zpráva
Návštěvník
Profil *
Mohli byste poradit jak udělat úhloměr pomocí JS? Něco takového, abych mohl změřit sklon čáry, s předpokladem, že by se spočítal úhel mezi pomyslnou vodorovnou čárou a nakreslenou čárou. Použití by mělo být takovéto: na stránce máte zobrazenou fotku na které chcete změřit nějaký úhel. Kliknete na fotku pravým tlačítkem, nakreslí se malý červený křížek, pak jak posouváte myš, tak se bude vykreslovat tenčí červený čára a zobrazovat úhel. Když kliknete podruhé, tak se nakreslí čára a třeba vypíše ten zvolený úhel. Na další klik čára zase zmizí...
Hitman
Profil
Tady se řeší pozice kurzoru. Co se týče toho výpočtu, budeš nejdříve muset zaznačit všechny strany, tedy bod kde se přímky spojují, konec jedné a konec druhé. Problém je že přímky budou vždy jinak dlouhé, takže budeš muset dopočítat třeba bod vzdálený 5cm od průniku. Potom bych si podle papíru a úhloměru udělal nějaký vztah mezi vzdáleností těch přímek (třeba v 5cm každé přímky) a úhlem. Tak bych to řešil já, možná je na to ale nějaký vzorec...
Joker
Profil
Hitman:
Co se týče toho výpočtu, budeš nejdříve muset zaznačit všechny strany, tedy bod kde se přímky spojují, konec jedné a konec druhé.
Konec přímky se bude hledat opravdu špatně :-)

Nicméně, pokud jde o úhel od vodorovné osy, není to tak složité.
Když budu mít souřadnice počátečního bodu: X0, Y0 a aktuální pozici kurzoru: X1, Y1
a z aktuální pozice kurzoru si spustím kolmici k vodorovné ose, vznikne pravoúhlý trojúhelník, kde odvěsny jsou a = Y1 - Y0 a b = X1 - X0, hledám úhel α.
Když si vzpomeneme na goniometrické funkce :-), tangens úhlu je v pravoúhlém trojúhelníku poměr protilehlé ku přilehlé odvěsně, tg α = a / b.
Tedy α = arctg((Y1 - Y0) / (X1 - X0))
V radiánech, krát 180/pí ve stupních.
Pokud (X1 - X0) = 0, je to 90°, 0° nebo 270°, podle toho, jestli Y1 - Y0 je kladné, nula nebo záporné.
Chamurappi
Profil
Reaguji na Jokera:
Pokud (X1 - X0) = 0, je to 90°, 0° nebo 270°, podle toho, jestli Y1 - Y0 je kladné, nula nebo záporné.
Vestavěná funkce Math.atan2 přijímá přímo souřadnice (tedy rozdíly X a Y) a vyplivává rovnou úhel v radiánech.
Hitman
Profil
No jó furt...úsečka samozdřejmě :-).
Návštěvník
Profil *
Hitman:
Myslím, že ten kód na který si mě odkazoval (vrácení pozice myši) nefunguje. Testuju ve starším HTML Kit a první kód nedělá nic, druhý vrací chyby.
peta
Profil
Tak zkus nejake ty efekty s "kurzor -". Jestli ti neco jede, tak to pouzij.
http://peter-mlich.wz.cz/web/js/prx/index.htm
Návštěvník
Profil *
peta:
To je tvoje stránka? Musím říct, že perfektní, obzvlášť mě zaujal ten Menu editor a ten Menu Effect, Menu drag & drop a ale jiné. Ještě ta spirálka: mohlo by být zajímavé, kdyby to postupně měnilo barvy něco jako lávová lampa :-)
peta
Profil
Jj, mi se to prave taky libilo, tak jsem si to dal na web. Ale v podstate se mi to k nicemu nehodi a jen to blokuje procesor :)
Návštěvník
Profil *
Udělal jsem obrázek, jak by ten úhloměr měl fungovat.



Vlastně by mělo stačit jedno kliknutí levým tlačítkem, ale musí být taky možnost to zrušit tím pravým. Nakreslit čáru během pohybu myši by bylo ideální. Mělo by to sloužit k tomu, že když si uživatel nahraje fotku a zjistí, že je nakřivo, aby si mohl změřit jak moc je nakřivo a pak ji vyrovnat (protože použije ten naměřený údaj ve formuláři, a po odeslání formuláře mu opravím rotaci).

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0