рдЦреЗрд▓ "рдЬреАрд╡рди"ред рдлрд┐рд░ред рдЗрд╕ рдмрд╛рд░ 3 рдбреА рдореЗрдВ

рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рджреМрд░рд╛рди, рд╣реИрдмрд░ рдХреЛ рдЦреЗрд▓ "рд▓рд╛рдЗрдл" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рднрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдЦреИрд░, рдлрд┐рд░ рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдкрдиреА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдкрд┐рдЫрд▓реА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдореИрдВ рдПрдирдПрд╕рдпреВ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдЧреНрд░реАрд╖реНрдордХрд╛рд▓реАрди рд╕реНрдХреВрд▓ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдЖ рдерд╛ред рд╕реНрдХреВрд▓ рдХреЗ рднреАрддрд░, рдкреНрд░рддреНрдпреЗрдХ рдЫрд╛рддреНрд░ рдХреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдореЗрдВ рджрд┐рдП рдЧрдП рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рдХрд░рдиреА рдереАред рдореБрдЭреЗ рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрд╛ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереАред "рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЬреБрдбрд╝рд╛рд╡ рдареАрдХ "рдЬреАрд╡рди" рд╣реИред
рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рд░рд╣рдиреЗ рд╡рд╛рд▓реА рдХрд╛рд▓реА рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рдХрд┐рд╕реА рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реЛрдЧреАред рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рдирдпрд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рд╕реАрдорд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдФрд░ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реЗ рдкрд░реЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╢рд╛рдмреНрджрд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВ рди рдЗрд╕ рдЦреЗрд▓ рдХреЛ рддреНрд░рд┐-рдЖрдпрд╛рдореА рдмрдирд╛рдпрд╛ рдЬрд╛рдП? рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ!


рдЪрд░рдг 1. рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╣рд░ рдХреЛрдИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рд▓рдЧрднрдЧ рд╕рднреА) рдПрдХ рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдирд╣реАрдВ рдЭреБрдХреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рддреБрд░рдВрдд рдЕрднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдЗрд╕ рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди рдХреЛ рд╕рдмрд╕реЗ рдЖрджрд┐рдо рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЧрдгрдирд╛ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдХреБрдЫ рдФрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрд▓реБрд▓рд░ рдСрдЯреЛрдореЗрдЯрди (рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗрдП) рдХреЛ рд╕рдордХрд╛рд▓рд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдХреЛрдИ рдЕрд╕реБрд╡рд┐рдзрд╛ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдУрдкрдирдПрдордкреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд▓реВрдк рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ {} рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП #pragma omp рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдпрд╛рди рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣

#pragma omp parallel shared(Temp, Space, Size) private(Num_of_nbr, x, y, z) { #pragma omp for for (x = 0; x < Size; x++) for (y = 0; y < Size; y++) for (z = 0; z < Size; z++) { // Neighbors(x, y, z)  -  //    x, y  z Num_of_nbr = Neighbors(x, y, z); if (Space[x][y][z] == 1) if (Num_of_nbr <= Smid + Sdiff * Koeff[Int_Temp[x][y][z]] \ && Num_of_nbr >= Smid - Sdiff * Koeff[Int_Temp[x][y][z]]) Temp[x][y][z] = 1; else Temp[x][y][z] = 0; else if (Num_of_nbr <= Bmid + Bdiff * Koeff[Int_Temp[x][y][z]] \ && Num_of_nbr >= Bmid - Bdiff * Koeff[Int_Temp[x][y][z]]) Temp[x][y][z] = 1; else Temp[x][y][z] = 0; } #pragma omp for for (x = 0; x < Size; x++) for (y = 0; y < Size; y++) for (z = 0; z < Size; z++) Space[x][y][z] = Temp[x][y][z]; } 



рдЪрд░рдг 2. рджреГрд╢реНрдпрд╛рдВрдХрди рдХрд░рдиреЗрд╡рд╛рд▓рд╛


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

рдордВрдЪ 3. рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡


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

рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рд╕рд╛рд░

 #pragma omp parallel shared(Size, BlockSize, Int_Temp, PosCell, PosNbr, DiffKoeff)\ private(CellNum, NbrNum, x, y, z, Cell1, Cell2, Rem1, Rem2, Mov1, Mov2) { CellNum = rand() % 27; #pragma omp for for (x = 1; x < Size; x += BlockSize) for (y = 1; y < Size; y += BlockSize) for (z = 1; z < Size; z += BlockSize) { NbrNum = rand() % 6; Cell1 = Int_Temp[(x + PosCell[CellNum][0] + Size) % Size] \ [(y + PosCell[CellNum][1] + Size) % Size] \ [(z + PosCell[CellNum][2] + Size) % Size]; Cell2 = Int_Temp[(x +PosCell[CellNum][0] + PosNbr[NbrNum][0] + Size) % Size] \ [(y + PosCell[CellNum][1] + PosNbr[NbrNum][1] + Size) % Size] \ [(z + PosCell[CellNum][2] + PosNbr[NbrNum][2] + Size) % Size]; //DiffKoeff ,    //  ,     . Rem1 = Cell1 * (float)(1.0 - DiffKoeff); Rem2 = Cell2 * (float)(1.0 - DiffKoeff); Mov1 = Cell1 * DiffKoeff; Mov2 = Cell2 * DiffKoeff; if ((float)Cell1 * DiffKoeff - (float)Mov1 > (float)(rand() % 10) / 10.0) Rem1++; else if ((float)Cell1 * DiffKoeff - (float)Mov1) Mov1++; if ((float)Cell2 * DiffKoeff - (float)Mov2 > (float)(rand() % 10) / 10.0) Rem2++; else if ((float)Cell2 * DiffKoeff - (float)Mov2) Mov2++; Int_Temp[(x + PosCell[CellNum][0] + Size) % Size] \ [(y + PosCell[CellNum][1] + Size) % Size] \ [(z + PosCell[CellNum][2] + Size) % Size] = Mov2 + Rem1; Int_Temp[(x +PosCell[CellNum][0] + PosNbr[NbrNum][0] + Size) % Size] \ [(y + PosCell[CellNum][1] + PosNbr[NbrNum][1] + Size) % Size] \ [(z + PosCell[CellNum][2] + PosNbr[NbrNum][2] + Size) % Size] \ = Mov1 + Rem2; } } 



рдЖрдЧреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг


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

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


рдЕрдм, рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдПрдХ рддрд╛рдкрдорд╛рди рдкрд░рдд рдХреЗ рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрдм рд╕реЗ рдпрд╣ рдмрд╕ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдерд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЬрдирд░реЗрдЯрд░ рд▓рд┐рдЦрдирд╛ рдерд╛ред рд╡рд╣ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд░реБрдЪрд┐ рдирд╣реАрдВ рд╣реИред рдЙрдирдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░реНрдп рдЦреЗрд▓ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдПрдХ рдШрди рдмрдирд╛рдирд╛ рд╣реИред рдиреАрдЪреЗ рдХреНрдпреВрдмреНрд╕ 3x3x3, 4x4x4 рдФрд░ 5x4x5 рд╣реИрдВред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд╕реНрд╡реАрд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рдХрджрдо рд╣реИрдВред

3x3x3, рдЪрд░рдг 1:


3x3x3, рдЪрд░рдг 4:


3x3x3, рдЪрд░рдг 5 рдФрд░ 6:

рдпрд╣ рдмрд╣реБрдд рдЕрдЬреАрдм рдлреНрд▓реИрд╢рд░ рдирд┐рдХрд▓рд╛ред

4x4x4 рдЪрд░рдг 1:


4x4x4, рдЪрд░рдг 10:


4x4x4 рдЪрд░рдг 100:

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

5x5x5, рдЪрд░рдг 1:


5x5x5, рдЪрд░рдг 4:


5x5x5, рдЪрд░рдг 7:


5x5x5, рдЪрд░рдг 8:

рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, рдПрдХ рднреА рдЬреАрд╡рд┐рдд рдХреЛрд╢рд┐рдХрд╛ рдирд╣реАрдВ рдмрдЪреА рд╣реИред

рдЕрдм рддрд╛рдкрдорд╛рди рдХреЛ 4x4x4 рдХреНрдпреВрдм рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рддрд╛рдкрдорд╛рди рдХреА рдкрд░рдд рдХреЛ рдХреЗрдВрджреНрд░реАрдп рдХрдЯреМрддреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рд╛рд▓ рдЗрд╖реНрдЯрддрдо рддрд╛рдкрдорд╛рди рд╣реИ, рдкреАрд▓рд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдереЛрдбрд╝рд╛ рдиреАрдЪреЗ рд╣реИ, рдФрд░ рдЧреБрд▓рд╛рдмреА рдХрдо рд╣реИред рдЧреЗрдо рд╕реНрдкреЗрд╕ рдореЗрдВ рдЖрдпрд╛рдо 50x50x50 рд╣реИрдВ, рдХреЗрдВрджреНрд░ рдореЗрдВ рдЗрд╖реНрдЯрддрдо рддрд╛рдкрдорд╛рди рдХреЗ рд╕рд╛рде 40x40x40 рдШрди рд╣реИред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ рд╣реИред

рдЪрд░рдг 1:


рдЪрд░рдг 10:


рдЪрд░рдг 50:


рдЪрд░рдг 150:


рдЪрд░рдг 200:

рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ: рд╣рд╡рд╛ рдардВрдбреА рд╣реЛрддреА рд╣реИ, рдЬреАрд╡рди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

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


All Articles