рд╕рдордорд┐рддреАрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдирд╛ред рднрд╛рдЧ 1

рдЖрдЗрд╕реЛрдореЗрдЯреНрд░реА рдХрдВрдкреНрдпреВрдЯрд░ рдЧреЗрдо рдЬрд┐рддрдиреА рдкреБрд░рд╛рдиреА рдЪреАрдЬ рд╣реИред
рдЕрдм рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ рдЬрдм рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рдЦреЗрд▓реЛрдВ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реБрдЖ (рдлреНрд▓реИрд╢ рдХреА рдЧрд┐рдирддреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЧреЗрдо рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдХрд╕реНрдорд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП, рдЖрд░рдЯреАрдПрд╕ рдФрд░ рдЖрд░рдкреАрдЬреА рд╢реИрд▓рд┐рдпреЛрдВ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред



рдЖрд░рдЯреАрдПрд╕, рдЖрд░рдкреАрдЬреА рд╢реИрд▓реА рдФрд░ рдЯрд░реНрди-рдмреЗрд╕реНрдб рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЪрд▓рддреА рдЗрдХрд╛рдЗрдпреЛрдВ, рдбреНрд░рд╛рдЗрдВрдЧ рдмрдирд╛рд╡рдЯ, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рддрдВрддреНрд░ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рдЖрдЗрд╕реЛрдореЗрдЯреНрд░рд┐рдХ рдмрдирд╛рд╡рдЯ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд░рдХ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рддрдм рддрдХ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓реЗрдВрдЧреЗ рдЬрдм рддрдХ рдЖрдк рдЗрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдФрд░ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рдд рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ:
  1. рдПрдХ рд╕рдордорд┐рддреАрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ
  2. рдПрдХ рдлреБрд▓рд╕реНрдХреНрд░реАрди рд╕рдордорд┐рддреАрдп рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВ


рдкрд░рд┐рдЪрдп



рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд░реНрдЧ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдЦреАрдВрдЪрдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдпрд╣ рд╕рдордорд┐рдд рд╣реИ, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЦреЛрдЬ рдЖрдо рддреМрд░ рдкрд░ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдордорд┐рддреАрдп рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛рдо рдХреЗ рд▓рд┐рдП 2 рд╕реБрдзрд╛рд░ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ:
  1. рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЦреАрдВрдЪрдирд╛ рдХреИрдирд╡рд╛рд╕ рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред
  2. рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛ рджреГрд╢реНрдп рднреНрд░рдоред



рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рдЗрди рд╕рднреА рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдЗрд╕реЛрдореЗрдЯреНрд░рд┐рдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рддрд┐рдкрд╛рджрди рдХреИрдирд╡рд╛рд╕ рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рдХреЗ рдордзреНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рджреВрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рджреГрд╢реНрдп рдзреЛрдЦреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЫрд╡рд┐ рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓рд╛ рдорд╕реНрддрд┐рд╖реНрдХ, рдЗрд╕реЗ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдЦреАрдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рддрд┐рд░рдЫреЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред


рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдЗрдП рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреЗрдЦреЗрдВред

рд╕рдм рдХреБрдЫ рдмрд╛рд╣рд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИ, рдПрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд╛рдЧреВ рдХрд░рдирд╛


var element = document.getElementById('canvas'); element.width = 1024; element.height = 512; var ctx = element.getContext('2d'); var image = new Image(); image.src = 'http://habrastorage.org/storage2/e61/42d/5b2/e6142d5b26d171611d60d5941e390398.png'; //     var width = 128; var height = 64; image.onload = function() { function draw(x, y) { ctx.drawImage(image, x - width / 2, y - height / 2, width, height); } //    X  Y   . //         ,     //     ,      . var Xo = 0; var Yo = 0; //    var C = Math.floor(element.width / 2); //    X,     //    Y var Xc = 0; var matrixHeight = 8; var matrixWidth = 8; for(var y = 0; y < matrixHeight; y++) { //  ,       Yo = (height / 2) * y; //        . Xc = C - (width / 2 * y); for(var x = 0; x < matrixWidth; x++) { //     X     . //       ,   . //     Xo = Xc + (x * (width / 2)); //     Y. //     X,     //     X,      Y. Yo += height / 2; draw(Xo, Yo); } } } 

рдпрд╣рд╛рдБ рдПрдХ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ

рдлреБрд▓рд╕реНрдХреНрд░реАрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ


рдЦреИрд░, рд╣рдо рдПрдХ рдЖрдЗрд╕реЛрдореЗрдЯреНрд░рд┐рдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдЕрдм рд╣рдореЗрдВ рдЗрд╕реЗ рдлреБрд▓рд╕реНрдХреНрд░реАрди рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓, рдпрд╛ рдмрд▓реНрдХрд┐:
  1. рдХреБрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╢рд┐рдлреНрдЯ рдКрдВрдЪрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
  2. рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреА рдорджрдж рд╕реЗ рдЦрд╛рд▓реА рдХреНрд╖реЗрддреНрд░ рднрд░рд╛ рдЬрд╛рдПрдЧрд╛ред
  3. рдЕрджреГрд╢реНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗрдЯ рдХрд░реЗрдВ


рдХреБрд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкрд╛рд░реА рдХреА рдКрдБрдЪрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдЕрднреНрдпрд╛рд╕


рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдПрдХ рдорд╛рдирдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЦреАрдВрдЪрддреЗ рд╕рдордп, рд╣рдореЗрдВ рдПрдХ рддреНрд░рд┐рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рдХреНрд╖реЗрддреНрд░ рдорд┐рд▓рддрд╛ рд╣реИ,
рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдЕрдЬреНрдЮрд╛рдд рдкрдХреНрд╖ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдКрдВрдЪрд╛рдИ рд╕реЗ рдПрдХ рдмрджрд▓рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХреЛрдИ рдЫрд┐рджреНрд░ рди рдмрдЪреЗред

рд╣рдо рдПрдХ рдкреИрд░ рдХреА рд▓рдВрдмрд╛рдИ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рд╣рд╛рдЗрдкреЛрдЯреЗрдВрд╢рди рдХреА рд▓рдВрдмрд╛рдИ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

рдкрдХреНрд╖ A рдкреИрд░ рдХреА рдЬреНрдЮрд╛рдд рд▓рдВрдмрд╛рдИ (рдкреВрд░реЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░ рдХреА рдЪреМрдбрд╝рд╛рдИ 2 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд) рд╣реИред рдпрд╛рдиреА 1024px / 2 = 512px, рдкреИрд░ рдХреА рд▓рдВрдмрд╛рдИ рдП
рд╕рд╛рдЗрдб рдмреА - рд╣рдо рдЗрд╕ рдкреИрд░ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╕рд╛рдЗрдб рд╕реА - рд╣рд╛рдЗрдкреЛрдЯреЗрдиреНрдпреВрдЬрд╝, рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рд░реЛрдореНрдмрд╕ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдзреЗ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рд░реЛрдореНрдмрд╕ рдХреА рдКрдБрдЪрд╛рдИ рдХреЛ рд▓реЗрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд▓рд╛рдПрдБ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░реЗрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред
  ... var width = 128; var height = 64; var grainLength = Math.sqrt((width / 2) * (width / 2) + (height / 2) * (height / 2)); //   71.554 //  ,    64px   128px image.onload = function() { ... 

рдЬрдм рд╣рдордиреЗ рд░реЛрдореНрдмрд╕ рдХреЗ рдПрдХ рдкрд╣рд▓реВ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рдХреА рдЖрдзреА рдЪреМрдбрд╝рд╛рдИ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ 32 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд░рдВрдмрд▓ рдХреЗ рд▓рдВрдмрд╛рдИ рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВред

  ... var grainLength = Math.sqrt((width / 2) * (width / 2) + (height / 2) * (height / 2)); var center = Math.floor(element.width / 2); var hypotenuse = center / (width / 2) * grainLength; image.onload = function() { ... 


рдЕрдЧрд▓рд╛, рд╣рдо рдкреНрд░рд╕рд┐рджреНрдз рдкреИрд░ рдФрд░ рдХрд░реНрдг рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВред рдХрд░реНрдг рд╕реЗ рдкреИрд░ рдХреЛ рдШрдЯрд╛рдПрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред
  ... var hypotenuse = center / (width / 2) * grainLength; var catheusA = center * center; hypotenuse *= hypotenuse; //       ,    . var catheusB = Math.sqrt(hypotenyse - catheusA); image.onload = function() { ... 


рдпрд╣реА рд╣реИ, рд╕рдореАрдХрд░рдг рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдпрд╣ рдкреНрд░рддрд┐рдкрд╛рджрди рдЧрдгрдирд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред

  ... for(var y = 0; y < matrixHeight; y++) { Yo = (height / 2) * y; Xc = C - (64 * y); ... 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдм рд╣рдо рдПрдХ рд░реЛрдореНрдмрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╢реАрд░реНрд╖ рдкрд░ рдХреЛрдИ рдЫреЗрдж рди рд╣реЛред
рд▓реЗрдХрд┐рди рдЕрдм рд╕рдорд╕реНрдпрд╛ рдирдВрдмрд░ 2 рд╣реИред рдХреНрд╖реЗрддреНрд░ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдРрд╕рд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЪреМрдбрд╝рд╛рдИ рдпрд╛ рдКрдВрдЪрд╛рдИ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЪреМрдбрд╝рд╛рдИ рдКрдВрдЪрд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдЪреМрдбрд╝рд╛рдИ рдХреЛ 32 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдКрдВрдЪрд╛рдИ
  ... var matrixHeight = (element.width > element.height ? element.width : element.height) / 32; var matrixWidth = (element.width > element.height ? element.width : element.height) / 32; ... 

рдЦреИрд░, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╣рдореЗрдВ рдПрдХ рддреАрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХреИрдирд╡рд╛рд╕ рдХреЗ рдмрд╛рд╣рд░ рд╣реИрдВред
рдЖрдк рдХреИрдирд╡рд╛рд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╕реЗ рдЦреБрдж рдХреЛ рдЗрд╕рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЫрд╡рд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде,
рддрд╛рдХрд┐ рдХреЛрдИ рдЦрд╛рд▓реА рдЗрд▓рд╛рдХрд╛ рди рд░рд╣реЗред

  ... Xo = Xc + (x * 64); Yo += 32; if(Xo < (width / -1) || Xo > element.width + width || Yo < (height / -1) || Yo > element.height + height) continue; draw(Xo, Yo); ... 


рд╡рд╣ рд╕рдм рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рд╣реИ ред рдЕрдм рдЖрдкрдиреЗ рд╕реАрдЦрд╛ рд╣реИ рдХрд┐ рдкреВрд░реНрдг-рд╕рдордорд┐рдд рдЖрдЗрд╕реЛрдореЗрдЯреНрд░реА рдХреЛ рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЖрдзреА рдХрд╣рд╛рдиреА рд╣реИред

рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рддред рдЧрдгрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХрд┐рд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрдЧрд░ рдПрдХ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧрдгрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рд╕рдордиреНрд╡рдп рдХрд╛ рдХреЗрдВрджреНрд░ рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред

Source: https://habr.com/ru/post/In145141/


All Articles