рдПрдХ рдЧреЗрдо рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдЯрд┐рдлрд┐рд╢рд┐рдпрд▓ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рд╕реАрдЦреЗрдВ

рд╢реБрдн рджрд┐рди, рдкреНрд░рд┐рдп рдкрд╛рдардХ!

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреЗ рд╕реНрддрд░ рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдЦреЗрд▓ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред



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

рдкреНрд░рд╛рд░рдВрдн: рдЦреЗрд▓ рдХреЗ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди


рд▓рдХреНрд╖реНрдп рд▓рд╛рд▓ рдХреЗ рд╕рд╛рде рд╣рд▓рдХреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХреА рд░рд┐рдо рдХреЗ рд╕рд╛рде рдХрдИ рд╣рд▓рдХреЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

рдирд┐рдпрдо рдФрд░ рд╢рд░реНрддреЗрдВ:

  • рджреЛ рдмрд╛рд░ рд╣рд░реЗ рдШреЗрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рд▓рд╛рд▓ рдШреЗрд░реЗ рдореИрджрд╛рди рдкрд░ рдЙрдбрд╝рддреЗ рд╣реИрдВ;
  • рд╣рд░реЗ рдШреЗрд░реЗ рдореИрджрд╛рди рдХреЗ рднреАрддрд░ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ, рд▓рд╛рд▓ рдШреЗрд░реЗ рдЦреЗрдд рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ;
  • рд╣рд░реЗ рдФрд░ рд▓рд╛рд▓ рдШреЗрд░реЗ рдЕрдкрдиреА рддрд░рд╣ рд╕реЗ рдЯрдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрдЯрдХрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рдЦрд┐рд▓рд╛рдбрд╝реА - рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдкреАрд▓реЗ рд░рдВрдЧ рдХреА рдЧреЗрдВрдж, рдХреНрд╖реЗрддреНрд░ рдХреЗ рднреАрддрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЫреВрдиреЗ рдХреЗ рдмрд╛рдж рдЧреЗрдВрдж рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рд╕рдореНрдорд╛рдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛: рдР рдбрд┐рдЬрд╛рдЗрдирд┐рдВрдЧ


рд░рд┐рд╕реЗрдкреНрдЯрд░реНрд╕


рдПрдЖрдИ рдХреЗ рд▓рд┐рдП рдпрд╣ рддрдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдХрд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреИрдирд░ рдмрдирд╛рдПрдВ рдЬреЛ рд╕реАрдзреА рд░реЗрдЦрд╛рдПрдВ рд╣реИрдВред рдкрд╣рд▓рд╛ рд╕реНрдХреИрдирд░ рдХреНрд╖реЗрддреНрд░ рдХреА рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ 180 рдбрд┐рдЧреНрд░реА рдХреЗ рдХреЛрдг рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

68 рд╣реЛрдВрдЧреЗ: рдкрд╣рд▓реЗ 32 - рдмрдо (рд▓рд╛рд▓ рдШреЗрд░реЗ) рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдЕрдЧрд▓реЗ 32 - рд╕реЗрдм (рд╣рд░реЗ рдШреЗрд░реЗ) рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдФрд░ рдЕрдВрддрд┐рдо 4 - рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдЗрдП рд╣рдо рдЗрди 68 рд╕реНрдХреИрдирд░ рдХреЛ рднрд╡рд┐рд╖реНрдп рдХреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ (рд░рд┐рд╕реЗрдкреНрдЯрд░ рдкрд░рдд) рдХреЗ рдЗрдирдкреБрдЯ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХрд╣рддреЗ рд╣реИрдВред

рдкрд╣рд▓реЗ 64 рд╕реНрдХреИрдирд░ рдХреА рд▓рдВрдмрд╛рдИ 1000 рдкреАрдПрдХреНрд╕ рд╣реИ, рд╢реЗрд╖ 4 рдЙрд╕реА рд╕рдорд░реВрдкрддрд╛ рдЪреЗрд╣рд░реЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЖрдзреЗ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЫрд╡рд┐ рдПрдЖрдИ рд╕реНрдХреЛрдк (1/4)
рдЫрд╡рд┐

рдЖрдХреГрддрд┐ рдореЗрдВ: рд╕реНрдХреИрди рдиреНрдпреВрд░реЙрдиреНрд╕ рд╕реНрдХреИрдирд░ рд╕реЗ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ
рд╕реНрдХреИрдирд░ рдкрд░ рдорд╛рди рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рд╕реАрдорд╛ [0, 1] рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рд╕реНрдХреИрдирд░ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдХреЗ рдЬрд┐рддрдирд╛ рдХрд░реАрдм рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рдЕрдзрд┐рдХ рдореВрд▓реНрдп рд╕реНрдХреИрдирд░ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред

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

рдпрд╣рд╛рдБ рд╕реЗ рд╣рдореЗрдВ рд░реЗрдЦрд╛ рдХрд╛ рдирд┐рд░реНрджреЗрд╢рди рд╡реЗрдХреНрдЯрд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд░реЗрдЦрд╛ рдХреЗ рд╕рдореАрдХрд░рдг рдХреЗ рд╡рд┐рд╣рд┐рдд рд░реВрдк рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдпрджрд┐ рд╣рдо рдЗрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреНрд░рдорд╢рдГ, рдмреА, рдФрд░ рд╕реА рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рд╕рдореАрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдпреЗ рдЪрд░ рд╡рд░реНрдЧ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рджреНрд╡рд┐рдШрд╛рдд рд╕рдореАрдХрд░рдг рдХреЗ рдЧреБрдгрд╛рдВрдХ рд╣реИрдВред

рд╣рдо рд░реЗрдЦреАрдп рдмреАрдЬрдЧрдгрд┐рдд рдХреА рд╕рд░рд▓ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдардХ рдХреЛ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдиреАрдЪреЗ рд╕реНрдХреИрдирд░реНрд╕ рдХрд╛ рдХреЛрдб рд╣реИ

Ball.scaners: { // length: 1000, i: [], //   get_data: function(){ //Ball.scaners.get_data /     var angl = 0; var x0 = Ball.x, var y0 = Ball.y; var l = Ball.scaners.length; for(let k = 0; k < 32; k++){ x1 = l*Math.cos(angl), y1 = l*Math.sin(angl); Ball.scaners.i[k] = 0; for(i = 0; i < bombs.length; i++){ if(((k >= 0) && (k <= 8) && (bombs[i].x < x0) && (bombs[i].y < y0)) || ((k >= 8) && (k <= 16) && (bombs[i].x > x0) && (bombs[i].y < y0)) || ((k >= 16) && (k <= 24) && (bombs[i].x > x0) && (bombs[i].y > y0)) || ((k >= 24) && (k <= 32) && (bombs[i].x < x0) && (bombs[i].y > y0))){ //    var x2 = bombs[i].x, y2 = bombs[i].y; var p = true; //    var pt = true; //     var t1, t2; var a = x1*x1 + y1*y1, b = 2*(x1*(x0 - x2) + y1*(y0 - y2)), c = (x0 - x2)*(x0 - x2) + (y0 - y2)*(y0 - y2) - bombs[i].r*bombs[i].r; //------------------------------    if((a == 0) && (b != 0)){ t = -c/b; pt = false; } if((a == 0) && (b == 0)){ p = false; } if((a != 0) && (b != 0) && (c == 0)){ t1 = 0; t2 = b/a; } if((a != 0) && (b == 0) && (c == 0)){ t1 = 0; pt = false; } if((a != 0) && (b == 0) && (c != 0)){ t1 = Math.sqrt(c/a); t2 = -Math.sqrt(c/a); } if((a != 0) && (b != 0) && (c != 0)){ var d = b*b - 4*a*c; if(d > 0){ t1 = (-b + Math.sqrt(d))/(2*a); t2 = (-b - Math.sqrt(d))/(2*a); } if(d == 0){ t1 = -b/(2*a); } if(d < 0){ p = false; } } //----------------------------------- if(p == true){ if(pt == true){ let x = t1*x1 + x0; let y = t1*y1 + y0; let l1 = Math.pow((x - Ball.x), 2)+Math.pow((y - Ball.y), 2); x = t2*x1 + x0; y = t2*y1 + y0; let l2 = Math.pow((x - Ball.x), 2)+Math.pow((y - Ball.y), 2); if(l1 <= l2){ Ball.scaners.i[k] += 1 - l1/(l*l); }else{ Ball.scaners.i[k] += 1 - l2/(l*l); } }else{ let x = t1*x1 + x0; let y = t1*y1 + y0; Ball.scaners.i[k] += 1 - (Math.pow((x - Ball.x), 2)+Math.pow((y - Ball.y), 2))/(l*l); } }else{ Ball.scaners.i[k] += 0; } }else{ continue; } } angl += Math.PI/16; } //!---------------  for(k = 32; k < 64; k++){ x1 = l*Math.cos(angl), y1 = l*Math.sin(angl); Ball.scaners.i[k] = 0; for(i = 0; i < apples.length; i++){ if(((k >= 32) && (k <= 40) && (apples[i].x < x0) && (apples[i].y < y0)) || ((k >= 40) && (k <= 48) && (apples[i].x > x0) && (apples[i].y < y0)) || ((k >= 48) && (k <= 56) && (apples[i].x > x0) && (apples[i].y > y0)) || ((k >= 56) && (k <= 64) && (apples[i].x < x0) && (apples[i].y > y0))){ var x2 = apples[i].x, var y2 = apples[i].y; var p = true; //    var pt = true; //     var t1, t2; var a = x1*x1 + y1*y1, b = 2*(x1*(x0 - x2) + y1*(y0 - y2)), c = (x0 - x2)*(x0 - x2) + (y0 - y2)*(y0 - y2) - apples[i].r*apples[i].r; //------------------------------    if((a == 0) && (b != 0)){ t = -c/b; pt = false; } if((a == 0) && (b == 0)){ p = false; } if((a != 0) && (b != 0) && (c == 0)){ t1 = 0; t2 = b/a; } if((a != 0) && (b == 0) && (c == 0)){ t1 = 0; pt = false; } if((a != 0) && (b == 0) && (c != 0)){ t1 = Math.sqrt(c/a); t2 = -Math.sqrt(c/a); } if((a != 0) && (b != 0) && (c != 0)){ var d = b*b - 4*a*c; if(d > 0){ t1 = (-b + Math.sqrt(d))/(2*a); t2 = (-b - Math.sqrt(d))/(2*a); } if(d == 0){ t1 = -b/(2*a); } if(d < 0){ p = false; } } //----------------------------------- if(p == true){ if(pt == true){ let x = t1*x1 + x0; let y = t1*y1 + y0; let l1 = Math.pow((x - Ball.x), 2)+Math.pow((y - Ball.y), 2); x = t2*x1 + x0; y = t2*y1 + y0; let l2 = Math.pow((x - Ball.x), 2)+Math.pow((y - Ball.y), 2); if(l1 <= l2){ Ball.scaners.i[k] += 1 - l1/(l*l); }else{ Ball.scaners.i[k] += 1 - l2/(l*l); } }else{ let x = t1*x1 + x0; let y = t1*y1 + y0; Ball.scaners.i[k] += 1 - (Math.pow((x - Ball.x), 2)+Math.pow((y - Ball.y), 2))/(l*l); } }else{ Ball.scaners.i[k] += 0; } }else{ continue; } } angl += Math.PI/16; } Ball.scaners.i[64] = (1000 - Ball.x) / 1000; //  Ball.scaners.i[65] = Ball.x / 1000; //  Ball.scaners.i[66] = (500 - Ball.y) / 500; //  Ball.scaners.i[67] = Ball.y / 500; //  } } 

рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдбрд┐рдЬрд╛рдЗрди


рдЗрд╕рд▓рд┐рдП, рдПрдирдПрд╕ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрд╕рд┐рдВрдЧ (рд╕рдВрджрд░реНрдн рдкрде) рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рдерд╛ред
рдиреЛрдЯ: рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЖрдЗрдП рд╢реБрд░реВ:

  1. рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рд╣рдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ 8 рдиреНрдпреВрд░реЙрдиреНрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ: рдкрд╣рд▓рд╛ рдмрдЪрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдмрд╛рдПрдВ + рд╢реАрд░реНрд╖, рддреАрд╕рд░рд╛ рд╢реАрд░реНрд╖ рд╣реИ, рдЪреМрдерд╛ рд╢реАрд░реНрд╖ + рд╕рд╣реА рд╣реИ, рдкрд╛рдВрдЪрд╡рд╛рдВ рд╕рд╣реА рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣;
  2. рдПрдХ рдиреНрдпреВрд░реЙрди рдкрд░ рдПрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ - рд╡рд┐рдкрд░реАрдд;
  3. рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рддрд░рд╣ рд╕реНрдХреИрдирд░ рд╕реЗ рдЙрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВ рдЬреЛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдирд┐рдЪрд▓реЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╕рдорд╛рди рдХреЛрдг рдкрд░ рд╣реЛрдВред рдЪреВрдВрдХрд┐ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдПрдЖрдИ рдЗрд╕ рджрд┐рд╢рд╛ рд╕реЗ рдкреАрдЫреЗ рд╣рдЯ рдЬрд╛рдПрдЧрд╛, рд╣рдо рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рдд (рдЫрд┐рдкреА, рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмреАрдЪ) рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рдЬреЛ рдЬреЛрдбрд╝реЗ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдХреИрдирд░ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рд▓рд╛рд▓ рдиреНрдпреВрд░реЙрдиреНрд╕ рд╕реЗ "-" рдХреЗ рд╕рд╛рде рдорд╛рди рд▓реЗрдВрдЧреЗ;
  4. рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдмрд╛рдИрдВ рдУрд░ рдХреА рдЪрд╛рд▓ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрд╕ рд╕реВрдЪрдирд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреА рд╣реИ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╣реЛрддреА рд╣реИ (рди рдХреЗрд╡рд▓, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╛рдж рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ (*)) - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдиреНрдпреВрд░реЙрди рдХреЗ рд╕рд╛рде рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдЫрд┐рдкреА рд╣реБрдИ рдкрд░рдд рдХреЗ 8 рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рдлрд╝реАрд▓реНрдб рд╕реАрдорд╛ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрдерд┐рдд рдПрдХ рд╕реНрдХреИрдирд░ рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рдиреНрдпреВрд░реЙрди рдХреЛ 1 рдХрд╛ рд╡рдЬрди рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рджреЛ рдкрдбрд╝реЛрд╕реА рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЛ 0.95 рдХрд╛ рд╡рдЬрди рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, 0.9 рдХреЗ рд╡рдЬрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдбрд╝реЛрд╕реА, рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдВрддрд┐рдо рдПрдХ рд╡рдЬрди 0.8 рд╣реИ;
  5. рд╣рдо рд╕реАрдорд╛ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЛ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ: рд╣рдо рдЙрди рд╕реАрдорд╛рд╡рд░реНрддреА рдиреНрдпреВрд░реЙрдиреНрд╕ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рдВрдЪрд╛рд░ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реАрдорд╛рдУрдВ рдХреЗ рдЖрдВрджреЛрд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  6. рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рд▓реЗрдпрд░ рдХреЗ рд╢реЗрд╖ рд╕рд╛рдд рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░рддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ

рдЫрд╡рд┐

* рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рд╣реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, (Y рдЖрдЙрдЯрдкреБрдЯ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ):
  Ball.vx = -(Y[0] - Y[4]) + (-(Y[1] - Y[5]) + (Y[3] - Y[6]))*0.5; Ball.vy = -(Y[2] - Y[6]) + (-(Y[3] - Y[7]) + (Y[5] - Y[1]))*0.5; 


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдЖрд▓реЗрдЦ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ gif рдкрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ AI рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛

рдХреЛрдб рд▓рд┐рдВрдХ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ (рдЧреЗрдо рдФрд░ AI рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди): рд▓рд┐рдВрдХ рдХреЛ github Ivan753 / Learning

рд╡рд╣ рд╕рдм рд╣реИред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

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


All Articles