рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд░реЗрдЦрд╛рдВрдХрди рдмрдирд╛рдирд╛ рд╣реИред рдЗрдирдкреБрдЯ рдмрд┐рдВрджреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ (x
i ; y
i )ред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЧреНрд░рд╛рдл рдореЗрдВ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ - рдХреЗрд╡рд▓ рдХреБрдЫ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВред рд╡рдХреНрд░ рдХреЗ рдирд┐рд░рдВрддрд░ рдЧреНрд░рд╛рдл рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рдкреНрд░рдХреНрд╖реЗрдк рдпрд╛
рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди, рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдореА рдЕрдиреБрд╕реВрдЪреА рдЯреВрдЯ рдЧрдИ рд╣реИ - рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред
рд▓реИрдЧреНрд░реЗрдВрдЬ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдкреЛрд▓рд┐рдиреЛрдорд┐рдпрд▓
рдПрди + 1 рдЕрдВрдХ рдХреЗ рд▓рд┐рдП рдбрд┐рдЧреНрд░реА рдПрди рдХрд╛ рдПрдХ рдмрд╣реБрдкрджред рдЗрд╕рдХрд╛ рд╕реВрддреНрд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:


рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рджреЛ рдЧрдВрднреАрд░ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ:
1) рдЧрдгрдирд╛ рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд╛рд╢рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
2) рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБрдУрдВ (рдиреЛрдбреНрд╕) рдХреЗ рдмреАрдЪ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ

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

рдореИрдВрдиреЗ
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рд▓рд┐рдП рдЧрдП C # рдХреЛрдб рд╕реЗ рдХреНрдпреВрдмрд┐рдХ рд╕реНрдкрд▓рд╛рдЗрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ред
рдЕрдХреАрдореЛрдВ рдХреЛ рдЪрд┐рдиреНрд╣рд┐рдд рдХрд░реЗрдВ
рдХреНрдпреВрдмрд┐рдХ рд╕реНрдкреНрд▓рд┐рди рдореЗрдВ рдПрдХ рдЦрд╛рдореА рд╣реИ: рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рд╕реЗ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдРрд╕реЗ рд╕реНрдкреНрд▓рд┐рди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд "рдЖрдЙрдЯрд▓реЗрдпрд░" рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд┐рд░реЛрд╢реА рдЕрдХреАрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдкреНрд▓рд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ - рдЕрдХреАрдорд╛ рддрдЦрд╝реНрддрд╛ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд╣реИ:

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

рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг
рдЗрд╕реЗ рдПрдХреНрд╕реЙрди 5560 2.8GHz рд╕рд░реНрд╡рд░, рдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ = 1000 рдкрд░ рд░реЗрдВрдбрд░ рдХрд┐рдП рдмрд┐рдирд╛ 500x500 рдЖрдХрд╛рд░ рдХреЗ рдЧреНрд░рд╛рдл рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд╕рдд рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп, рдПрд╕:
рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛: | 5 | 15 | 50 |
рд╡рд┐рдЪрд┐рддреНрд░ рдмрд╣реБрдкрдж | 1.789 | 5664 | 20,446 |
рдШрдирдЪрдХреНрд░ | 0.153 | 0.230 | 0.313 |
рдЕрдХреАрдореЛрдВ рдХреЛ рдЪрд┐рдиреНрд╣рд┐рдд рдХрд░реЗрдВ | 0.017 | 0.024 | 0.049 |
рдмреЗрдЬрд┐рдпрд░ рд╡рдХреНрд░ | 0.244 | 0.276 | 0.304 |
рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
1) рд▓реИрдЧреНрд░реЗрдВрдЬ рдмрд╣реБрдкрдж рдХреА рдЧрдгрдирд╛ рдХрд╛ рд╕рдордп рдмрдврд╝рддреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИред
2) рдЕрдХреАрдорд╛ рддрдЦрд╝реНрддрд╛ рдХреНрдпреВрдмрд┐рдХ рд╕реЗ рддреЗрдЬрд╝ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
3) рдмреЗрдЬрд╝рд┐рдпрд░ рдХрд░реНрд╡ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЦрд╛рд░реЗрдкрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред
рд╡рд┐рдзрд┐ рдЪрдпрди
рдкрд╣рд▓реЗ рд╕реЛрдЪреЗрдВ: рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдВрдХреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рдХреНрд░ рдЦреАрдВрдЪрдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрджрд┐ рдХреБрдЫ рдмрд┐рдВрджреБ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдЧреНрд░реБрдкрд┐рдВрдЧ рд░реЗрдВрдЬ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдбреЗрдЯрд╛ рдкрд░ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рддрд╛рдкрдорд╛рди) рдкрд░ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдЬреНрдЮрд╛рдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╡рдХреНрд░ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдХреАрдорд╛ рддрдЦрд╝реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ред рдпрджрд┐ рдЕрдВрдХ рд╕реНрд╡рдпрдВ рдПрдХ рдмрдбрд╝реА рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдмреЗрдЬрд╝рд┐рдпрд░ рд╡рдХреНрд░ рдХреЗ рдЧреНрд░рд╛рдл рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдКрдВрдЧрд╛ред
рдПрдВрдЯреАрд▓рд╛рдпрдЬрд╝рд┐рдВрдЧрд╝
рдЬреАрдбреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рд╡рдХреНрд░ рдмрдирд╛рдирд╛ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рдХреНрд░ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪрд░рдг (рдХрдо рд╕реЗ рдХрдо 1 рдкрд┐рдХреНрд╕реЗрд▓) рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрднрд╛рдЧ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреЗ рдмреАрдЪ рд╣рдо рдЗрдореЗрдЬрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдЦрдВрдб рдЦреАрдВрдЪрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, PHP рдХрд╛ рдпрд╣ рд╕реЗрдЧрдореЗрдВрдЯ рдПрдВрдЯреА-рдЕрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рд░реЗрдВрдбрд░ рдХрд░реЗрдЧрд╛ред рд╕реНрдХреНрд░реАрди рд╕реНрдореВрдерд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ - рд╡реВ рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рд╡реВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗрд╡рд▓ so 45 ┬░ рдХреЗ рдХреЛрдг рдкрд░ рд╕реЗрдЧрдореЗрдВрдЯ рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕реЗ "рдШреБрдорд╛рдпрд╛" рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдВрдХрдбрд╝рд╛ рдПрдВрдЯреА-рдЕрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рдк (x) рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдВрдЯреА-рдЕрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдиреАрдЪреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд╖реЗрдк / рд╕рдиреНрдирд┐рдХрдЯрди рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рд▓рд┐рдЦрд╛: рд▓реИрдЧреНрд░реЗрдВрдЬрдкреЙрд▓рд┐рдиреЛрдорд┐рдпрд▓, рдХреНрдпреВрдмрд┐рдХрд╕реНрдкрд▓рд╛рдЗрди, рдЕрдХрд┐рдорд╛рд╕реНрдкреЗрд▓рд┐рди, рдмреЗрдЬрд┐рдпрд░ рдХрд░реНрд╡ред рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреЗ 3 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХреЗ рд╣реИрдВ:
setCoords (& рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ, рдЪрд░рдг, [x_min, [x_max]]) - рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рд╡рдХреНрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧрд▓рдд рд╣реИ
рдкреНрд░рдХреНрд░рд┐рдпрд╛ () - рд╡рдХреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ
getError () - рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ
рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдПрдХ рд╕рд░рдгреА рд╕рд░рдгреА (X1 => y1, x2 => y2 ... xn => yn) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдкреНрд▓реЙрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рдмрд╣реБрдд рдорд╛рдореВрд▓реА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ - рдЧреНрд░рд╛рдл 1: 1 рдкреНрд▓реЙрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд░реНрдЧ рдпрд╛ рдореВрд▓ PHP рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рдзрд┐:
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
drawLine (рдЫрд╡рд┐, рд░рдВрдЧ, [x0, [y0]]) - рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рд░реЗрдЦрд╛ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдЫрд╡рд┐ рд╕рдВрд╕рд╛рдзрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ, рд░рдВрдЧ рдХреЛ imagecolorallocate рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, x0 рдФрд░ y0 рдореВрд▓ рдСрдлрд╕реЗрдЯ (рдЫрд╡рд┐ рдХреЗ рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ) рд╣реИ
drawAALine (рдЫрд╡рд┐, рд░рдВрдЧ, [x0, [y0]]) - antialiasing рдЦрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рд░реЗрдЦрд╛ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдкреИрд░рд╛рдореАрдЯрд░ drawLine рдХреЗ рд╕рдорд╛рди рд╣реИрдВ
рдбреНрд░рд╛рдбреЙрдЯреНрд╕ (рдЫрд╡рд┐, рд░рдВрдЧ, [x0, [y0, [рдЖрдХрд╛рд░]]]) - рдЦрдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЕрдВрдХ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдкреИрд░рд╛рдореАрдЯрд░ рдбреНрд░рд╛рд▓рд╛рдЗрди рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдЖрдХрд╛рд░ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рд╡реНрдпрд╛рд╕ рд╣реИ
рдбреНрд░рд╛рдЕрдХреНрд╕рд┐рд╕ (рдЫрд╡рд┐, рд░рдВрдЧ, [x0, [y0, [1sq]]]] - рдЕрдХреНрд╖ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдкреИрд░рд╛рдореАрдЯрд░ рдбреНрд░рд╛рд▓рд╛рдЗрди рдХреЗ рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдпрджрд┐ 1sq = true (рдбрд┐рдлрд╝реЙрд▓реНрдЯ), рддреЛ рдЕрдХреНрд╖ рдХреЗрд╡рд▓ рдкреНрд░рдердо рдЪрддреБрд░реНрдерд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ - рд╕рдХрд╛рд░рд╛рддреНрдордХ рджрд┐рд╢рд╛ рдореЗрдВ
рдЙрджрд╛рд╣рд░рдг (рдлрд╝рдВрдХреНрд╢рди рдкрд╛рдк (x)):
<? php
// рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдкрд░рд┐рднрд╛рд╖рд┐рдд ( 'GRAPH_WIDTH' , 490 ) ;
рдкрд░рд┐рднрд╛рд╖рд┐рдд ( 'GRAPH_HEIGHT' , 150 ) ;
// рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рд░ рд╡рд░реНрдЧ SmoothCurve
рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ_рдСрдирд╕реЗ ( 'рд╕реНрдореВрдердЪреБрд░рд╡реЗ.рдХреНрд▓рд╛рд╕.рдлреИрдк' ) ;
// рдХреНрдпреВрдмрд┐рдХ рд╕реНрдкрд▓рд╛рдЗрди рдХреНрд▓рд╛рд╕
рд╢рд╛рдорд┐рд▓ рд╣реИрдВ_рдСрдирд╕ ( 'рдХреНрдпреВрдмрд┐рдХрд╕реНрдкрд▓рд╛рдЗрди.рдХреНрд▓рд╛рд╕.рдлреНрдк' ) ;
// рдЖрдк рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
// рд╢рд╛рдорд┐рд▓ рд╣реИрдВ_рд╕рд╛рдВрд╕ ('рдЕрдХреАрдорд╛рд╕реНрдкрд▓рд╛рдЗрди.рдХреНрд▓рд╛рд╕.рдлреНрдк');
// рд╢рд╛рдорд┐рд▓_рдУрдирд╕ ('рдмреЗрдЬрд┐рдПрд░рдХреНрд╡реЗ.рдХреНрд▓рд╛рд╕.рдлреНрдк');
// рдЪрд╛рд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдкрд░ рдХреНрд▓рд╛рд╕
// рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдпрд╛ рджреЗрд╢реА PHP рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╢рд╛рдорд┐рд▓_рдирд╣реАрдВ ( 'рдкреНрд▓реЙрдЯ.рдХреНрд▓рд╛рд╕ . рдПрдлрдкреА' ) ;
// рд╕рд░рдгреА рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░реЗрдВ (X1 => y1, x2 => y2 ... xn => yn)
$ TestCoords [ - 215 ] = - 24.2705098312 ;
$ testCurds [ - 180 ] = 28.5316954889 ;
$ TestCoords [ - 145 ] = - 9.27050983125 ;
$ testCurds [ - 110 ] = - 17.6335575688 ;
$ testCurds [ - 75 ] = 30 ;
$ TestCoords [ - 40 ] = - 17.6335575688 ;
$ TestCoords [ - 5 ] = - 9.27050983125 ;
$ testCurds [ 30 ] = 28.5316954889 ;
$ рдЯреЗрд╕реНрдЯрдХреНрд░реЗрдбреНрд╕ [ 65 ] = - 24.2705098312 ;
$ testCurds [ 100 ] = 0 ;
$ testCurds [ 135 ] = 24.2705098312 ;
$ testCurds [ 170 ] = - 28.5316954889 ;
$ TestCoords [ 205 ] = 9.27050983125 ;
$ testCurds [ 240 ] = 17.6335575688 ;
$ рдЯреЗрд╕реНрдЯрдХрд╛рд░реНрдбреНрд╕ [ 275 ] = - 30 ;
// рдПрдХ рдЯреНрд░рд┐рдХреЛрд▓рд░ рдЗрдореЗрдЬ рдмрдирд╛рдПрдВ (рдПрдВрдЯреА-рдЕрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП)
$ im = imagecreatetruecolor ( GRAPH_WIDTH , GRAPH_HEIGHT ) ;
// рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ
$ bgColor = imagecolorallocate ( $ im , 224 , 223 , 223 ) ;
$ textColor = imagecolorallocate ( $ im , 0 , 0 , 0 ) ;
$ рдПрдХреНрд╕рд┐рд╕рдХрд▓рд░ = рдЗрдореЗрдЬрдХреЛрд▓рд░рд▓реЙрдХреЗрдЯ ( $ im , 64 , 64 , 64 ) ;
$ dotColor = imagecolorallocate ( $ im , 192 , 64 , 64 ) ;
$ рдЧреНрд░реЗрдлреЗрд▓рд░ = рдЗрдореЗрдЬрдХреЛрд▓рд░рд▓реЙрдХреЗрдЯ ( $ im , 64 , 64 , 192 ) ;
// рдкреГрд╖реНрдарднреВрдорд┐
imagefill ( $ im , 0 , 0 , $ bgColor ) ;
// рдПрдХ рдЪрд╛рд░реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
$ testGraph = рдирдпрд╛ рдкреНрд▓реЙрдЯ ( $ testCoords ) ;
// рд╡реИрдХрд▓реНрдкрд┐рдХ: рдЬреНрдЮрд╛рдд рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдбреНрд░рд╛ рдХрд░реЗрдВ
// рдкрд╛рд╕рд┐рдВрдЧ GRAPH_WIDTH / 2 рдФрд░ GRAPH_HEIGHT / 2 рд╣рдо рдЫрд╡рд┐ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдореВрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
$ testGraph -> drawDots ( $ im , $ dotColor , GRAPH_WIDTH / 2 , GRAPH_HEIGHT / 2 , 5 ) ;
// рдПрдХ рддрдЦрд╝реНрддрд╛ рд╡рд╕реНрддреБ рдмрдирд╛рдПрдБ
$ рд╡рдХреНрд░ = рдирдпрд╛ рдХреНрдпреВрдмрд┐рдХрд╕реНрдкреЗрд▓рд┐рди ( ) ;
// рдкрд╛рд╕ рдЗрд╕реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреЗрддрд╛ рд╣реИ, рдЪрд░рдг = 5 рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
$ рд╡рдХреНрд░ -> рд╕реЗрдЯрдХреНрд░реЗрдбреНрд╕ ( $ рдЯреЗрд╕реНрдЯрдЪрд░реНрдбреНрд╕ , 5 ) ;
рдЕрдЧрд░ ( $ рд╡рдХреНрд░ -> getError ( ) )
{
// рд╡рдХреНрд░ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛
$ рд╡рдХреНрд░ = $ рд╡рдХреНрд░ -> рдкреНрд░рдХреНрд░рд┐рдпрд╛ ( ) ;
рдЕрдЧрд░ ( $ r )
{
// рдПрдХ рдФрд░ рдЪрд╛рд░реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ
$ рдХрд░реНрдЯрдЧреНрд░рд╛рдл = рдирдпрд╛ рдкреНрд▓реЙрдЯ ( $ рдХрд░рдХрдЯ ) ;
// рдХрд░реНрд╡ рдбреНрд░рд╛
$ рдХреНрдпреВрд░рдЧреНрд░рд╛рдл -> рдбреНрд░рд╛рд▓рд╛рдЗрди ( $ im , $ рдЧреНрд░реЗрдлреЗрд▓рд░ , GRAPH_WIDTH / 2 , GRAPH_HEIGHT / 2 ) ;
}
}
// рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗрдВ
рд╣реЗрдбрд░ ( "рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЫрд╡рд┐ / рдкреАрдПрдирдЬреА" ) ;
imagepng ( $ im ) ;
imagedestroy ( $ im ) ;
?>
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдпрд╣ рдХрд░реЗрдВ
- рдЖрдк рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ setCoords рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ () рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реИред
- рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВред
- Antialiasing рдХрднреА-рдХрднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдПрдХ "рд╕реАрдврд╝реА" рдПрдХ рдЫреЛрдЯреА рдкрд┐рдЪ рдХреЗ рд╕рд╛рде рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
- рдПрдХ рдмреЗрдЬрд╝рд┐рдпрд░ рд╡рдХреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ X рдХреЗ рд▓рд┐рдП рдХрдИ Y рдорд╛рди рджреЗрдВред
- рдкреНрд▓реЙрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкрд╛рд╕ рди рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреА рд╣реИред
- рдХреЛрдб рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ

рд╕рд╛рд╣рд┐рддреНрдп
рдИрдкреА рдХреБрдЬрд╝рдорд┐рди, рдбреА.рд╡реА. рдХрдВрдкреНрдпреВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рдЗрд╡рд╛рдиреЛрд╡ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореВрд▓ рдмрд╛рддреЗрдВ (рд╡реНрдпрд╛рдЦреНрдпрд╛рди рд╕рдВрдЦреНрдпрд╛ 4)рдкреНрд░рдХреНрд╖реЗрдк рдкреНрд░рдХреНрд╖реЗрдкрдореВрд▓ рд▓реЗрдЦ Akims рджреНрд╡рд╛рд░рд╛рдХреНрдпреВрдмрд┐рдХ рдФрд░ рд╕реНрдкрд╛рдЗрди рдХреА рддреБрд▓рдирд╛ рдЕрдХреАрдорд╛рдмреЗрдЬрд╝рд┐рдпрд░ рдХрд░реНрд╡реНрд╕ рдореЗрдб рд╕рд┐рдВрдкрд▓рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛:
рд╡рд┐рдЪрд┐рддреНрд░ рдмрд╣реБрдкрдж ред
рдШрдирдЪрдХреНрд░рдмреЗрдЬрд┐рдпрд░ рдШрдЯрддрд╛ рд╣реИ