рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди: рдирджрд┐рдпреЛрдВ рдФрд░ рдЭреАрд▓реЛрдВ рдХрд╛ рдЧрддрд┐рд╢реАрд▓ рдЕрдиреБрдХрд░рдг

рдиреЛрдЯ: рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб Github [ рдпрд╣рд╛рдБ ] рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рднреА рд╣реИред

рдХрдг рдЖрдзрд╛рд░рд┐рдд рд╣рд╛рдЗрдбреНрд░реЛрд▓рд┐рдХ рдХрдЯрд╛рд╡ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╕рддрд╣ рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдЕрдиреНрдп рдкрд╣рд▓реБрдУрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдирджрд┐рдпреЛрдВ рдФрд░ рдЭреАрд▓реЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреАрдврд╝реА рдХреЗ рдореМрдЬреВрджрд╛ рддрд░реАрдХреЛрдВ рдкрд░ рд╢реЛрдз рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЬреЛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ, рд╡реЗ рдореБрдЭреЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдПред

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

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдПрдХ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдХрдг-рдЖрдзрд╛рд░рд┐рдд рд╣рд╛рдЗрдбреНрд░реЛрд▓рд┐рдХ рдХрдЯрд╛рд╡ рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рднреА рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ "рд░рд╛рд╣рдд рдкрд░ рдкрд╛рдиреА" рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВред

рдЕрдкрдиреА рдкрджреНрдзрддрд┐ рдореЗрдВ, рдореИрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреНрд╖рд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдорд╛рдореВрд▓реА рд╡реГрджреНрдзрд┐ рдХреА рдХреАрдордд рдкрд░ рд╕рд╛рджрдЧреА рдФрд░ рдпрдерд╛рд░реНрдерд╡рд╛рдж рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ [ рдпрд╣рд╛рдВ , Habr├й рдкрд░ рдЕрдиреБрд╡рд╛рдж ], рдХреНрдпреЛрдВрдХрд┐ рдирдпрд╛ рдореЙрдбрд▓ рдЗрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред


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

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: рдореИрдВ рдПрдХ рднреВрд╡рд┐рдЬреНрдЮрд╛рдиреА рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдИред

рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рдЕрд╡рдзрд╛рд░рдгрд╛


рдореИрдВ рдПрдХ рдЬрдирд░реЗрдЯрд┐рд╡ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рднреМрдЧреЛрд▓рд┐рдХ рдШрдЯрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:

  • рдирджреА рдФрд░ рдзрд╛рд░рд╛ рдХрд╛ рдкрд▓рд╛рдпрди
  • рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЭрд░рдиреЗ
  • рдШрд╛рдЯреА рдХрд╛ рдЧрдарди
  • рдорд┐рдЯреНрдЯреА рдФрд░ рдмрд╛рдврд╝ рдХреА рд╕реВрдЬрди

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

  • рд░рд╛рд╣рдд рдкрд╛рдиреА рдХреА рдЖрд╡рд╛рдЬрд╛рд╣реА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ
  • рдХрдЯрд╛рд╡ рдФрд░ рдЕрд╡рд╕рд╛рджрди рдЗрд▓рд╛рдХреЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреНрд░рдгрд╛рд▓реА рдмрд╛рд░рд┐рд╢ рдХреЗ рдХрд╛рд░рдг рд╣реБрдП рдХрдЯрд╛рд╡ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдЕрдиреНрдп рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ:

  • рдПрдХ рдЪрд▓рддреА рд╣реБрдИ рдзрд╛рд░рд╛ рдореЗрдВ, рдкрд╛рдиреА рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
  • рдПрдХ рдЦрдбрд╝реЗ рдкреВрд▓ рдореЗрдВ, рдкрд╛рдиреА рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ

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

рдЙрдкрд░реЛрдХреНрдд рднреМрдЧреЛрд▓рд┐рдХ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдШрд╛рдЯрд┐рдпреЛрдВ рдХреЗ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЙрдиреНрд╣реЗрдВ рдХрдг-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдпрдерд╛рд░реНрдерд╡рд╛рдж рдХреЛ рдЙрдзрд╛рд░ рд▓реЗрдирд╛ рдФрд░ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд░рд▓реАрдХреГрдд рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдореЙрдбрд▓


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

рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдореЙрдбрд▓ рдореЗрдВ рджреЛ рдирдХреНрд╢реЗ рд╣реЛрддреЗ рд╣реИрдВ: рдлреНрд▓реЛ рдореИрдкреНрд╕ рдФрд░ рдмреЗрд╕рд┐рди рдореИрдкреНрд╕ ред

рдиреЛрдЯ: рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╡реЗ 2D рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрдЯреНрд░реАрдо рдФрд░ рдкреВрд▓ рдореИрдкреНрд╕


рдкреНрд░рд╡рд╛рд╣ рдорд╛рдирдЪрд┐рддреНрд░ рд╕рддрд╣ (рдзрд╛рд░рд╛рдУрдВ рдФрд░ рдирджрд┐рдпреЛрдВ) рдкрд░ рдмрд╣рддреЗ рдкрд╛рдиреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╕рдордп-рдФрд╕рдд рдХрдг рдкрджреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдкреБрд░рд╛рдиреА рдЬрд╛рдирдХрд╛рд░реА рдзреАрд░реЗ-рдзреАрд░реЗ рд╣рдЯрд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИред

рдмреЗрд╕рд┐рди рдорд╛рдирдЪрд┐рддреНрд░ рд╕рддрд╣ (рдкреЛрдЦрд░, рддрд╛рд▓рд╛рдм, рдЭреАрд▓, рдорд╣рд╛рд╕рд╛рдЧрд░) рдкрд░ рдЕрднреА рднреА рдкрд╛рдиреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирдЪрд┐рддреНрд░ рдХреА рд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛рдиреА рдХреА рдЧрд╣рд░рд╛рдИ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

рдиреЛрдЯ: рд╕реНрдЯреНрд░реАрдо рдФрд░ рдкреВрд▓ рдореИрдкреНрд╕ рдКрдВрдЪрд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреЗ рдПрд░реЗрдЬрд╝ рд╣реИрдВред


рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде рд░рд╛рд╣рддред рд░реЗрдВрдбрд░ рдореЗрдВ рдкрд╛рдиреА рдХреА рдкрд░рдд рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдореИрдкреНрд╕ рд╕реЗ рд▓реА рдЧрдИ рд╣реИред


рд╕рдВрдпреБрдХреНрдд рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдирдХреНрд╢реЗред рд▓рд╛рдЗрдЯ рдмреНрд▓реВ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдореИрдк рд╣реИ; рдбрд╛рд░реНрдХ рдмреНрд▓реВ рдПрдХ рдкреВрд▓ рдореИрдк рд╣реИред

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

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

рдПрдХ рдХрдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдиреА


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

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

рдиреЛрдЯ: рдПрдХ рдХрдг рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯ [ рд╣реИрдмреЗ рдкрд░ рдЕрдиреБрд╡рд╛рдж ] (рдФрд░ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛) рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ ред

рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдЪрдХреНрд░ рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди


рдореИрдк рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдПрдХ рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдЪрдХреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдЪрдХреНрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:

  • рдЗрд▓рд╛рдХреЗ рдкрд░ рдПрдХ рдХрдг рдмрдирд╛рдирд╛
  • (.. ).
  • , .
  • , .
  • , ( ) .
  • .

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


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

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


рдиреАрдЪреЗ рдореИрдВ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдФрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░реВрдВрдЧрд╛ред

рдиреЛрдЯ: рдореИрдВ рдХреЗрд╡рд▓ рдХреЛрдб рдХреЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЯреБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЧрд┐рддреБрдм рдкрд░ рднрдВрдбрд╛рд░ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рдХреЛрдб рдХреЗ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рдЧ "water.h" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИрдВред

рдХрдг рд╡рд░реНрдЧ


рдбреНрд░реЙрдк рдХрдг рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд┐рдЫрд▓реА рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред рдЙрддрд░рдирд╛ рдФрд░ рдмрд╛рдврд╝ рдЕрдм рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рджрд╕реНрдп рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рд╕рдордп рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдХрдг рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред

struct Drop{
  
  //... constructors

  int index;                         //Flat Array Index
  glm::vec2 pos;                     //2D Position
  glm::vec2 speed = glm::vec2(0.0);
  double volume = 1.0;
  double sediment = 0.0;

  //... parameters
  const double volumeFactor = 100.0; //"Water Deposition Rate"

  //Hydrological Cycle Functions
  void descend(double* h, double* stream, double* pool, bool* track, glm::ivec2 dim, double scale);
  void flood(double* h, double* pool, glm::ivec2 dim);
};

рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╡реЙрд▓реНрдпреВрдо рдХрд╛рд░рдХ рд╣реИ, рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдврд╝ рдХреИрд╕реЗ рдЬрд▓ рд╕реНрддрд░ рддрдХ рдЖрдпрддрди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╡рдВрд╢ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


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

void Drop::descend(double* h, double* stream, double* pool, bool* track, glm::ivec2 dim, double scale){

  glm::ivec2 ipos; 

  while(volume > minVol){

    ipos = pos; //Initial Position
    int ind = ipos.x*dim.y+ipos.y; //Flat Array Index

    //Register Position
    track[ind] = true;

    //...
  }
};

рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдкреВрд▓ рдХреЗ рдирдХреНрд╢реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

//...
  //Effective Parameter Set
  double effD = depositionRate;
  double effF = friction*(1.0-0.5*stream[ind]);
  double effR = evapRate*(1.0-0.2*stream[ind]);
//...

рдиреЛрдЯ: рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

//... nind is the next position after moving the particle
  
  //Out-Of-Bounds
  if(!glm::all(glm::greaterThanEqual(pos, glm::vec2(0))) ||
     !glm::all(glm::lessThan((glm::ivec2)pos, dim))){
       volume = 0.0;
       break;
  }

  //Slow-Down
  if(stream[nind] > 0.5 && length(acc) < 0.01)
    break;

  //Enter Pool
  if(pool[nind] > 0.0)
    break;

//...

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

рдзреНрдпрд╛рди рджреЗрдВ: рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рднреА рдорд╛рддреНрд░рд╛ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддреА рд╣реИ рддрд╛рдХрд┐ рдХрдг рдмрд╛рдврд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рди рдЬрд╛рдПрдВред

рдмрд╛рдврд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


рд╢реЗрд╖ рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓рд╛ рдПрдХ рдХрдг рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рдврд╝ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдЕрд╡рд░реЛрд╣реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдХреЛрдИ рддреНрд╡рд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ) рдпрд╛ рдореМрдЬреВрджрд╛ рдкреВрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред

рдмрд╛рдврд╝ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмреЗрд╕рд┐рди рдХреЗ рдирдХреНрд╢реЗ рдХреЛ рдмрджрд▓рддреЗ рд╣реБрдП, рдкрд╛рдиреА рдХреЗ рдмрдврд╝реЗ рд╣реБрдП рд╕реНрддрд░ рддрдХ рдХрдг рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рддрдХрдиреАрдХ "рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдорд╛рди" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдг рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рдПрдХ рдЕрдВрд╢ рджреНрд╡рд╛рд░рд╛ рдЬрд▓ рд╕реНрддрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдЬреИрд╕реЗ рд╣реА рдкрд╛рдиреА рдХрд╛ рд╕реНрддрд░ рдмрдврд╝рддрд╛ рд╣реИ, рдХрдг рдХреА рдорд╛рддреНрд░рд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред


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

рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдХрдг рдХреА рд╕реНрдерд┐рддрд┐ (рдЬреЛ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдкреВрд░реНрд╡рдХ рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ) рд╕реЗ рдмрд╛рдврд╝ рднрд░рддреЗ рд╣реИрдВ, рдореВрд▓ рд╡рд┐рдорд╛рди (рд╡рд░реНрддрдорд╛рди рдЬрд▓ рд╕реНрддрд░) рдХреЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╕рднреА рдкрджреЛрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдорд╛рди рдХреЗ рдиреАрдЪреЗ "рдмрд╛рдврд╝ рд╕реЗрдЯ" рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдпрд╣ рд░рд╛рд╣рдд рдХрд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬреЛ рдкреВрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рднрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рд╣рдо рд▓реАрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдмрд╛рдврд╝ рдХреЗ рд╕реЗрдЯ рдХреЗ рдмрд┐рдВрджреБ рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдорд╛рди рдФрд░ рдореВрд▓ рд╡рд┐рдорд╛рди рдХреЗ рдиреАрдЪреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдореЗрдВ рдХрдИ рд░рд┐рд╕рд╛рд╡ рдмрд┐рдВрджреБ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдмрд╕реЗ рдХрдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред

void Drop::flood(double* height, double* pool, glm::ivec2 dim){

  index = (int)pos.x*dim.y + (int)pos.y;
  double plane = height[index] + pool[index];  //Testing Plane
  double initialplane = plane;                 //Water Level

  //Flood Set
  std::vector<int> set;
  int fail = 10; //Just in case...

  //Iterate while particle still has volume
  while(volume > minVol && fail){

    set.clear();
    bool tried[dim.x*dim.y] = {false};

    //Lowest Drain
    int drain;
    bool drainfound = false;

    //Recursive Flood-Fill Function
    std::function<void(int)> fill = [&](int i){

      //Out of Bounds
      if(i/dim.y >= dim.x || i/dim.y < 0) return;
      if(i%dim.y >= dim.y || i%dim.y < 0) return;

      //Position has been tried
      if(tried[i]) return;
      tried[i] = true;

      //Wall / Boundary of the Pool
      if(plane < height[i] + pool[i]) return;

      //Drainage Point
      if(initialplane > height[i] + pool[i]){

        //No Drain yet
        if(!drainfound)
          drain = i;

        //Lower Drain
        else if( pool[drain] + height[drain] < pool[i] + height[i] )
          drain = i;

        drainfound = true;
        return; //No need to flood from here
      }

      //Part of the Pool
      set.push_back(i);
      fill(i+dim.y);    //Fill Neighbors
      fill(i-dim.y);
      fill(i+1);
      fill(i-1);
      fill(i+dim.y+1);  //Diagonals (Improves Drainage)
      fill(i-dim.y-1);
      fill(i+dim.y-1);
      fill(i-dim.y+1);
    };

    //Perform Flood
    fill(index);

    //...

рдиреЛрдЯ: рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрда- рдорд╛рд░реНрдЧ рднрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдХрдИ рдмрд╛рдврд╝ рдФрд░ рд░рд┐рд╕рд╛рд╡ рдмрд┐рдВрджреБрдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЬрд▓ рд╕реНрддрд░ рдФрд░ рдкреВрд▓ рдХрд╛ рдирдХреНрд╢рд╛ рдмрджрд▓рддреЗ рд╣реИрдВред

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

    //...

    //Drainage Point
    if(drainfound){

      //Set the Particle Position
      pos = glm::vec2(drain/dim.y, drain%dim.y);

      //Set the New Waterlevel (Slowly)
      double drainage = 0.001;
      plane = (1.0-drainage)*initialplane + drainage*(height[drain] + pool[drain]);

      //Compute the New Height
      for(auto& s: set) //Iterate over Set
        pool[s] = (plane > height[s])?(plane-height[s]):0.0;

      //Remove some sediment
      sediment *= 0.1;
      break;
    }

    //...

рдиреЛрдЯ: рдЬрдм рд░рд┐рд╕рд╛рд╡ рдХреЗ рдХрд╛рд░рдг рдЬрд▓ рд╕реНрддрд░ рдШрдЯрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдХрдо рд░рд┐рд╕рд╛рд╡ рджрд░ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд▓рдЫрдЯреА рдЪрдЯреНрдЯрд╛рдиреЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред

рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рднрд░реЗ рд╣реБрдП рдкреВрд▓ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирдП рдХрдг рддреБрд░рдВрдд рдЕрдкрдиреА рдорд╛рддреНрд░рд╛ рдХреЛ рд░рд┐рд╕рд╛рд╡ рдмрд┐рдВрджреБ рддрдХ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреВрд▓ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЙрд╕реА рдорд╛рддреНрд░рд╛ рдХреЛ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

    //...

    //Get Volume under Plane
    double tVol = 0.0;
    for(auto& s: set)
      tVol += volumeFactor*(plane - (height[s]+pool[s]));

    //We can partially fill this volume
    if(tVol <= volume && initialplane < plane){

      //Raise water level to plane height
      for(auto& s: set)
        pool[s] = plane - height[s];

      //Adjust Drop Volume
      volume -= tVol;
      tVol = 0.0;
    }

    //Plane was too high and we couldn't fill it
    else fail--;

    //Adjust Planes
    float approach = 0.5;
    initialplane = (plane > initialplane)?plane:initialplane;
    plane += approach*(volume-tVol)/(double)set.size()/volumeFactor;
  }

  //Couldn't place the volume (for some reason)- so ignore this drop.
  if(fail == 0)
    volume = 0.0;

} //End of Flood Algorithm

рдкреВрд▓ рдХреА рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ (рдпрд╛рдиреА, рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рджреНрд╡рд╛рд░рд╛ рдорд╛рдкреА рдЧрдИ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЕрдВрддрд░ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╡рд┐рдорд╛рди рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдХрдЯрддрд╛ рдЧреБрдгрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдорд╛рди рд╕рд╣реА рдЬрд▓ рд╕реНрддрд░ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИред

рдХрдЯрд╛рд╡ рд▓рдкреЗрдЯ


рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рддреАрди рдирдХреНрд╢реЗ рд╣реИрдВ:

class World {

public:
  void generate();            //Initialize
  void erode(int cycles);     //Erode with N Particles

  //...

  double heightmap[256*256] = {0.0};
  double waterstream[256*256] = {0.0};
  double waterpool[256*256] = {0.0};

};

рдиреЛрдЯ: рдКрдВрдЪрд╛рдИ рдХрд╛ рдирдХреНрд╢рд╛ рдкреЗрд░реНрд▓рд┐рди рд╢реЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдЪрд░рдг рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

//...

//Spawn Particle
glm::vec2 newpos = glm::vec2(rand()%(int)dim.x, rand()%(int)dim.y);
Drop drop(newpos);

int spill = 5;
while(drop.volume > drop.minVol && spill != 0){

  drop.descend(heightmap, waterstream, waterpool, track, dim, scale);

  if(drop.volume > drop.minVol)
    drop.flood(heightmap, waterpool, dim);

  spill--;
}

//...

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

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

рдХрдЯрд╛рд╡ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рдФрд░ рдПрди рдХрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдЪрд░рдг рдХрд░рддрд╛ рд╣реИ, рд╕реАрдзреЗ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдирдХреНрд╢рд╛ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ:

void World::erode(int N){

  //Track the Movement of all Particles
  bool track[dim.x*dim.y] = {false};

  //Simulate N Particles
  for(int i = 0; i < N; i++){
   
    //... simulate individual particle

  }

  //Update Path
  double lrate = 0.01;  //Adaptation Rate
  for(int i = 0; i < dim.x*dim.y; i++)
    waterstream[i] = (1.0-lrate)*waterstream[i] + lrate*((track[i])?1.0:0.0);

}

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

рдкреЗрдбрд╝


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

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

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

//... descend function
double effD = depositionRate*max(0.0, 1.0-treedensity[ind]);
//...

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


рдЫрд╛рдпрд╛рдВрдХрди рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдирдХреНрд╢реЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкреЗрдбрд╝ рд╕реНрдкреНрд░рд╛рдЗрдЯ рд░рд╛рд╣рдд рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рдмрдирд╛рддреЗ рд╣реИрдВред

рдиреЛрдЯ: рдЯреНрд░реА рдореЙрдбрд▓ "рд╡рдирд╕реНрдкрддрд┐" h рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╝рдВрдХреНрд╢рди "рд╡рд░реНрд▓реНрдб :: рдЧреНрд░реЛ ()" рдореЗрдВред

рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА


рдкрд░рд┐рдгрд╛рдо рдПрдХ рдШрд░ рдореЗрдВ рдмрдиреЗ рдУрдкрди рдЖрд╡рд░рдг рд╣реИ, рдЬреЛ [рдЦрд░реНрдЪ рдХреА рдЧрдИ рдереА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрд▓реНрдкрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╣рд╛рдБ ]ред

рдкрд░рд┐рдгрд╛рдо


рдХрд┐рд╕реА рднреА рд╡рд┐рддрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдХрдг рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдбреЗрдореЛ рдореЗрдВ, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ 256 ├Ч 256 рдХрд╛рд░реНрдб рдкрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ред

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

рдЕрдиреНрдп рдШрдЯрдирд╛рдПрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЭрд░рдиреЗ, рдпрд╛рддрдирд╛ рдФрд░ рдирджреА рдХреЗ рдбреЗрд▓реНрдЯрд╛, рдЭреАрд▓, рдорд┐рдЯреНрдЯреА рдХреА рд╕реВрдЬрди, рдФрд░ рдЗрд╕реА рддрд░рд╣ред

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


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

рд╕рдВрдХреАрд░реНрдг рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреА рддреБрд▓рдирд╛


рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдХрдЯрд╛рд╡ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдмрдирд╛рдП рдЧрдП рдЕрдВрддрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╣реА рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рддреАрди рдмрд╛рд░ рдПрдХ рд╣реА рдЗрд▓рд╛рдХреЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛:

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

рдиреЛрдЯ: рдпрд╣ рдПрдХ рдмрд▓реНрдХрд┐ рдЕрд░рд╛рдЬрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдФрд░ рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рдХрд╛ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЗрд▓рд╛рдХреЗ рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИред рдПрдХ рд░рд╛рд╣рдд рдХрд╛ "рдмрд╣реБрдд рдЦреБрд▓рд╛рд╕рд╛" рдЙрджрд╛рд╣рд░рдг рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред


рдЖрдзрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд░рд╛рд╣рдд рдкреНрд░рджрд╛рди рдХрд░рдирд╛


рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдгрд╛рд▓реА рдЙрдиреНрдирдпрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛


рдкреЗрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕реНрдерд▓рд╛рдХреГрддрд┐ рдХрд╛ рд░реЗрдВрдбрд░

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

рдХрдо рдШрд░реНрд╖рдг рдФрд░ рд╡рд╛рд╖реНрдкреАрдХрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдг рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЪреИрдирд▓реЛрдВ рдХреЛ рдкрд╕рдВрдж рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рд░рд╛рд╣рдд рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдЕрд╡рд▓реЛрдХрди рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдкреНрд░рднрд╛рд╡ рдЕрдзрд┐рдХ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред


рдЖрдзрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдирдХреНрд╢рд╛


рд╕рдВрдпреБрдХреНрдд рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдирдХреНрд╢рд╛


рдкреЗрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдирдХреНрд╢рд╛

рдиреЛрдЯ: рдпреЗ рдкрд░рд┐рдгрд╛рдо рд╕рд┐рдореБрд▓реЗрд╢рди рд╕рдордп рдХреЗ рдареАрдХ 60 рд╕реЗрдХрдВрдб рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реБрдП рдереЗред

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


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

рдкреВрд▓ рдкреНрд░рднрд╛рд╡


рдкреВрд▓ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдгрд╛рд▓реА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рдПрдХ рд╣реА рд░рд╛рд╣рдд рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдКрдВрдЪрд╛рдЗрдпреЛрдВ рд╡рд╛рд▓реЗ рдХрдИ рдЬрд▓ рдирд┐рдХрд╛рдпреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдореЗрдВ рдлреИрд▓рдХрд░ рдЦрд╛рд▓реА рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


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

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

рд╕рдордп-рд╕рдордп рдкрд░, рдкреВрд▓ рдХреА рдКрдВрдЪрд╛рдИ рдХрд╛ рд╕реНрддрд░ рдХреВрджрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдкрд╛рдиреА рдХрд╛ рд╕реНрддрд░ рд░рд┐рд╕рд╛рд╡ рдХреЗ рд╕реНрддрд░ рдХреЗ рдХрд░реАрдм рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рдкрд╛рдиреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╛рдврд╝ рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ рд░рд┐рд╕рд╛рд╡ рджрд░ рдХреЛ рдХрдо рдХрд░рдХреЗ рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдПрдХ рдФрд░ рдкреАрдврд╝реА рдХреЗ рдмрд╛рдж, рдХрдИ рдирдП рдкреВрд▓ рдЕрдкрдиреЗ рдЖрдк рджрд┐рдЦрд╛рдИ рджрд┐рдПред


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


рд╣рд╛рдЗрдбреНрд░реЛрд▓реЙрдЬрд┐рдХрд▓ рдорд╛рдирдЪрд┐рддреНрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЗрдВрджреНрд░реАрдп рдмреЗрд╕рд┐рди рдирд┐рдЪрд▓реЗ рдмреЗрд╕рд┐рди рдореЗрдВ рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдмрд╛рдврд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреВрд▓ рдирдХреНрд╢реЗ рдХреА рд╕реАрдорд╛ рдкрд░ рдПрдХ "рджреАрд╡рд╛рд░" рджреЗрдЦрддреЗ рд╣реИрдВред рдпрд╣ рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

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

рд╕рд┐рдореБрд▓реЗрд╢рди рдЧрддрд┐


рд╡рдВрд╢ рдФрд░ рдмрд╛рдврд╝ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХрд╛ рд╕рдордп рдХрдг рд╕реЗ рдХрдг рддрдХ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдорд╛рдг рдХреЗ рдПрдХ рдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ (рд▓рдЧрднрдЧ 1 рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдиреНрдб)ред рд╕реНрдерд┐рд░ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╕рд╛рде, рдХрдг рддреЗрдЬреА рд╕реЗ рдирдХреНрд╢реЗ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддреЗ рд╣реИрдВред

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

рд╡рдВрд╢ рдХрд╛ рд╕рдордп рдирдХреНрд╢реЗ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдШрд░реНрд╖рдг рдФрд░ рд╡рд╛рд╖реНрдкреАрдХрд░рдг рджрд░ рд╕рд╣рд┐рдд рдХрдИ рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред

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

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

рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд╡реАрдбрд┐рдпреЛ



рдЕрд╕рдорд╛рди рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЗрд▓рд╛рдХреЗ рдкрд░ рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рд╕рд┐рдореБрд▓реЗрд╢рдиред


рдереЛрдбрд╝реА рд╕реБрдХреВрди рднрд░реА рд░рд╛рд╣рддред рдХреБрдЫ рдЭреАрд▓реЛрдВ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рд╣реЛрддрд╛ рд╣реИред

рдПрдХ рдлреНрд▓реИрдЯ рдЪрд┐рдХрдиреА рдЗрд▓рд╛рдХреЗ рдкрд░ рдЬрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рд╕рд┐рдореБрд▓реЗрд╢рдиред

рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡реАрдбрд┐рдпреЛ рдЧрддрд┐ рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рдж рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдПред


рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЪрд╛рдкрд▓реВрд╕реА рдФрд░ рдЪрд┐рдХрдиреА рдЗрд▓рд╛рдХреЗ рднреАред


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


рдирджрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рдЕрд╕рдорд╛рди рд░рд╛рд╣рддред

рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВред

рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ


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

рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ, рд╣рдо рдШреБрдорд╛рд╡рджрд╛рд░ рдирджрд┐рдпреЛрдВ, рдЭрд░рдиреЛрдВ, рдЭреАрд▓реЛрдВ рдФрд░ рдЭреАрд▓реЛрдВ рдХреЗ рдЖрдзрд╛рди, рдирджрд┐рдпреЛрдВ рдХреЛ рд╕рдорддрд▓ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдбреЗрд▓реНрдЯрд╛ рдореЗрдВ рдлреНрд▓реИрдЯ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЖрджрд┐ред

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

рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЗрдбрд╝реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрдбрд╝ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдорд┐рдЯреНрдЯреА рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВред

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

рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рддреЛ рдЖрдк рдореБрдЭрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдлреА рдореЗрд╣рдирдд рдХреА, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдкрд╛рдк рдереЗ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓реБрдУрдВ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ред

All Articles