Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML] kąty w canvas- html5, Jak zrozumieć?
-Pasiral-
post
Post #1





Goście







Witam,
Może to i głupie pytanie, ale chciałbym dobrze to zrozumieć.. Przerabiam właśnie książkę o HTML5 i jestem na tworzeniu kątów w canvas. W przykładzie został narysowany pół okrąg.

  1. <!DOCTYPE HTML>
  2. <script type="text/javascript" >
  3. MasterCanvas = new Object();
  4. MasterCanvas.showCanvas=function()
  5. {
  6. canvasNow = document.getElementById("beHappy");
  7. contextNow = canvasNow.getContext('2d');
  8.  
  9. contextNow.beginPath();
  10. contextNow.moveTo(0,0);
  11. contextNow.lineTo(300,0);
  12. contextNow.lineTo(300,200);
  13. contextNow.lineTo(0,200);
  14. contextNow.closePath();
  15. contextNow.stroke();
  16.  
  17. RADCON = 0.01745329251994;
  18. twelve = 0;
  19. three = RADCON * 90;
  20. six = RADCON * 180;
  21. nine = RADCON * 270;
  22.  
  23. contextNow.beginPath();
  24. contextNow.arc(125,100,50,six,twelve,true);
  25. contextNow.stroke();
  26. }
  27. <style type="text/css">
  28. body {
  29. font-family: Verdana, Geneva, sans-serif;
  30. color: #cc0000;
  31. }
  32. <meta charset="UTF-8">
  33. <title>Uśmiech</title>
  34. </head>
  35. <body onLoad="MasterCanvas.showCanvas()">
  36. <article>
  37. <figure>
  38. <canvas id="beHappy" width="300" height="200">
  39. Nie widzisz uśmiechu ponieważ nie masz przeglądarki HTML5. Nie ma uśmiechu dla Ciebie!
  40. </canvas>
  41. <figcaption>
  42. <p>Prostokąt wyznacza granice canvas</p>
  43. </figcaption>
  44. </figure>
  45. </article>
  46. </body>
  47. </html>


Wszystko działa, natomiast czegoś tutaj nie rozumiem.
Autor książki pisze, że ze stopniami tutaj jest jak na kompasie, czy też na zegarze (stąd nazwy zmiennych). Kąt 0 / 360 stopni jest równy wskazówce zegara pokazującej godzinę 12, a kąt 180 stopni jest równy wskazówce zegara na godzinie 6. Natomiast logicznie myśląc, gdybyśmy zaznaczyli łuk od godziny 12 do godziny 6, to nie wyglądał by on jak dolna połowa okręgu tylko jak boczna połowa okręgu, tak mi się wydaje.
Nie mam pojęcia jak do tego podejść aby zrozumieć w jakiś łatwy sposób, jakie wprowadzać dane w punkcie początkowym i punkcie końcowym łuku, aby ten narysowany został tak jak to sobie zaplanowałem.

Mam nadzieje że dość jasno opisałem swój problem. Chodzi o to, że autor książki mówi abym na te kąty spojrzał jak na kompas czy na zegar, jednak patrząc w ten sposób zupełnie nie potrafię narysować odpowiedniego łuku..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Obrazkowo ;P

---------0/360

270 ------------ 90

---------180


nie patrz na kreski (są zamiast spacji) smile.gif

ps. pamiętaj że kąty podaje się w radianach smile.gif

Ten post edytował CuteOne 20.02.2012, 16:36:30
Go to the top of the page
+Quote Post
-Pasiral-
post
Post #3





Goście







No tak, ten obrazek rozumiem i właśnie myślałem że tak to ma być.
Jednak jeżeli tak by było to gdy zaznaczę łuk rozpoczynający się od kąta 180 a kończący na kącie 0/360 z wartością 'true' przy kierunku odwrotnym do kierunku ruchu wskazówek, to powinien pojawić mi się zarys prawego, bocznego półkola (powiedzmy że odbicie lustrzane litery 'C' wink.gif ) tak? bo zaczynam rysować od dołu (180) a kończę rysować na górze (360).

Natomiast w przykładzie który umieściłem w pierwszym poście, łuk zaczynający się od 180 stopni a kończący na 360 stopniach, przedstawia mi zarys dolnego półkola (powiedzmy, że literę 'U') i w tym momencie moja teoria upadła. Bo jeżeli rysuje łuk od dołu (180) do góry (360) czy też od góry (360) do dołu (180) to w żaden sposób w mojej wyobraźni nie potrafi powstać zarys szerokiej litery 'U' - tutaj jak widać koniec i początek łuku są na jednej wysokości, więc to chyba powinno być 270 i 90 stopni?

Tak tak, wiem że wielkości wyrażamy w radianach, ale żeby łatwiej opisać problem, opisuje go na przykłady stopni, które oczywiście później zamieniam podkładając pod odpowiednią stałą smile.gif

Pozdrawiam i dziękuję za odpowiedź.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:33