
ๆฅฝใใๆ้ใ๏ผ
็งใฏใใคใ็ซใๅคงๅฅฝใใงใ็นใซ็ซใฎ้กใๆใใฎใๅคงๅฅฝใใงใใใ ใใฉใผใ ใใฉใคใณใใใใณใพใฃใใ็ฐใชใ่กจ็พใ็ฐใชใใ ใผใใใใใใซๅคๆดใใพใใ ็งใฎA4ใทใผใใฏ้็ใพใงๅผใๅฏใใใใพใใใ ใใใฆใใใใง็งใฏๆ่ฟ้ ญใๆใใใพใใ-ใใใใใใชใใ้ๅฃ็ซใฎใธใงใใฌใผใฟใผใไฝใใชใใฐใฉใใงใใ๏ผ ใใฟใณใใฏใชใใฏใใฆใใฉใณใใ ใช็ซใฎ้กใๆใใพใใ ใงใใใ ใใฉใณใใ ใง้ข็ฝใใ ใใฎใใใชใใฎใไฝใๆนๆณใ่ฆใฆใฟใพใใใใ
็งใฏ็ซใ็ซๆๅฅฝๅฎถใใ้กใใใพใใ
JSใจCanvasใงใในใฆใ่กใใพใใใๅๆๅใๆงๆใชใฉใฎใณใผใใฏๆไพใใพใใใ ใใใฏใคใณใฟใผใใใไธใงใใฃใฑใใงใใใ็ซใๆใๆนๆณใ่ใใฆใใพใใใญ๏ผ
ใใใซไพฟๅฉใชใใใซใใใใคใใฎๅฎ็พฉๆธใฟ้ขๆฐใฎใฟใๆไพใใพใใ
function add(func, scale){ Graphics.ctx.scale(scale.x, scale.y); func(Graphics.ctx); Graphics.ctx.scale(1, 1); }
ใญใฃใณใในใฎใตใคใบใๅคๆดใใไฝใใๆใใฆใๅ
ใซๆปใใพใใ
function drawircle(ctx, pos, radius, fillColor, strokeColor, lineWidth) { ctx.beginPath(); ctx.arc(center.x - pos.x, center.y + pos.y, radius, 0, 2*Math.PI, false); ctx.fillStyle = fillColor; ctx.fill(); ctx.lineWidth = lineWidth; ctx.strokeStyle = strokeColor; ctx.stroke(); }
ใใใฆใใใใฏๅ/ๅใๆใใฆใใพใใ ใพใใไฝใ็นๅฅใชใใจใฏใใใพใใใใใใใฏใในใฆใใใงใฉใใงใไฝ็พไธๅใ่ชญใใใจใใงใใพใใใใใซ็ซใซ่กใใพใใใ๏ผ
ในใใใ1-้ ญ
้ ญใใๅงใใพใใ ้ ญใใใใพใใ๏ผ ๅๅจใ ๅฐใ็ตใใใๆกๅคงใใใใจใใงใใพใใ
ในใใญใผใฏใฎๅคชใใ่จญๅฎใใใใจใใงใใพใใใใใ่กใใพใใ ใใใฆใ็ดฐ้จใๅฐใใใใพใใใณใผใใฎใณใกใณใใ่ฆใฆใใ ใใใ
ใณใผใๅ
จไฝใซใณใกใณใใไปใใใใฆใใใ็่งฃใซๅ้กใฏใชใใจๆใใพใใ
้ ญใจ็ปๅ ดใ

็ถใใพใใใ๏ผ
ในใใใ2-่ณ
็ซใฎ่ณใฏใ้ๅฃใฎๆใ่กจ็พๅ่ฑใใช่ฆ็ด ใฎ1ใคใงใใ ใใใใฃใฆใ่ณใฎๅน
ใ็ฐใชใใๅ่ปขใใ่ณใ็ฐใชใใปใฉใ่กจ็พใฎๅคๆงๆงใฏๅคงใใใชใใพใใ
ใใพใใ
IIIiiใฏๆฌกใฎใจใใใงใใ

ใใงใซ็ซใซไผผใฆใใพใใใญ๏ผ
ในใใใ3-ๅฃใฒใ
่กจ็พๅใฎ2็ช็ฎใฏใ่ณใซ็ถใใฆใ็ซใฎ้กใฎ่ฆ็ด ใงใใ ใใใไฝใใฎใฏ้ฃใใใใจใงใฏใใใพใใใใใใไฟกใใใใชใใใใซ่ฆใใใใใซใใใฎใใใ้ฃใใใชใใพใใ 1ใคใฎใฉใณใใ ใชๅฎถใงใฏใงใใพใใใใใ็ทๅฝขใฎ็ตๆใๅพใใซใฏใใตใคใฏใซใใญใใฃใฆใใซใฆใณใฟใผใงใใคใณใใ่จ็ฎใใๅฟ
่ฆใใใใพใใ
VectorXInvert้ขๆฐใฏ็
ฉใใใใใใพใใใxๅใฎ็ฐใชใ่ฆ็ด ใ้ ป็นใซๅๆ ใใๅฟ
่ฆใใใใใใx = -xใๅฎ่กใใๅ็ดใช้ขๆฐใไฝๆใใใพใใ
็ซใใฉใฎใใใซๆใใใใ่ฆใฆใฟใพใใใใ

ในใใใ4-ๅฃ
็พๅฎ็ใซ่กใใฎใฏ้ๅธธใซ้ฃใใใใใๅฃใฎ็ทใๅณๅผ็ใซไฝๆใใพใใใใฐใฉใใฃใใฏใฎๆ็ปใซใฏไฝฟ็จใใพใใ
ๅฃใฎ็ทใๅผใใณใผใใๆธใใพใใ ใใธใงๆฒ็ทใงไฝๆใ
ไฝใ่ตทใใฃใใฎใ่ฆใฆใฟใพใใใใ ๅฟ่ใใปใใฎๅฐใๆฎใฃใฆใใพใ๏ผ

ในใใใ5-้ผป
้ผปใฏ้ผปใงใใ ๅฐใใชๅใจไธ่งๅฝขใฎ2ใคใฎใชใใทใงใณใงๆงๆใใพใใใใ ๅใฏใใพใ้ ป็นใซ่กจ็คบใใใพใใใ ใพใใๆฅฝใใฟใฎใใใซใ
ใใกใใใ่ฒใๅซใใฆใฉใณใใ ใซๆททใใฆใใใพใใพใช้ผปใๅกใใพใ-ๅกใใคใถใใ่ผช้ญใ ใใซใใพใใ ใใใใใฎ็ซใๅฟ
่ฆใงใใใญ๏ผ
็งใใกใฎ็ซใฏๅพใ
ใซ็ซใซๅคใใฃใฆใใพใใ ใใใฏๅใฐใใใใจใงใใ

ในใใใ6-็ฎ
็ฎใฏ่ค้ใงใใ ใใใใๆ็ปใใใฎใฏ้ฃใใใใใพใใใ2ใคใฎใใธใงๆฒ็ทใ ใใงใใ ใใใใ้ใใ็ฎใ่ฟฝๅ ใใๅฟ
่ฆใใใใพใใ็ซใฏ็ ใใใจใใงใใๅ ดๅใซใใฃใฆใฏ็็ฎใ้ใใใจใใงใใพใใ ใใใฆใใใใฏ่กใใใชใใใฐใชใใพใใใ ไปๅใฏๅใชใ็ซใงใใใใณใผใใฏใใใพใใใ ๅคง้ใฎๅ ดๅใ็งใฏ่ชญ่
ใซๅคง้ใฎใใญในใใ้ๅฑใใใใใใใพใใใ ๆๅพใซใ่ฆใใใฝใผในใไธใใใใพใใ ใใใฆใ็งใใกใฏไฝใ่ตทใใฃใใใ่ฆใฆใใพใใ

็ซใฏใใงใซใใใซใใพใใใใใๅฐใ่ฃ
้ฃพใๅ ใใพใใ
ในใใใ7-้ ฌใฎๅฃใฒใใใคใณใ
ใใชใใฏ็ฅใฃใฆใใใใใฎใใใชใใฎใใใใพใใ ็บ็ใใ็ขบ็ใฏๅฝ็ถ100๏ผ
ใงใฏใใใพใใใ ใใใใณใผใใๆฌกใซ็ตๆใงใใ
ใณใผใใฏๅ็ดใงใ-้ผปใใ็นๅฎใฎ่ท้ขใซ็นใๅๆฃใใใใ ใใงใใ
if(Math.sRandom(0, 100) > 60) { add(function(ctx){ for (var i = 0; i < Math.sRandom(5, 7); i++) { var P = {x:Math.sRandom(20, 40),y:Math.sRandom(0, 30)}; drawircle(ctx, P, 1, strokeColor, strokeColor, 1); } for (var i = 0; i < Math.sRandom(5, 7); i++) { var P = {x:-Math.sRandom(20, 40),y:Math.sRandom(0, 30)}; drawircle(ctx, P, 1, strokeColor, strokeColor, 1); } }, {x:1,y:1}); }
็ตๆ๏ผ

ในใใใ8-ใใณใฐ
ๆใ
ใไธใซๆฐๆฌใฎ็ทใๅผใใพใใ ่จ่ใง่ชฌๆใใใฎใฏ้ฃใใใงใใใณใผใใ่ฆใฆใไฝใ่ตทใใใใ่ฆใฆใใ ใใใ
if(Math.sRandom(0, 100) > 75) { add(function(ctx){ for (var i = 0; i < Math.sRandom(3, 5); i++) {
ใใใงใใญ

ในใใใ8-ใใซใพใใฏใใฆ
ใพใใใใใฏใใ ใฎๆฅฝใใฟใฎใใใงใใใ็งใฏใใใซ่ฟฝๅ ใใใใจใ่ใใๅผใจ้ใ่ฟฝๅ ใใใใจใซใใพใใใ ๅณๅฏใซๅคๆญใใชใใงใใ ใใใ็งใฏๆฅฝใใใงใใพใ:)
ใใคใใฎใใใซใใณใผใใใใใฆ็ซใจไธ็ทใซ็พใใๅ็ใ
ใ่ฆงใฎใจใใใ่ค้ใชใใฎใฏใชใใๅนพไฝๅญฆ็ใชๅฝข็ถใงใใ
็ซใใใชใใใฐใใณใผใใฏ้ๅฑใชใใฎใซใชใใพใใๅผใๆใฃใ็ซใใใใจใใพใใใ๏ผ

ใใใใซ
ใใใงใ็ซใซใคใใฆใฎ่ฉฑใ็ตใใใพใใใ
githubใฎใณใผใใฏๆฌกใฎ
ใจใใใงใ
ใgithub.com /
MagistrAVSH /
random-catใใใใใในใฆใฎไฝๆฅญใฎ็ตๆใใฏใชใใฏใงใใพใ๏ผ
magistravsh.imtqy.com/random-catใใใฆไปใใขใใฟใผใใ้ฃใณๆฃใฃใฆใ็ซใstrokeใงใฆใใ ใใ๏ผ :)