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

g (x) = a * e ** (- ((xb) ** 2) / c), рдХрд╣рд╛рдБ
рдПрдХ рдЖрдпрд╛рдо рд╣реИ (рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдЪреИрдирд▓ рдЖрда рдмрд┐рдЯреНрд╕ рд░рдВрдЧ рд╣реИрдВ, рддреЛ рдпрд╣ = 256)
рдИ рдпреВрд▓рд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИ ~ 2.7
рдмреА - рдПрдХреНрд╕ рдореЗрдВ рдЧреНрд░рд╛рдл рдмрджрд▓рд╛рд╡ (рд╣рдореЗрдВ = 0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)
c - рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рдЧреНрд░рд╛рдл рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ ~ w / 2.35 рд╣реИ
рд╣рдорд╛рд░рд╛ рдирд┐рдЬреА рдХрд╛рд░реНрдп (рд╡рд┐рднрд╛рдЬрди рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрди рдХреЗ рд╕рд╛рде рд╣рдЯрд╛рдП рдЧрдП рдШрд╛рддрд╛рдВрдХ рд╕реЗ рдЛрдг):

g (x) = 256 / e ** (x * x / c)
рдЧрдВрджрд╛ рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╢реБрд░реВ рдХрд░реЗрдВ:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реА рдЖрдзреА-рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдХрд░реАрдм рд╣реИ рдФрд░ 8 рд╕реЗрдЯ рд╣реИ (рдпрд╣ рдЗрд╕ рдмрд╛рдд рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рддрдиреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдПрдХ 8-рдмрд┐рдЯ рдЪреИрдирд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рд╣рдо рдИ рдХреЛ рднреА рд▓рдЧрднрдЧ 2 рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдЕрдкрдиреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рдЕрдзрд┐рдХ "рдШрдВрдЯреА" рдХреА рд╡рдХреНрд░рддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдпрд╣ 2 / рдИ рдмрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╢реНрдЪрд░реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рдкреИрд░рд╛рдореАрдЯрд░ c рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рддреА рд╣реИ, рддрд╛рдХрд┐ рд╕реАрдорд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдЕрднреА рднреА рдХреНрд░рдо рдореЗрдВ рд╣реЛ, рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЧреНрд░рд╛рдлрд┐рдХ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдереЛрдбрд╝реЗ рдЧрд▓рдд "рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдг" рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдпрд╣ рдврд╛рд▓ рд░рдВрдЧ рд╕рдВрдХреНрд░рдордг рдХреА рдЧрддрд┐рд╢реАрд▓рддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдВрдЦ рд╕реЗ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред
рддреЛ рдЕрдм рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
gg (x) = 256/2 ** (x * x / 8) рдпрд╛ gg (x) = 2 ** (8 - x * x / 8)
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рддрд┐рдкрд╛рджрдХ (x * x / 8) рдореЗрдВ рдореВрд▓реНрдп рдХреА рд╕рдорд╛рди рд╕реАрдорд╛ [0-8] рд╣реИ, рдЬреЛ рдирд┐рдЪрд▓реЗ рдХреНрд░рдо рдХреЗ рдПрдмреНрд╕ (x) рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИред рд╣рдо рдпрд╣ рджреЗрдЦрдХрд░ рддреБрд░рдВрдд рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд▓реЗрдВрдЧреЗ рдХрд┐ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ gg (x) = 256 / (2 ** abs (x)):
рдЧреЙрд╕рдмреНрд▓реБрд░ рдмрдирд╛рдо рд▓рд╛рдкреНрд▓рд╛рдмреНрд▓реВрд░:

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

рдпрд╣ рдмрди рдЧрдпрд╛:

рдкреНрд░реВрдл, рддреИрдпрд╛рд░ рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛, рд╕рдВрдпреЛрдЧ рд╣реИ:

(рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЧреЙрд╕рд┐рдпрди x5 рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдореЗрд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдзрдмреНрдмрд╛ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ 3% рдереА)ред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рд▓рд╛рдкреНрд▓рд╛рд╕ рд╡рд┐рддрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рдЖ рдЧрдП рд╣реИрдВред рдХрд┐рд╕рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡реЗ 97% рддрд╕реНрд╡реАрд░реЗрдВ рдЦрд░рд╛рдм рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмреВрдд, рдЧреЙрд╕рд┐рдпрди рдмреНрд▓реБрд░рд╛ рдПрдХреНрд╕ 5 рдФрд░ "рд▓рд╛рдкреНрд▓рд╛рд╕ рдмреНрд▓реБрд░рд╛" рдПрдХреНрд╕ 7 рдореЗрдВ рдЕрдВрддрд░:

(рдпрд╣ рдПрдХ рдХрд╛рд▓реА рдЫрд╡рд┐ рдирд╣реАрдВ рд╣реИ! рдЖрдк рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдзрд╛рд░рдгрд╛ рдиреЗ рд╣рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬрд┐рд╕рд╕реЗ рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХрдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИред
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдмрддрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ рддреБрд░рдВрдд рдЗрд╕рдХреА рдПрдХрдорд╛рддреНрд░ рдЦрд╛рдореА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрддрд┐ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрддрд░рдиреА рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ 2 рдХреА рд╢рдХреНрддрд┐рдпрд╛рдВ рдЗрд╕рдХреА рд╕реАрдорд╛ рд╣реИрдВред рддреЛ рдореВрд▓ x7 рдХреЛ рдзреБрдВрдзрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреЛ рдЧреЙрд╕рд┐рдпрди x5 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдирд┐рдХрдЯрддрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ)ред рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реАрдорд╛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрда-рдмрд┐рдЯ рд░рдВрдЧ рдХреЗ рд╕рд╛рде, рдлрд╝рд┐рд▓реНрдЯрд░ рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рддрд┐ рдмрд┐рдЯ рдПрдХ рдмрд┐рдЯ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛, рдмрд┐рдВрджреБ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЕрдзрд┐рдХрддрдо 8 рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рдореИрдВрдиреЗ рдЕрдиреБрдкрд╛рдд рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдЬреЛ 1.5 рд╕реЗ рдПрдХ рддреНрд╡рд░рд┐рдд рд╡рд┐рднрд╛рдЬрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк x15 рдХреЗ рддреНрд░рд┐рдЬреНрдпрд╛ рдореЗрдВ)ред рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдЖрдЧреЗ рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде, рддреНрд░реБрдЯрд┐ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЧрддрд┐ рдЧрд┐рд░ рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ x15 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рддрд╛рдХрд┐ рдЕрдВрддрд░ рдХреЛ рдиреЛрдЯрд┐рд╕ рди рдХрд┐рдпрд╛ рдЬрд╛рдП, рдкрд░рд┐рдгрд╛рдо рдореВрд▓ рд╕реЗ рдпрд╛ рдбрд╛рдЙрди-рдирдореВрдирд╛ рдЫрд╡рд┐ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╕реАрдорд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЕрд╕рд╛рдзрд╛рд░рдг рдЧрддрд┐ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддреЛ рд╡рд┐рдзрд┐ рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдореВрд▓ рд╕рд░рд▓ рд╣реИ, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд╛рд░ рдкрд╛рд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
1. рдбреНрд░рд╛рдЗрд╡ рдЯреА рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЖрдзрд╛ (рд╢реБрд░реВ рдореЗрдВ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░) рдЕрдЧрд▓реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рдЖрдзреЗ рдореВрд▓реНрдп рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдЗрд╕реЗ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЫрд╡рд┐ рд░реЗрдЦрд╛ рдХреЗ рдЕрдВрдд рддрдХ рдЬрд╛рд░реА рд░рдЦреЗрдВред рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдПред
рдкрд╣рд▓рд╛ рдкрд╛рд╕ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░, рдЫрд╡рд┐ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рдзреБрдВрдзрд▓реА рд╣реЛ рдЬрд╛рддреА рд╣реИред
2. рджреВрд╕рд░реЗ рдкрд╛рд╕ рд╕реЗ рд╣рдо рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рд╕рдорд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд╣рдореЗрдВ рдПрдХ рдЫрд╡рд┐ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдзреБрдВрдзрд▓реА рд╣реЛрддреА рд╣реИред
3-4ред рдЕрдм рд╡рд╣реА рдХрд╛рдо рд▓рдВрдмрд╡рдд рдХрд░реЗрдВред
рд╣реЛ рдЧрдпрд╛!
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдЯреИрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХ-рдмреНрд▓рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдПрдХ рджреЛ-рдкрд╛рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдзреАрдорд╛ рд╣реЛ рдЧрдпрд╛ред рд╢рд╛рдпрдж рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ рдПрдХ-рдкрд╛рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рддреЗрдЬреА рд╕реЗ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЙрддреНрддрд░реЛрддреНрддрд░ рд░реВрдк рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рдПрдХ рдкреНрд▓рд╕ рд╣реЛрдЧреАред
рд╡рд░реНрддрдорд╛рди рдЪрд╛рд░-рддрд░рдлрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдзрд┐, рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рдХрд▓рдВрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рд╣рдмреЗрд░рд╛ рдХреЛ рджреЗрдЦрд╛ред
habr.com/post/151157 рдореИрдВ рдЕрдкрдиреА рдПрдХрдЬреБрдЯрддрд╛ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рддрд┐ рдЧрд╣рд░реА рдХреГрддрдЬреНрдЮрддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд▓реЗрддрд╛ рд╣реВрдВред
рд▓реЗрдХрд┐рди рд╣реИрдХ рд╡рд╣рд╛рдВ рдЦрддреНрдо рдирд╣реАрдВ рд╣реБрдИред рдЕрдм рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕рднреА рддреАрди рд░рдВрдЧ рдЪреИрдирд▓реЛрдВ рдХреА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ! рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рджреЛ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдо рдмрд┐рдЯреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЪреИрдирд▓реЛрдВ рдХреЗ рдирд┐рдЪрд▓реЗ рдмрд┐рдЯреНрд╕ рдкрдбрд╝реЛрд╕реА рдЙрдЪреНрдЪ рдореЗрдВ рд╕реНрд▓рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рд╕рдЯреАрдХрддрд╛ рдХреЗ рдХреБрдЫ рдиреБрдХрд╕рд╛рди рдХреЗ рд╕рд╛рде, рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рд░реАрд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╡рд░реНрдгрд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдЖрдзреЗ рдореВрд▓реНрдп рдФрд░ рдЕрдЧрд▓реЗ рд╕реЗрд▓ рдХреЗ рдЖрдзреЗ рдореВрд▓реНрдп (рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдХрд┐рдП рдЧрдП рдмрд┐рдЯреНрд╕ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрдзреАрди) рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрднреА рднреА рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдФрд░ рд╕рднреА рдЕрдВрдХреЛрдВ рдХреА рдПрдХ рд╕рд╛рде рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдлрд┐рд▓реНрдЯрд░ рдлреЙрд░реНрдореВрд▓рд╛ рдпрд╣ рдмрди рдЬрд╛рддрд╛ рд╣реИ:
buf32 [i] = t = (((t >> 1) & 0x7F7F7F) + ((buf32 [i] >> 1) & 0x7F7F7F);
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдпрд╣ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдиреБрдХрд╕рд╛рди рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЪрд┐рддреНрд░ рдХреА рдЪрдордХ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдХреВрджрддреА рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЦреЛрдИ рд╣реБрдИ рдмрд┐рдЯ рдХреЛ рдкрд╛рд╕ рдХреЗ рдкреВрд░реЗ рджреМрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рдкреВрд░реНрдгрд╛рдВрдХ рдЕрдВрдХрдЧрдгрд┐рдд рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╡рд┐рднрд╛рдЬрди рд╕реЗ рдкрд╣рд▓реЗ рдЖрдзрд╛ рднрд╛рдЬрдХ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрдХ рджреЛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рднреА рдЕрдВрдХреЛрдВ рдореЗрдВ рдПрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, - рдирд┐рд░рдВрддрд░ 0x010101ред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде, рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдЧрд▓реА рд╕реЗрд▓ рдХреЗ рдЖрдзреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред (рдпрджрд┐ рд╕рдлреЗрдж рд░рдВрдЧ рд╣реИ, рддреЛ рд╣рдо рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ)ред рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореБрдЦреНрдп рдЧрд▓рддреА рдбреНрд░рд╛рдЗрд╡ рдХреЗ рдХрдИ рд╡рд┐рднрд╛рдЬрди рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдереА, рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде, рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рдореВрд▓реНрдп 254 рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рдмрдврд╝реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЬрдм 0x010101 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реЛрдЧреАред рдФрд░ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдлрд┐рд▓реНрдЯрд░ рдлреЙрд░реНрдореВрд▓рд╛ рдлреЙрд░реНрдо рд▓реЗрддрд╛ рд╣реИ:
buf32 [i] = t = (((((0x010101 + t) >> 1) рдФрд░ 0x7F7F7F) + ((buf32 [i] >> 1) & 0x7F7F7F);
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реВрддреНрд░ рд╕реБрдзрд╛рд░ рдХреЛ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдмрд╛рд░-рдмрд╛рд░ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЫрд╡рд┐ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдВ рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рджрд╕ рдкрд╛рд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреА рд╣реИрдВред (рдЗрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдХрд┐ рдЧрд╛рдКрд╕реА рдмреНрд▓рд╛рдЙрд░рд╛ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХрдИ рдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрджреНрднреБрдд рд╕рдВрдкрддреНрддрд┐ рд╣реИред (рдпрд╣ рдореЗрд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдг рдХреА "рд╕рд╛рдорд╛рдиреНрдпрддрд╛" рдХреЗ рдХрд╛рд░рдг рд╣реИ)ред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдкреНрд▓рд╛рд╕ рдмреНрд▓реБрд░рд╛ рдХреЗ рджреВрд╕рд░реЗ рдкрд╛рд╕ рдкрд░, рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рдШрдирддреНрд╡ рдлрд╝рдВрдХреНрд╢рди (рдпрджрд┐ рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдкрд╛рдпрд╛ рд╣реИ) рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

рдЬреЛ, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреМрд╕рд┐рдпрди рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдмрдбрд╝реЗ рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдЕрдиреБрдореЗрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдВрдкрддреНрддрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рддреА рд╣реИ рдпрджрд┐ рдЕрдВрддрд┐рдо рдкрд╛рд╕ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реИ (рд╕рдмрд╕реЗ рд╕рдЯреАрдХ x7 рдХрд▓рдВрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред
рдбреЗрдореЛрдЦрдЯрдЦрдЯрд╛рдирд╛kodpenрд╢рд╛рдВрдд рдЧрдгрд┐рддрдЬреНрдЮреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреАрд▓:
рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рд╕рд╣реА рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рд╕рдордорд┐рдд рд╡рд┐рддрд░рдг рдЪрд┐рддреНрд░ рд╣реИ рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдпрджреНрдпрдкрд┐ рдЖрдВрдЦ рдХреА рд╡рд┐рд╖рдорддрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдЕрдкрдбреЗрдЯ: рдпрд╣рд╛рдВ рдореИрдВ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ рдмрдврд╝рд╛рдКрдВрдЧрд╛, рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдиреНрдп рдЦрдмреНрд░реЛрд╡рд┐рдЯреНрд╕ рд╕реЗ рдкрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
1. SSE рдХреА рд╢рдХреНрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдВрдЯреЗрд▓ рд╡рд┐рдЬрд╛рд░реНрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ -
software.intel.com/en-us/articles/iir-gaussian-blur-filter-implementation-use-intel-advanced-vector-extensions (рдзрдиреНрдпрд╡рд╛рдж
vladimirovich )
2. рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЖрдзрд╛рд░ "рдлрд╛рд╕реНрдЯ рдЫрд╡рд┐ рд╕рдВрдХрд▓реНрдк" + рдИрдорд╛рдирджрд╛рд░ рдЧреЙрд╕рд┐рдпрди
рдмреНрд▓рд╛рдЙрд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрдкрдиреЗ рдХреБрдЫ рдХрд╕реНрдЯрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ -
blog.ivank.net/fastest-gaussian-blur.html (рдзрдиреНрдпрд╡рд╛рдж
рдЧреНрд░реЙрдХреНрд╕ )
рд╕реБрдЭрд╛рд╡реЛрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ, рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!