рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рд╢рдирд┐рд╡рд╛рд░ рдХреЛ, "рдпрд╣ рд╢рд╛рдо рдереА, рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛," рдФрд░ рд╕реЙрд╕рд░
рд╣рдмрд░реЗрдЬрд╝рд░ рдФрд░ рдореИрдВрдиреЗ
рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╛рдд рдХреА рдХрд┐ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВред рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рд╣рдо рдЕрдкрдиреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рдЙрд▓рдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗред рдпрд╣реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
y (
x ) = (cos
0.5 x x cos 200
x + | |
0.5 - 0.7) (4 -
x 2 )
0.01 рд╣реИ ред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдЧреНрд░рд╛рдл рдХреБрдЫ рд╣рдж рддрдХ
рджрд┐рд▓ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИред

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

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╣реЗрдореНрдк рдлреЙрд░реНрдореВрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реАрдЦрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдРрд╕рд╛ рдлреЙрд░реНрдореВрд▓рд╛ рдЬрд┐рд╕рдХрд╛ рдЧреНрд░рд╛рдл рдПрдХ рд╣реА рдлреЙрд░реНрдореВрд▓рд╛ рд╣реИ, рддреЛ рд╣реИрдмрд░рдХрдЯ рдкрд░ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред (рдХрдИ рддрд╕реНрд╡реАрд░реЗрдВ рд╣реЛрдВрдЧреА)
рддреЛ, рдЪрд▓рд┐рдП рдХреБрдЫ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред
рднрд╛рдВрдЧ рдХрд╛ рд╕реВрддреНрд░ ред 2005 рдХреЗ рдЖрд╕рдкрд╛рд╕, рднрд╛рдВрдЧ рд╕реВрддреНрд░
рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА ред рдлрд╛рд░реНрдо рдХреЗ рдзреНрд░реБрд╡реАрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рд╕рд░рд▓ рд╕реВрддреНрд░
- R ( t ) = (1 + sin t ) (1 + 0.9 t cos 8 t ) (1 + 0.1, cos 24 t ),
- R ( t ) = (1 + sin t ) (1 - 0.9 sin | sin 4t |) тЛЕ (0.9 + 0.05 0.0 cos 200 t ),
- R ( t ) = (1 + sin t ) (1 + 0.9 t cos 8 t ) (1 + 0.1 (cos 24 t ) (0.5 + 0.05 140 cos 140 t )
рдмреЗрд╢рдХ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдПрдВрдЯреЛрди рд╕реБрдЦрд┐рдиреЛрд╡ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдПрдВрдЯреЛрди рд╕реБрдЦрд┐рдиреЛрд╡ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛?
рддрд░рдмреВрдЬ рдордВрдЪ рдкрд░ 2005 рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрдЯрд┐рд▓ рд╕реВрддреНрд░ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛ (рдпрджрд┐ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рдореБрдЭрд╕реЗ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реБрдИ):

рдлрд┐рд░, рдХреЗрд╡рд▓ рдЙрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЖрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП
F (
a ,
r )> 0 рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд░рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

рдкрд╛рдЧрд▓ рд╣реЛ, рд╣реИ рдирд╛?
рдЯреЕрдкрд░ рдлрд╛рд░реНрдореВрд▓рд╛ ред рдЕрд╕рдорд╛рдирддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

, рдФрд░ рдирдВрдмрд░
k рд╣реЛ
48584506361897134235820959624942020445814005879832445494830930850619347
04708809928450644769865524364849997247024915119110411605739177407856919
75432657185544205721044573588368182982375413963433822519945219165128434
83329051311931999535024137587652392648746133949068701305622958132194811
13685339535565290850023875092856892694555974281546386510730049106723058
93358605254409666435126534936364395712556569593681518433485760526694016
12512669514215505395545191537854575257565907405401579290017659679654800
64427829131488548259914721248506352686630476300ред
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЕрд╕рдорд╛рдирддрд╛ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБрдУрдВ (
x , y -
k ) рдХрд╛ рд╕реЗрдЯ рдФрд░ рдЗрд╕ рддрд░рд╣ 0 and
x тЙд 106 рдФрд░
k тЙд
y +
k + 17 рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

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

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

рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдПрдХ рдордирдорд╛рдиреЗ рд╢рдмреНрдж рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдХреЛ рд╕рдорд╛рдВрддрд░ рдЪрддреБрд░реНрднреБрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХрдо рд╕реЗ рдХрдо рдкрд╛рдВрдЪ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдФрд░ рдХреЛрдб рд▓реЗрдЦ
рдлреНрд░реИрдХреНрдЯрд▓ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡реАред рдЬреЗред M├╕llerред рдлреНрд░реИрдХреНрдЯрд▓реНрд╕, рдХреИрдУрд╕, рдкрд╛рд╡рд░ рд▓реЙрдЬрд╝ рдкреБрд╕реНрддрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрддреНрддрд╛ред рдЕрдирдВрдд рд╕реНрд╡рд░реНрдЧ "рдПрдоред рд╢реНрд░реЛрдПрдбрд░ рд╕реЗ рд▓рдШреБрдЪрд┐рддреНрд░, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдордирдорд╛рдирд╛ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреБрд╕реНрддрдХ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╣рд┐рд▓реНрдмрд░реНрдЯ рд╡рдХреНрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдПрд▓-рд╕рд┐рд╕реНрдЯрдо рдХреА рдорджрдж рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдИрдорд╛рдирджрд╛рд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╡рд░реНрдЧ рдХреА рдЪрдордХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рджрд╣рд▓реАрдЬ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЪрд╛рд░ рдЙрдк-рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рдХреНрд░ рдЦреАрдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрдЧ рдореЗрдВ рд╣реА рд╡рдХреНрд░ рдЦреАрдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рдЗрд╕реЗ рд╕рдордЭрдирд╛ рд╢рд╛рдпрдж рдЖрд╕рд╛рди рд╣реИред
Point2D[] drawHilbertCurve(Point2D p, double size, int d) { Point2D q = new Point2D.Double( p.getX() + size * sqrt(2) * cos(PI * (d + 0.5) / 2), p.getY() + size * sqrt(2) * sin(PI * (d + 0.5) / 2)); if (size <= 2) { if (blockIsWhite(p, q)) { return null; } else { Point2D cc = new Point2D.Double( p.getX() + size * sqrt(2) * cos(PI * (d + 0.5) / 2) / 2, p.getY() + size * sqrt(2) * sin(PI * (d + 0.5) / 2) / 2); return new Point2D[]{cc, cc}; } } else { Point2D cl = new Point2D.Double( p.getX() + size * cos(PI * (d + 1) / 2) / 2, p.getY() + size * sin(PI * (d + 1) / 2) / 2); Point2D cc = new Point2D.Double( p.getX() + size * sqrt(2) * cos(PI * (d + 0.5) / 2) / 2, p.getY() + size * sqrt(2) * sin(PI * (d + 0.5) / 2) / 2); Point2D br = new Point2D.Double( p.getX() + size * cos(PI * d / 2), p.getY() + size * sin(PI * d / 2)); Point2D[] p1 = drawHilbertCurve(cl, size / 2, d - 1); Point2D[] p2 = drawHilbertCurve(cl, size / 2, d); Point2D[] p3 = drawHilbertCurve(cc, size / 2, d); Point2D[] p4 = drawHilbertCurve(br, size / 2, d + 1); if (p1 == null && p2 == null && p3 == null && p4 == null && blockIsWhite(p, q)) { return null; } else { if (p1 == null) { p1 = new Point2D[2]; p1[0] = p1[1] = new Point2D.Double( cl.getX() + size * sqrt(2) * cos(PI * (d - 0.5) / 2) / 4, cl.getY() + size * sqrt(2) * sin(PI * (d - 0.5) / 2) / 4); } if (p2 == null) { p2 = new Point2D[2]; p2[0] = p2[1] = new Point2D.Double( cl.getX() + size * sqrt(2) * cos(PI * (d + 0.5) / 2) / 4, cl.getY() + size * sqrt(2) * sin(PI * (d + 0.5) / 2) / 4); } if (p3 == null) { p3 = new Point2D[2]; p3[0] = p3[1] = new Point2D.Double( cc.getX() + size * sqrt(2) * cos(PI * (d + 0.5) / 2) / 4, cc.getY() + size * sqrt(2) * sin(PI * (d + 0.5) / 2) / 4); } if (p4 == null) { p4 = new Point2D[2]; p4[0] = p4[1] = new Point2D.Double( br.getX() + size * sqrt(2) * cos(PI * (d + 1.5) / 2) / 4, br.getY() + size * sqrt(2) * sin(PI * (d + 1.5) / 2) / 4); } drawLine(p1[0], p2[0]); drawLine(p2[1], p3[0]); drawLine(p3[1], p4[1]); } return new Point2D[]{p1[1], p4[0]}; } }
boolean blockIsWhite(Point2D p, Point2D q) { int l = (int) min(p.getX(), q.getX()); int r = (int) max(p.getX(), q.getX()); int t = (int) min(p.getY(), q.getY()); int b = (int) max(p.getY(), q.getY()); double c = 0; for (int i = l; i < r; ++i) { for (int j = t; j < b; ++j) { c += (srcImage.getRGB(i, j) & 0x0000FF) / 255.0; } } return c / ((b - t) * (r - l)) > threshold * (1 - log(2) / log(b - t)); }
рдЫрд╡рд┐ рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЦрд┐рд▓рд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ рдЧреНрд░реЗ рдХреЗ рд░рдВрдЧреЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЪрдордХ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЯрдХреНрд╕ рдкрд░ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реБрдЖ:

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