рдкрд┐рдХреНрд╕рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП k- рд╕рд╛рдзрди (k- рд╕рд╛рдзрди) рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

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

рддреЛ рд╣рдорд╛рд░реА рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреА рджрд╛рджреА рдХреА рдХреБрдЯрд┐рдпрд╛ рдХреЗ рдлреВрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫреА рддрд╕реНрд╡реАрд░ рд╣реИред



рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ: рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕ рддрд╕реНрд╡реАрд░ рдореЗрдВ рдХрд┐рддрдиреЗ рдХреНрд╖реЗрддреНрд░ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд░рдВрдЧ рд╕реЗ рднрд░реЗ рд╣реБрдП рд╣реИрдВред рдЦреИрд░, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ: рд╕рдлреЗрдж рдкрдВрдЦреБрдбрд╝реА - рдПрдХ, рдкреАрд▓реЗ рдХреЗрдВрджреНрд░ - рджреЛ (рдореИрдВ рдЬреАрд╡рд╡рд┐рдЬреНрдЮрд╛рдиреА рдирд╣реАрдВ рд╣реВрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ), рддреАрди рд╕рд╛рдЧред рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рдбреЗрдЯрд╛ (рд░рдВрдЧ, рд╕реНрдерд┐рддрд┐, рдЖрджрд┐) рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИред рдРрд╕реЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рд░рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ - рд╡рд░реНрдЧреЛрдВ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрдИ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИ k - рдорд╛рдзреНрдпрдо, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред K- рд╕рд╛рдзрди рдПрдХ рд╕рд░рд▓ рдФрд░ рдХреБрд╢рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬреЛ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдбреЗрдЯрд╛ рдЬреЛ рд╣рдо рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдПрдХ рд░рдВрдЧреАрди рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рддреАрди рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ - рд▓рд╛рд▓, рд╣рд░рд╛ рдФрд░ рдиреАрд▓рд╛ред рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдереЛрдкрдирд╛ рдФрд░ рдореМрдЬреВрджрд╛ рд░рдВрдЧреЛрдВ рдХрд╛ рдПрдХ рдкреИрд▓реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИред



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

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд╣рдо рдЕрдкрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред K- рд╕рд╛рдзрди рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдпрд╣ рдХреБрдЫ рдЧрдгрд┐рддреАрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рдж, рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрдЧрд╛ред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


  1. рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рддрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреБрдХрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╣рд╛рдиреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЗрдВрджреНрд░реЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреИрд╕реЗ? рд░реИрдВрдбрдо рдкрд░ рд╣рд╛рдБред рдХреНрдпреЛрдВ? рддрд╛рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╕реНрдиреИрдк рдХрд░ рд╕рдХреЗрдВред рдХреЗрдВрджреНрд░ рд░рд╛рдЬрд╛ рдХреА рддрд░рд╣ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЙрд╕рдХреЗ рд╡рд┐рд╖рдп рдЗрдХрдЯреНрдареЗ рд╣реЛрддреЗ рд╣реИрдВ - рдкрд┐рдХреНрд╕рд▓ред рдпрд╣ рдХреЗрдВрджреНрд░ рд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд▓рд┐рдП "рджреВрд░реА" рд╣реИ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХрд┐рд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛ред
  3. рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗрдВрджреНрд░ рд╕реЗ рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рджреВрд░реА рдХреЛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдпреВрдХреНрд▓рд┐рдбрд┐рдпрди рджреВрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рддреАрди рд░рдВрдЧ рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреЗ рд░реВрдк рдореЗрдВ:

    $$ рдкреНрд░рджрд░реНрд╢рди $ $ \ sqrt {(R_ {2} -R_ {1}) ^ 2 + (G_ {2} -G_ {1}) ^ 2 + (B_ {2} -B_ {1}) ^ 2} ред $ $ рдкреНрд░рджрд░реНрд╢рди $ $

    рд╣рдо рдкрд╣рд▓реЗ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдкрд┐рдХреНрд╕реЗрд▓ рдФрд░ рдХреЗрдВрджреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рд╕рдмрд╕реЗ рдЫреЛрдЯреА рджреВрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХреЗрдВрджреНрд░ рдХреЗ рд▓рд┐рдП, рдЬреЛ рджреВрд░реА рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╣реИ, рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ - рд░рд╛рдЬрд╛ рдФрд░ рдкрд┐рдХреНрд╕реЗрд▓ - рд╡рд┐рд╖рдп рдХреЗ рдмреАрдЪ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдорд╛рдзреНрдп рд╣реИред рд╣рдорд╛рд░рд╛ рдХреЗрдВрджреНрд░ рдЧрдгрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред
  4. рд╕рднреА рдХреЗрдВрджреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдХреЗрдВрджреНрд░реЛрдВ рдХреА рджреВрд░реА рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реБрдП, рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╡рд╣ рдЕрдиреНрдп рдХреЗрдВрджреНрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдирд┐рдХрдЯ рд╣реЛрддрд╛ рд╣реИред
  5. рдпрд╣ рд╕рдм рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдкрд┐рдХреНрд╕рд▓ рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреЗрдВрджреНрд░ рдПрдХ рдЫреЛрдЯреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдкрд┐рдХреНрд╕реЗрд▓ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХреВрдж рдЬрд╛рдПрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдореИрдВ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ C ++ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛ред рдкрд╣рд▓реА рдлрд╝рд╛рдЗрд▓ "k_means.h" рд╣реИ, рдЗрд╕рдореЗрдВ рдореИрдВрдиреЗ рдореБрдЦреНрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░, рд╕реНрдерд┐рд░рд╛рдВрдХ, рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд░реНрдЧ - "K_means" рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рддреАрди рдкрд┐рдХреНрд╕реЗрд▓ рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдбрдмрд▓ рдкреНрд░рдХрд╛рд░ рдЪреБрдирд╛, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдерд┐рд░рд╛рдВрдХ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рд╣реИрдВ:

const int KK = 10; //  const int max_iterations = 100; //   typedef struct { double r; double g; double b; } rgb; 

K_means рд╡рд░реНрдЧ рд╣реА:

 class K_means { private: std::vector<rgb> pixcel; int q_klaster; int k_pixcel; std::vector<rgb> centr; void identify_centers(); inline double compute(rgb k1, rgb k2) { return sqrt(pow((k1.r - k2.r),2) + pow((k1.g - k2.g), 2) + pow((k1.b - k2.b), 2)); } inline double compute_s(double a, double b) { return (a + b) / 2; }; public: K_means() : q_klaster(0), k_pixcel(0) {}; K_means(int n, rgb *mas, int n_klaster); K_means(int n_klaster, std::istream & os); void clustering(std::ostream & os); void print()const; ~K_means(); friend std::ostream & operator<<(std::ostream & os, const K_means & k); }; 

рдХрдХреНрд╖рд╛ рдХреЗ рдШрдЯрдХреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ:

рд╡реЗрдХреНрдЯрд░рдкрд┐рдХреНрд╕рд╕реЗрд▓ - рдкрд┐рдХреНрд╕рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдХреНрдЯрд░;
q_klaster - рд╕рдореВрд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛;
k_pixcel - рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛;
рд╡реЗрдХреНрдЯрд░реЗрдВрдЯ - рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЗрдВрджреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдХреНрдЯрд░, рдЗрд╕рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ q_klaster рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ;
Ident_centers () - рдЗрдирдкреБрдЯ рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдмреАрдЪ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЗрдВрджреНрд░реЛрдВ рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐;
рдЧрдгрдирд╛ () рдФрд░ рдХрдВрдкреНрдпреВрдЯ_ () рдХреНрд░рдорд╢рдГ рдкрд┐рдХреНрд╕реЗрд▓ рдФрд░ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХреЗрдВрджреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрд░реАрдХреЗ рд╣реИрдВ;
рддреАрди рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░: рдкрд╣рд▓рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣реИ, рджреВрд╕рд░рд╛ рдПрдХ рд╕рд░рдгреА рд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреАрд╕рд░рд╛ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд┐рдХреНрд╕рд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ (рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рдЧрд▓рддреА рд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рдбреЗрдЯрд╛ рд╕реЗ рднрд░ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдкрдврд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╕реАрдзреЗ рд╡реЗрдХреНрдЯрд░ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ - рдмрд╕ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ);
рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ (std :: ostream & os) - рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐;
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреА рд╡рд┐рдзрд┐ рдФрд░ рдЕрдзрд┐рднрд╛рд░ред

рд╡рд┐рдзрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:

 void K_means::identify_centers() { srand((unsigned)time(NULL)); rgb temp; rgb *mas = new rgb[q_klaster]; for (int i = 0; i < q_klaster; i++) { temp = pixcel[0 + rand() % k_pixcel]; for (int j = i; j < q_klaster; j++) { if (temp.r != mas[j].r && temp.g != mas[j].g && temp.b != mas[j].b) { mas[j] = temp; } else { i--; break; } } } for (int i = 0; i < q_klaster; i++) { centr.push_back(mas[i]); } delete []mas; } 

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

 K_means::K_means(int n, rgb * mas, int n_klaster) { for (int i = 0; i < n; i++) { pixcel.push_back(*(mas + i)); } q_klaster = n_klaster; k_pixcel = n; identify_centers(); } 

рдПрдХ рд╕рд░рдгреА рд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред

 K_means::K_means(int n_klaster, std::istream & os) : q_klaster(n_klaster) { rgb temp; while (os >> temp.r && os >> temp.g && os >> temp.b) { pixcel.push_back(temp); } k_pixcel = pixcel.size(); identify_centers(); } 

рд╣рдо рдЗрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдХрдВрд╕реЛрд▓ рджреЛрдиреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред

 void K_means::clustering(std::ostream & os) { os << "\n\n :" << std::endl; /*             :        ,    -  ,    ,   ,        .*/ std::vector<int> check_1(k_pixcel, -1); std::vector<int> check_2(k_pixcel, -2); int iter = 0; /* .*/ while(true) { os << "\n\n----------------  тДЦ" << iter << " ----------------\n\n"; { for (int j = 0; j < k_pixcel; j++) { double *mas = new double[q_klaster]; /*  :          .      ,   .*/ for (int i = 0; i < q_klaster; i++) { *(mas + i) = compute(pixcel[j], centr[i]); os << "   " << j << "   #" << i << ": " << *(mas + i) << std::endl; } /*     m_k      .*/ double min_dist = *mas; int m_k = 0; for (int i = 0; i < q_klaster; i++) { if (min_dist > *(mas + i)) { min_dist = *(mas + i); m_k = i; } } os << "    #" << m_k << std::endl; os << "  #" << m_k << ": "; centr[m_k].r = compute_s(pixcel[j].r, centr[m_k].r); centr[m_k].g = compute_s(pixcel[j].g, centr[m_k].g); centr[m_k].b = compute_s(pixcel[j].b, centr[m_k].b); os << centr[m_k].r << " " << centr[m_k].g << " " << centr[m_k].b << std::endl; delete[] mas; } /*   .*/ int *mass = new int[k_pixcel]; os << "\n  : "<< std::endl; for (int k = 0; k < k_pixcel; k++) { double *mas = new double[q_klaster]; /*    .*/ for (int i = 0; i < q_klaster; i++) { *(mas + i) = compute(pixcel[k], centr[i]); os << "   тДЦ" << k << "   #" << i << ": " << *(mas + i) << std::endl; } /*  .*/ double min_dist = *mas; int m_k = 0; for (int i = 0; i < q_klaster; i++) { if (min_dist > *(mas + i)) { min_dist = *(mas + i); m_k = i; } } mass[k] = m_k; os << " тДЦ" << k << "     #" << m_k << std::endl; } /*            .*/ os << "\n    : \n"; for (int i = 0; i < k_pixcel; i++) { os << mass[i] << " "; check_1[i] = *(mass + i); } os << std::endl << std::endl; os << " : " << std::endl; int itr = KK + 1; for (int i = 0; i < q_klaster; i++) { os << " #" << i << std::endl; for (int j = 0; j < k_pixcel; j++) { if (mass[j] == i) { os << pixcel[j].r << " " << pixcel[j].g << " " << pixcel[j].b << std::endl; mass[j] = ++itr; } } } delete[] mass; /*    .*/ os << " : \n" ; for (int i = 0; i < q_klaster; i++) { os << centr[i].r << " " << centr[i].g << " " << centr[i].b << " - #" << i << std::endl; } } /*         тАУ  .*/ iter++; if (check_1 == check_2 || iter >= max_iterations) { break; } check_2 = check_1; } os << "\n\n ." << std::endl; } 
рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреА рдореБрдЦреНрдп рд╡рд┐рдзрд┐ред

 std::ostream & operator<<(std::ostream & os, const K_means & k) { os << " : " << std::endl; for (int i = 0; i < k.k_pixcel; i++) { os << k.pixcel[i].r << " " << k.pixcel[i].g << " " << k.pixcel[i].b << " - тДЦ" << i << std::endl; } os << std::endl << "   : " << std::endl; for (int i = 0; i < k.q_klaster; i++) { os << k.centr[i].r << " " << k.centr[i].g << " " << k.centr[i].b << " - #" << i << std::endl; } os << "\n : " << k.q_klaster << std::endl; os << " : " << k.k_pixcel << std::endl; return os; } 

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯред

рдЖрдЙрдЯрдкреБрдЯ рдЙрджрд╛рд╣рд░рдг


рдЖрдЙрдЯрдкреБрдЯ рдЙрджрд╛рд╣рд░рдг
рдкрд┐рдХреНрд╕реЗрд▓ рд╢реБрд░реВ рдХрд░рдирд╛:
реирелрел резрекреж релреж - рдирд╣реАрдВ реж
100 70 1 - рдирд╣реАрдВ 1
150 20 200 - рдирдВрдмрд░ 2
251 141 51 - рдирдВрдмрд░ 3
104 69 3 - рдирдВрдмрд░ 4
153 22 210 - рдирдВрдмрд░ 5
252 138 54 - рдирдВрдмрд░ 6
101 74 4 - рдирдВрдмрд░ 7

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЗрдВрджреНрд░:
150 20 200 - # 0
104 69 3 - # 1
100 70 1 - # 2

рд╕рдореВрд╣реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛: 3
рдкрд┐рдХреНрд╕рд▓ рдХреА рд╕рдВрдЦреНрдпрд╛: 8

рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╛рд░рдВрдн:

Iteration рдирдВрдмрд░ 0

рдкрд┐рдХреНрд╕реЗрд▓ 0 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 218.918
рдкрд┐рдХреНрд╕реЗрд▓ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 173.352 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 176.992 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 1
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 1: 179.5 104.5 26.5
рдкрд┐рдХреНрд╕реЗрд▓ 1 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 211.189
рдкрд┐рдХреНрд╕реЗрд▓ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 90.3369 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 0 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 2
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 2: 100 70 1
рдкрд┐рдХреНрд╕реЗрд▓ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 0 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 195.225 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 2 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 2: 211.189
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 0
рдХреЗрдВрджреНрд░ рдХреА рдЧрд┐рдирддреА # 0: 150 20 200
рдкрд┐рдХреНрд╕реЗрд▓ 3 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 216.894
рдкрд┐рдХреНрд╕реЗрд▓ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 83.933 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 174.19 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 1
рдХреЗрдВрджреНрд░ рдХреА рдЧрд┐рдирддреА # 1: 215.25 122.75 38.75
рдкрд┐рдХреНрд╕реЗрд▓ 4 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 208.149
рдкрд┐рдХреНрд╕реЗрд▓ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 128.622 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 4.58258 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 2
рдХреЗрдВрджреНрд░ # 2: 102 69.5 2 рдХреА рдЧрд┐рдирддреА
рдкрд┐рдХреНрд╕реЗрд▓ 5 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 10.6301 рд╣реИ
рдкрд┐рдХреНрд╕реЗрд▓ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 208.212 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 5 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 2: 219.366
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 0
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 0: 151.5 21 205
рдкрд┐рдХреНрд╕реЗрд▓ 6 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 215.848
рдкрд┐рдХреНрд╕реЗрд▓ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 42.6109 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 172.905 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 1
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 1: 233.625 130.375 46.375
рдкрд┐рдХреНрд╕реЗрд▓ 7 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 213.916
рдкрд┐рдХреНрд╕реЗрд▓ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 150.21 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 5.02494 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 2
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 2: 101.5 71.75 3

рдЪрд▓реЛ рдкрд┐рдХреНрд╕рд▓ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ:
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 221.129 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 23.7207 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 174.44 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 0 рдХреЗрдВрджреНрд░ # 1 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 216.031 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 153.492 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 3.05164 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 1 рдХреЗрдВрджреНрд░ # 2 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 5.31507 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 206.825 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 209.378 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 2 рдХреЗрдВрджреНрд░ # 0 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдЦреНрдпрд╛ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 219.126 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 20.8847 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 171.609 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 3 рдХреЗрдВрджреНрд░ # 1 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 212.989 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 149.836 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 3.71652 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 4 рдХреЗрдВрджреНрд░ # 2 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 5.31507 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 212.176 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 219.035 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 5 рдХреЗрдВрджреНрд░ # 0 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдЦреНрдпрд╛ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 215.848 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 21.3054 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдЦреНрдпрд╛ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 172.164 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 6 рдХреЗрдВрджреНрд░ # 1 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 213.916 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 150.21 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 2.51247 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 7 рдХреЗрдВрджреНрд░ # 2 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм

рдорд┐рд▓рд╛рди рдкрд┐рдХреНрд╕реЗрд▓ рдФрд░ рдХреЗрдВрджреНрд░реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА:
1 2 0 1 2 0 1 2 2

рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо:
рдХреНрд▓рд╕реНрдЯрд░ # 0
150 20 200
153 22 210
рдХреНрд▓рд╕реНрдЯрд░ # 1
255 140 50
реирелрез резрекрез релрез
реирелреи резрей 25 релрек
рдХреНрд▓рд╕реНрдЯрд░ # 2
резрежреж 100реж рез
104 69 3
101 74 4
рдирдП рдХреЗрдВрджреНрд░:
151.5 21 205 - # 0
233.625 130.375 46.375 - # 1
101.5 71.75 3 - # 2

Iteration рдирдВрдмрд░ 1

рдкрд┐рдХреНрд╕реЗрд▓ 0 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 221.129
рдкрд┐рдХреНрд╕реЗрд▓ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 23.7207 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 174.44 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 1
рдХреЗрдВрджреНрд░ рдХреА рдЧрд┐рдирддреА # 1: 244.313 135.188 48.1875
рдкрд┐рдХреНрд╕реЗрд▓ 1 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 216.031 рд╣реИ
рдкрд┐рдХреНрд╕реЗрд▓ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 165.234 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 3.05164 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 2
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 2: 100.75 70.875 2
рдкрд┐рдХреНрд╕реЗрд▓ 2 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 5.31507
рдкрд┐рдХреНрд╕реЗрд▓ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 212.627 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 210.28 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 0
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 0: 150.75 20.5 202.5
рдкрд┐рдХреНрд╕реЗрд▓ 3 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 217.997
рдкрд┐рдХреНрд╕реЗрд▓ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 9.29613 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 172.898 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 1
рдХреЗрдВрджреНрд░ рдХреА рдЧрд┐рдирддреА # 1: 247.656 138.094 49.5938
рдкрд┐рдХреНрд╕реЗрд▓ 4 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 210.566
рдкрд┐рдХреНрд╕реЗрд▓ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 166.078 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 4 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 2: 3.88306
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 2
рдХреЗрдВрджреНрд░ рдХреА рдЧрд┐рдирддреА # 2: 102.375 69.9375 2.5
рдкрд┐рдХреНрд╕реЗрд▓ 5 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 7.97261
рдкрд┐рдХреНрд╕реЗрд▓ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 219.471 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 218.9 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 0
рдХреЗрдВрджреНрд░ рдХреА рдЧрд┐рдирддреА # 0: 151.875 21.25 206.25
рдкрд┐рдХреНрд╕реЗрд▓ 6 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 216.415
рдкрд┐рдХреНрд╕реЗрд▓ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 6.18805 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 6 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 2: 172.257
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 1
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 1: 249.828 138.047 51.7969
рдкрд┐рдХреНрд╕реЗрд▓ 7 рд╕реЗ рдХреЗрдВрджреНрд░ рдХреА рджреВрд░реА # 0: 215.118
рдкрд┐рдХреНрд╕реЗрд▓ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 168.927 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 4.54363 рдХреА рджреВрд░реА
рдиреНрдпреВрдирддрдо рдХреЗрдВрджреНрд░ рджреВрд░реА # 2
рдХреЗрдВрджреНрд░ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ # 2: 101.688 71.9688 3.25

рдЪрд▓реЛ рдкрд┐рдХреНрд╕рд▓ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ:
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 221.699 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 5.81307 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 0 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 174.122 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 0 рдХреЗрдВрджреНрд░ # 1 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 217.244 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 172.218 рддрдХ рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 1 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 3.43309 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 1 рдХреЗрдВрджреНрд░ # 2 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 6.64384 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 214.161 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 2 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 209.154 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 2 рдХреЗрдВрджреНрд░ # 0 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 219.701 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 3.27555 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 3 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 171.288 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 3 рдХреЗрдВрджреНрд░ # 1 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 214.202 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 168.566 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 4 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 3.77142 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 4 рдХреЗрдВрджреНрд░ # 2 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 3.9863 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 218.794 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 5 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 218.805 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 5 рдХреЗрдВрджреНрд░ # 0 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рд╕рдВрдЦреНрдпрд╛ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 216.415 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 3.09403 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 6 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 171.842 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 6 рдХреЗрдВрджреНрд░ # 1 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 0: 215.118 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 1: 168.927 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ рдирдВрдмрд░ 7 рд╕реЗ рдХреЗрдВрджреНрд░ # 2: 2.27181 рдХреА рджреВрд░реА
рдкрд┐рдХреНрд╕реЗрд▓ # 7 рдХреЗрдВрджреНрд░ # 2 рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм

рдорд┐рд▓рд╛рди рдкрд┐рдХреНрд╕реЗрд▓ рдФрд░ рдХреЗрдВрджреНрд░реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА:
1 2 0 1 2 0 1 2 2

рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо:
рдХреНрд▓рд╕реНрдЯрд░ # 0
150 20 200
153 22 210
рдХреНрд▓рд╕реНрдЯрд░ # 1
255 140 50
реирелрез резрекрез релрез
реирелреи резрей 25 релрек
рдХреНрд▓рд╕реНрдЯрд░ # 2
резрежреж 100реж рез
104 69 3
101 74 4
рдирдП рдХреЗрдВрджреНрд░:
151.875 21.25 206.25 - # 0
249.828 138.047 51.7969 - # 1
101.688 71.9688 3.25 - # 2

рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдЕрдВрддред

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

рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВред 50 рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ 10 рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдореБрдЭреЗ 5 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдорд┐рд▓реЗред 50 рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ 3 рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рднреА 100 рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдордд рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░реНрд╕, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рдорд╛рди рдкрд┐рдХреНрд╕реЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЫреЛрдЯреЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд - рдпрджрд┐ рдХреБрдЫ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рд╣реИрдВ рдФрд░ рдХрдИ рдмрд┐рдВрджреБ рд╣реИрдВ, рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ рддрднреА рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдкрд┐рдХреНрд╕реЗрд▓ рд▓рдЧрд╛рддрд╛рд░ рдХреВрджрддреЗ рд╣реИрдВред рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рджреВрд╕рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдереЛрдХ рдЕрднреА рднреА рдЙрдирдХреЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВред

рдареАрдХ рд╣реИ, рдЕрдм рдЪрд▓реЛ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред 50 рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рддрд┐ 10 рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреБрдЫ рд╕рдореВрд╣реЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реЗрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЗрд▓рд╕реНрдЯреНрд░реЗрдЯрд░ рдореЗрдВ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдФрд░ рдпрд╣реА рд╣реБрдЖ:



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

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



рдФрд░ рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ 8 рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рд╕рдорд╛рди рд╣реИ:



рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкреВрд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрд░реЗ рдЧрд┐рдЯрд╣рдм рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

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


All Articles