
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рджреЛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛, рдкрд╣рд▓рд╛ - рд╕реАрдзреЗ рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ, рджреВрд╕рд░рд╛ - рдПрдХ рдЙрддреНрддрд▓ рдмрд╣реБрднреБрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рдореЛрдЪреНрдЪ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдкрд░рд┐рдгрд╛рдо рдХреА рдмреЗрд╣рддрд░ рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЧреВ рдХрд╛рд░реНрдпред
рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдиреВрди рдХрд╛рдлреА рд╕рддрд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВредрдЗрдирдкреБрдЯ рдбреЗрдЯрд╛
- рдмрд┐рдВрджреБ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗрд╡рд▓ рджреЛ-рдЖрдпрд╛рдореА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ
- рдЖрд░ - рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреА рдЕрдзрд┐рдХрддрдо рджреВрд░реА - рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╕рдВрдХреЗрддрдХ
- k - рдЧреНрд░рд┐рдб рдЧреБрдгрд╛рдВрдХ - рд╕рдВрдЦреНрдпрд╛ 2 рдХреЗ рд▓рд┐рдП рдбрд┐рдЧреНрд░реА, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд▓ рдХреЗ рдкрдХреНрд╖ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ: a = 2 = k
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
R <2 ^ k, рдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
- рдПрдХ рдирд┐рдпрдорд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдВрдХреЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рддреБрд▓рдирд╛ред
рдПрдХреНрд╕рдЖрд░ = рдПрдХреНрд╕ >> рдХреЗ
Yr = y >> k, рдЬрд╣рд╛рдБ k рдЧреНрд░рд┐рдб рдЧреБрдгрд╛рдВрдХ рд╣реИ, >> рдмрд┐рдЯрд╡рд╛рдЗрдЬрд╝ рдСрдлрд╝рд╕реЗрдЯ рд╣реИред рдЗрд╕ рдЪрд░рдг рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг, рдЧрддрд┐ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдЪрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдлрд╝реЙрд░реНрдо рдХрд╛ рд╢рдмреНрджрдХреЛрд╢ рд╣реЛрдЧрд╛:
[рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ]: [рдЗрд╕ рд╕реЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдВрдХ] - рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдПрдХ рдкрд╛рд╕ рдореЗрдВ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдХреНрд▓рд╕реНрдЯрд░:
- рдЕрдЧрд▓рд╛ рдмрд┐рдВрджреБ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд┐рдВрджреБ рдкрд░ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд▓рд┐рдВрдХ рдЪрд┐рдкрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реА рдЬрд╛рддреА рд╣реИ; рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдПрдХ рдмрд┐рдВрджреБ рдФрд░ рдкрдбрд╝реЛрд╕реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЛрд╢рд┐рдХрд╛ред
- рдкреНрд░рд╛рдкреНрдд рд╕реВрдЪреА рд╕реЗ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╡рд░реНрддрдорд╛рди рдмрд┐рдВрджреБ рдФрд░ рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ, рдпрджрд┐ рджреВрд░реА <= R рд╣реИ рддреЛ рджреЛ рдорд╛рдорд▓реЗ рд╕рдВрднрд╡ рд╣реИрдВ
- рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдмрд┐рдВрджреБ рдЕрднреА рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ => рдмрд┐рдВрджреБ рдХреЛ рд╡рд░реНрддрдорд╛рди рдмрд┐рдВрджреБ рдХреЗ рд╕рдорд╛рди рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рдмрд┐рдВрджреБ рдХреА рдЬрд╛рдБрдЪ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬреЛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗ рднрд┐рдиреНрди рд╣реИ => рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЕрд╡рд╢реЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдореЗрдВ рдПрдХ рд╕рдореВрд╣ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдЕрдВрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА R рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдпрд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣:

рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдПрдХ рд░рдВрдЧ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕рдореЛрдЪреНрдЪ
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ, рдПрдХ рд╕рдореЛрдЪреНрдЪ рдХреЗ рд╕рд╛рде рдХреНрд▓реИрдЯрд░ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛, рдЕрдзрд┐рдорд╛рдирддрдГ рдЙрддреНрддрд▓ рдмрд╣реБрднреБрдЬ рдХреЗ рд░реВрдк рдореЗрдВред
рдореБрдЦреНрдп рдЙрдкрдХрд░рдг рд╡реЗрдХреНрдЯрд░ рдЧреБрдгрди рддреАрди рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ:
public static int CrossLinePoint(ClusterPoint l1, ClusterPoint l2, ClusterPoint p) { return (pX - l2.X) * (l2.Y - l1.Y) - (pY - l2.Y) * (l2.X - l1.X); }
рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо 0 рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдордзреНрдп рдмрд┐рдВрджреБ рдкрд░ рдореЛрдбрд╝ рджрдХреНрд╖рд┐рдгрд╛рд╡рд░реНрдд рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╡рд┐рд░реБрджреНрдз рд╣реИ, рдпрджрд┐ рдпрд╣ 0 рд╣реИ, рддреЛ рдХреЛрдИ рдореЛрдбрд╝ рдирд╣реАрдВ рд╣реИред рдЕрд░реНрде рд╕реНрд╡рдпрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рд╕рдВрдХреЗрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВред
рд╡рд░реНрдгрдирд╛рддреНрдордХ рд░реВрдкрд░реЗрдЦрд╛ рдЪрдпрди
- рднрд╛рд░ рдЧреБрдгрд╛рдВрдХ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗ рдмрд┐рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рджреНрд░рд╡реНрдпрдорд╛рди рдХрд╛ рдХреЗрдВрджреНрд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рд╡реЗ рдмрд╕ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЕрд▓рдЧ рд╕реЗ x рдФрд░ y рдореЗрдВ, рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдкреНрд░рд╛рдкреНрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ [Xc; Yc] рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рджреНрд░рд╡реНрдпрдорд╛рди рдХрд╛ рдХреЗрдВрджреНрд░ рд╣реЛрдЧрд╛ред
- рд╣рдо рджреНрд░рд╡реНрдпрдорд╛рди рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рддреАрди рдмрд┐рдВрджреБрдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдореЛрдЪреНрдЪ рдмрдирд╛рддреЗ рд╣реИрдВред
- рд╢реЗрд╖ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдореЛрдЪреНрдЪ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдЕрдЧрд░ рдмрд┐рдВрджреБ рдЗрд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЕрдЧрд░ рдмрд╛рд╣рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдореЛрдЪреНрдЪ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред
- рд╕рдореЛрдЪреНрдЪ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рд╕рдореЛрдЪреНрдЪ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд░рдгреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд┐рдВрджреБ рдХреЗ рдзреНрд░реБрд╡реАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗ рдХреЛрдг, рдЬрд╣рд╛рдВ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдХреЗрдВрджреНрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдХреЗрдВрджреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдХреЛ рдЫрдВрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рд╕рдореЛрдЪреНрдЪ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рдореЛрдЪреНрдЪ рдореЗрдВ рдмрд┐рдВрджреБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреНрд░рд╡реНрдпрдорд╛рди рдХреЗ рдХреЗрдВрджреНрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рджрдХреНрд╖рд┐рдгрд╛рд╡рд░реНрдд рдСрд░реНрдбрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдзреНрд░реБрд╡реАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗ рдХреЛрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп:
private float GetPolarAngle(ClusterPoint p) { float a = 0, x = pX - center.X, y = pY - center.Y; if (x > 0 && y >= 0) { a = (float)Math.Atan(y / x); } else if (x > 0 && y < 0) { a = (float)(Math.Atan(y / x) + 2 * Math.PI); } else if (x < 0) { a = (float)(Math.Atan(y / x) + Math.PI); } else if (x == 0 && y > 0) { a = (float)(Math.PI * .5); } else if (x == 0 && y < 0) { a = (float)(Math.PI * 1.5); } else if (x == 0 && y == 0) { a = 0; } return (float)(a * 180 / Math.PI); }
рдпрд╣рд╛рдБ рдХреЗрдВрджреНрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рджреНрд░рд╡реНрдпрдорд╛рди рдХрд╛ рдХреЗрдВрджреНрд░ рд╣реИред
рд╕рдореЛрдЪреНрдЪ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдгреАрдп рдЫрдВрдЯрд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рдореЛрдЪреНрдЪ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдПрдХ рдмрд┐рдВрджреБ рд╕рдореЛрдЪреНрдЪ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ / рдирд╣реАрдВред рдпрджрд┐ рдЖрдк рдбреЙрдЯреНрд╕ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреНрд░рдо рдореЗрдВ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо:

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

рдкрд░реАрдХреНрд╖рдг
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЧрддрд┐ рдХреЗ рд░реЗрдЦрд╛рдВрдХрдиред
рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдЖрдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдШрдирддреНрд╡ рдмрдврд╝рддрд╛ рд╣реИ:

рдХреНрд╖реЗрддреНрд░ рдЖрдХрд╛рд░ рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ, рдЕрдВрдХреЛрдВ рдХрд╛ рдШрдирддреНрд╡ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ:

рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рдордп рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдлрд╝реАрд▓реНрдб рдореЗрдВ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдЙрдЪреНрдЪ рдШрдирддреНрд╡ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдмрдбрд╝реА рджреВрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдордп рдХрд╛рдлреА рдмрдврд╝рддрд╛ рд╣реИ, рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддреБрд▓рдирд╛рддреНрдордХ рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ, рдХрд╛рдо рдХреА рдЧрддрд┐ рддреАрди рдЧреБрдирд╛ рднрд┐рдиреНрди рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ 20,000 рдЕрдВрдХ рдХреЗ рд▓рд┐рдП 140 рд╕реЗрдХрдВрдб рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдереЗ, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдШрдирддреНрд╡ рд╕рдорд╛рди 20,000 рдЕрдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 40 рд╕реЗрдХрдВрдб рдирд╣реАрдВ рдмрдврд╝рд╛ред
рдпрджрд┐ рдЖрдк рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдореЗрдВ рд▓рдЧреЗ рдереЗ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдорд╛рдк рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╕рдореЛрдЪреНрдЪ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЪреВрдВрдХрд┐ рд▓реВрдк рд╕рд░реНрдЪ рдХреЛрдб рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдЦреБрдж рдХреНрд▓рд╕реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИред
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП, рдЕрдЧрд▓рд╛ рдЪрд░рдг рдирд┐рд░рдВрддрд░ рдЫрд╡рд┐рдпреЛрдВ (рдЪрд┐рддреНрд░, рдЪрд┐рддреНрд░, рдЖрджрд┐) рдкрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдЧрд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдпрджрд┐ рдХреЛрдИ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИред рдЬреАрдд / рд╕реА #
рд╡рд┐рди x86рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИрдЕрдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рдореВрд╣реЛрдВ рдХреЗ рдореИрдкрд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдПрдХ рд╕рдореЛрдЪреНрдЪ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рднреА рдмрдВрдж рдШрдЯрддрд╛, рдФрд░ рдмрдВрдж рдШрдЯрддрд╛ рдХреЗ рднрд░реЗ рд╣реБрдП рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рдорд╛рдирдХ GDI + рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред