ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ, ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Web-ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠ°Π½Π²Ρ, ΠΏΠ΅ΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΠΊΠ΅ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ [0,0], Ρ. Π΅. Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΊΠ°Π½Π²Ρ. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠ΅ΡΠΎ Π² Π΄ΡΡΠ³ΡΡ ΡΠΎΡΠΊΡ ΠΊΠ°Π½Π²Ρ, Π³Π΄Π΅ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π½Π°ΡΠ°ΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ moveTo:
<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.moveTo(<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π΄Π°ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡΡΡ ΠΏΠ΅ΡΠΎ, Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠΎΠ΄ moveTo Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ:
ctxCanvas.moveTo(200, 150);
ΠΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠΎ Π² ΡΠ΅Π½ΡΡ ΠΊΠ°Π½Π²Ρ cnv β Π² ΡΠΎΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ [200,150].
ΠΡΡΠΌΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ
ΠΡΡΠΌΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ lineTo:
<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.lineTo(<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>)
ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠ΅ΡΠΎ (ΠΎΠ± ΡΡΠΎΠΌ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ ΡΠ°Π½Π΅Π΅). ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° lineTo. ΠΠ΅ΡΠΎΠ΄ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΠΎΡΠ»Π΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠ΅ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² Π΅Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ Π½Π°ΡΠ°ΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΠ°.
ΠΠΈΡΡΠΈΠ½Π³ 22.2
ctxCanvas.beginPath();
ctxCanvas.moveTo(20, 20);
ctxCanvas.lineTo(380, 20);
ctxCanvas.lineTo(200, 280);
ctxCanvas.closePath();
ctxCanvas.stroke();
Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 22.2 ΡΠΈΡΡΠ΅Ρ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π±Π΅Π· Π·Π°Π»ΠΈΠ²ΠΊΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
1. ΠΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° beginPath ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ Web-ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΈΠ³ΡΡΡ.
2. ΠΠ΅ΡΠΎΠ΄ΠΎΠΌ moveTo ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠΎ Π² ΡΠΎΡΠΊΡ, Π³Π΄Π΅ Π½Π°ΡΠ½Π΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
3. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° lineTo ΡΠΈΡΡΠ΅ΠΌ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π½ΡΡ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
4. Π’ΡΠ΅ΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΌΡ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, Π° Π»ΡΡΡΠ΅ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ closePath, ΡΡΠΎΠ±Ρ Web-ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°Π» Π΅Π΅, Π·Π°ΠΌΠΊΠ½ΡΠ² Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΡ.
5. ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ stroke, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π±Π΅Π· Π·Π°Π»ΠΈΠ²ΠΊΠΈ.
ΠΡΠ³ΠΈ
ΠΡΠ³ΠΈ ΡΠΈΡΡΡΡΡΡ ΡΠΎΠΆΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ arc:
<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.arc(<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>, <ΡΠ°Π΄ΠΈΡΡ>, <Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ³ΠΎΠ»>, <ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ³ΠΎΠ»>,true|false)
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π°Π΄Π°ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π½ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄ΡΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π° Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ . Π’ΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π΄ΠΈΡΡ Π΄ΡΠ³ΠΈ, ΡΠ°ΠΊΠΆΠ΅ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ»Π°. Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΠΈ ΠΏΡΡΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ³Π»Ρ Π΄ΡΠ³ΠΈ Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π»; ΡΡΠΈ ΡΠ³Π»Ρ ΠΎΡΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈ. ΠΡΠ»ΠΈ ΡΠ΅ΡΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true, ΡΠΎ Π΄ΡΠ³Π° ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ² ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ, Π° Π΅ΡΠ»ΠΈ false β ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅. ΠΠ΅ΡΠΎΠ΄ arc Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΠ³ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π² ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠ΅ΡΠΎ. ΠΠΎΡΠ»Π΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΠ³ΠΈ ΠΏΠ΅ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ ΠΊΠΎΠ½ΡΠ°Π΅ΡΡΡ ΡΡΠ° Π΄ΡΠ³Π°.
ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ³Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄ΡΠ³ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ , Π° Π½Π΅ Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ . ΠΠ΅ΡΠ΅ΡΡΠΈΡΠ°Π΅Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠ³Π»Π° ΠΈΠ· Π³ΡΠ°Π΄ΡΡΠΎΠ² Π² ΡΠ°Π΄ΠΈΠ°Π½Ρ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ JavaScript:
radians = (Math.PI / 180) * degrees;
ΠΠ΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ degrees Ρ ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ³Π»Π° Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ , Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ radians Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π² ΡΠ°Π΄ΠΈΠ°Π½Π°Ρ . Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ PI ΠΎΠ±ΡΠ΅ΠΊΡΠ° JavaScript Math Ρ ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Ο.
ΠΠΎΡ Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΡΠ΅Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π±Π΅Π· Π·Π°Π»ΠΈΠ²ΠΊΠΈ:
ctxCanvas.beginPath();
ctxCanvas.arc(200, 150, 100, 0, Math.PI * 2, false);
ctxCanvas.stroke();
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° arc, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ³Π»Π°, ΠΌΡ Π·Π°Π΄Π°Π²Π°Π»ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
ΠΡΠΈΠ²ΡΠ΅ ΠΠ΅Π·ΡΠ΅
ΠΡΠΈΠ²ΡΠ΅ ΠΠ΅Π·ΡΠ΅ β ΡΡΠΎ Π»ΠΈΠ½ΠΈΠΈ ΠΎΡΠΎΠ±ΠΎΠΉ ΡΠΎΡΠΌΡ, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ: Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π²ΡΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ. ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΠΌΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, Π·Π°Π΄Π°ΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅, Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΡΠΎΡΠΌΡ ΡΡΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ.
Π ΠΈΡ. 22.1. ΠΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅ Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ
Π ΠΈΡ. 22.2. ΠΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ
ΠΠ° ΡΠΈΡ. 22.1 ΠΊΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΡΡΠΎΠ»ΡΠ΅Π½Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, Π΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Ρ ΠΊΡΡΠΆΠΊΠ°ΠΌΠΈ, ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ. Π§Π΅ΡΠ΅Π· ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π· Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΠΈ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Ρ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ (ΡΠΎΠ½ΠΊΠΈΠ΅ ΠΏΡΡΠΌΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ) β ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎΡΠΌΡ ΠΊΡΠΈΠ²ΠΎΠΉ. ΠΡΠ»ΠΈ ΠΌΡ ΠΌΡΡΠ»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠΌ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ, ΡΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· Π½Π΅Π΅ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ ΠΈ ΡΠΎΡΠΌΠ° ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅.
ΠΠ° ΡΠΈΡ. 22.1 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΊΡΠΈΠ²Π°Ρ ΠΠ΅Π·ΡΠ΅ Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ. Π’Π°ΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ.
ΠΠΎ Π·Π°ΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ, "Π²ΡΡΠΎΠΆΠ΄Π΅Π½Π½ΡΡ", ΡΠΎΡΠΌΡ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ β Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ (ΡΠΈΡ. 22.2). ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΡΠ³ΠΈ ΠΈ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΠΎΡΡ, Π² ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠΊΠΎΡΠ΅ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ.
ΠΠ»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄
bezierCurveTo: <ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.bezierCurveTo(<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>)
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈΠ· ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠ΅ ΠΎΠ½ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠΎΠ΄ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π² ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠ΅ΡΠΎ. ΠΠΎΡΠ»Π΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΏΠ΅ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π΅Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ.
ΠΠΎΡ Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΡΠΈΡΡΡΡΠΈΠΉ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ:
ctxCanvas.beginPath();
ctxCanvas.moveTo(100, 100);
ctxCanvas.bezierCurveTo(120, 80, 160, 20, 100, 200);
ctxCanvas.stroke();
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ quadraticCurveTo:<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.quadraticCurveTo(<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ>)
ΠΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° β ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΡΠ΅ ΠΎΠ½ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠΎΠ΄ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ΅Π·ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π² ΡΠΎΠΉ ΡΠΎΡΠΊΠ΅, Π³Π΄Π΅ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠ΅ΡΠΎ. ΠΠΎΡΠ»Π΅ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΏΠ΅ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π΅Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΡ.
ΠΠΎΡ Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΡΠΈΡΡΡΡΠΈΠΉ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ:
ctxCanvas.beginPath();
ctxCanvas.moveTo(100, 100);
ctxCanvas.quadraticCurveTo(200, 100, 200, 200);
ctxCanvas.stroke();
ΠΠΎΠ»ΡΡΠΈΠ²ΡΠ°ΡΡΡ ΠΊΡΠΈΠ²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ Π΄ΡΠ³ΠΈ.
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π»ΠΈΡΡΠΈΠ½Π³ 22.3.
ΠΠΈΡΡΠΈΠ½Π³ 22.3
ctxCanvas.beginPath();
ctxCanvas.strokeStyle = "red";
ctxCanvas.fillStyle = "red";
ctxCanvas.moveTo(100, 100);
ctxCanvas.quadraticCurveTo(200, 100, 200, 200);
ctxCanvas.lineTo(100, 200);
ctxCanvas.lineTo(100, 100);
ctxCanvas.fill();
Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 22.3 ΡΠΈΡΡΠ΅Ρ ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΠΎΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ Ρ ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΆΠ΅ Π·Π°Π»ΠΈΠ²ΠΊΠΎΠΉ. ΠΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π·ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, ΠΈΠΌΠ΅ΡΡΡΡ Π²ΠΈΠ΄ Π΄ΡΠ³ΠΈ, ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ Π΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠΊΠΈ Ρ ΡΠ΅Π½ΡΡΠΎΠΌ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 22.4.
ΠΠΈΡΡΠΈΠ½Π³ 22.4
ctxCanvas.beginPath();
ctxCanvas.moveTo(20, 0);
ctxCanvas.lineTo(180, 0);
ctxCanvas.quadraticCurveTo(200, 0, 200, 20);
ctxCanvas.lineTo(200, 80);
ctxCanvas.quadraticCurveTo(200, 100, 180, 100);
ctxCanvas.lineTo(20, 100);
ctxCanvas.quadraticCurveTo(0, 100, 0, 80);
ctxCanvas.lineTo(0, 20);
ctxCanvas.quadraticCurveTo(0, 0, 20, 0);
ctxCanvas.stroke();
Web-ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 22.4 ΡΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΠΎ ΡΠΊΡΡΠ³Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ³Π»Π°ΠΌΠΈ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ Ρ Π½ΠΈΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ.
ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ
ΠΡ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅ΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΌΠ΅ΡΠΎΠ΄Ρ strokeRect ΠΈ fillRect. ΠΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠΈΠ³ΡΡΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΠ°. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΠ°, Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΈΠ±Π΅Π³Π½ΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ rect:
<ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ>.rect(<Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>,<Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°>, <ΡΠΈΡΠΈΠ½Π°>,<Π²ΡΡΠΎΡΠ°>)
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π°Π΄Π°ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π». Π’ΡΠ΅ΡΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΡΠ°ΠΊΠΆΠ΅ Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ ΠΈ ΡΠΎΠΆΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠΎΠ΄ rect Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.