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





рдХреНрдпреЛрдВ рдирд╣реАрдВ?





рдЦреИрд░, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдпреЗ рд╕рднреА рд╕реБрдВрджрд░ рддрд░реНрдХ рдЕрдм рддрдХ рд░реИрдЦрд┐рдХ рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрд╖рд┐рддрд┐рдЬ рдкрд░ рдПрдХ рд▓рдШреБрдЧрдгрдХ рд╣реИред рд╡рд╣рд╛рдБ рд╢реИрддрд╛рди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛!
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдмрд╛рдд рд╣реИред рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рд▓рд╛рдЗрди рд╣реЛрдЧреА, рдпрд╛ рдмрд▓реНрдХрд┐, рдмрд╣реБрдд рд╕рд╛рд░реА рд▓рд╛рдЗрдиреЗрдВ рд╣реЛрдВрдЧреАред рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдВрдЧреЗ?
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╢реБрд░реВ рд╕реЗ рд╣реА рд╕рдордиреНрд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рддреЛ, рдЪрд▓реЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рд╕рд╣рдордд рд╣реИрдВ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирд┐рд░реНрднрд░рддрд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рд╣реИ



рд▓реЗрдХрд┐рди рдЕрдм рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдПрдХ рддрд░рдл рд░рдЦ рджреЗрдВ - рдХреНрдпрд╛ рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрдкрдирд╛ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИ (рдЯреАрдХреЗ рдпрд╛рдж рд░рдЦреЗрдВ)? рдФрд░ рдЙрди рдмрд╣реБрдд рд╕рд╛рд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдкреВрдЫреЗрдВ

рдкреНрд░рдХреНрд╖реЗрдк
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдИ рдмрд┐рдВрджреБ рдЬреНрдЮрд╛рдд рдереЗ

![]() | ![]() |
---|---|
180 | 100 |
6000 | 0 |
30000 | -30 |
рдЗрддрдиреА рдЧрд░реНрдо рдФрд░ рдмрдбрд╝реА рдореЗрдЬ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА рдЦрд╛рд▓реА рдЬрдЧрд╣реЗрдВ рд╣реИрдВред рдФрд░ рдХреНрдпрд╛ рдкреНрд░рддрд┐рд░реЛрдз 60╦Ъ, -40 resistance, ... рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ? рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдкрдХреЛ рд▓рд╛рдкрддрд╛ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдиреАрдЪреЗ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рд╣рдореЗрдВ рдкреНрд░рдХреНрд╖реЗрдк , рд╕рдиреНрдирд┐рдХрдЯрди рдФрд░ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪрд┐рдВрддрд┐рдд рдордд рд╣реЛ - рдЖрдВрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ рдкреНрд░рдХреНрд╖реЗрдк рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред




рдмрд╣реБрдкрдж рдХреА рдЧрдгрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ


рдореИрде рдбрд░ рдЧрдпрд╛? рд╣рдореНрдо ... рдареАрдХ рд╣реИ, рдореИрдВ C ++ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛:
typedef qreal Real; Real Lagranj (Real X) { static const int n = 3; static Real y[n] = {100, 0, -30}; static Real x[n] = {180, 6000, 30000}; Real L, l; int i, j; L = 0; for (i = 0; i < n; ++i) { l = 1; for (j = 0; j < n; ++j) if (i != j) l *= (X - x[j]) / (x[i] - x[j]); L += y[i] * l; } return L; } int main (int argc, char *argv[]) { Real y; y = Lagranj (180); y = Lagranj (500); y = Lagranj (1000); y = Lagranj (6000); y = Lagranj (10000); y = Lagranj (30000); y = Lagranj (0); y = Lagranj (100000); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рддреБрдЪреНрдЫ рд╣реИ (рдмрд╣реБрдкрдж рдХреИрд╕реЗ рддреБрдЪреНрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
рд▓реИрдЧреНрд░реЗрдВрдЬ рдмрд╣реБрдкрдж рдХрд╛ рдПрдХ рдФрд░ рдмрдбрд╝рд╛ рдлрд╛рдпрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕реЗрд▓ рдЯреЗрдмрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред
рдлрд┐рд░, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдЙрджрд╛рд╕ рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдмрд╣реБрдкрдж, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХреА рддрд░рд╣, рдЧреНрд░рд╛рдл рдкрд░ рдХрдВрдкрди рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╡реЗ рд╕реАрдзреА рд░реЗрдЦрд╛рдПрдВ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ - рдирд┐рд░рдВрддрд░ рдорд╛рдиред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЬрд░реВрд░реА рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрд╛ - рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдорд╛рдиреНрдп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдЭреБрдХ рдЧрдПред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рддреНрдпрд╛рдЧрдирд╛ рдкрдбрд╝рд╛ ...


рдЧрдгрд┐рдд рдХреА рднрд╛рд╖рд╛ рдореЗрдВ, рд╣рдо рдЕрдВрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╣реИрдВ
рдлрд┐рд░, рд╕реА ++ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
typedef qreal Real; Real Linear (Real X) { static const int n = 3; static Real y[n] = {100, 0, -30}; static Real x[n] = {180, 6000, 30000}; static Real k[n] = { (y[1] - y[0]) / (x[1] - x[0]), (y[2] - y[1]) / (x[2] - x[1]), (y[3] - y[2]) / (x[3] - x[2])}; static Real b[n] = { y[0] - k[0] * x[0], y[1] - k[1] * x[1], y[2] - k[2] * x[2]}; int i; // . ? if (X <= x[0]) return y[0]; else if (X >= x[n-1]) return y[n-1]; // . ? for (i = 0; i < n-1; ++i) if (X == x[i]) return y[i]; // . ? for (i = 0; i < n-1; ++i) if (X >= x[i] && X <= x[i + 1]) return k[i] * X + b[i]; return 0; // - !!! } int main (int argc, char *argv[]) { Real y; y = Linear (180); y = Linear (500); y = Linear (1000); y = Linear (6000); y = Linear (10000); y = Linear (30000); y = Linear (0); y = Linear (100000); }
рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рдХреБрдЫ рднреА рдирд╣реАрдВ, рдХреНрдпрд╛ рдпрд╣ рд╣реИ?
рд▓реИрдЧрд░реЗрдВрдЬ рдмрд╣реБрдкрдж рдФрд░ рд░реИрдЦрд┐рдХ рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ: рдкрд╣рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд╣рд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЙрдирдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рджреВрд╕рд░рд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд░реИрдЦрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ - рдПрдХ рд▓рдШреБрдЧрдгрдХреАрдп рдкреИрдорд╛рдиреЗ рдкрд░, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛, рд░реИрдЦрд┐рдХ рдЦрдВрдб рдореБрдЭреЗ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдХрд▓реНрдк рджреЗрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдм рд╣рдо рдкреНрд░рдХреНрд╖реЗрдк рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЪрд▓реЛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рд╣рдо рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рд▓реЗрдВрдЧреЗ
рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ / рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рдХреНрд▓рд╛рд╕
рдпрд╣ рд╡рд░реНрдЧ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдХрдХреНрд╖рд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
- рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдореВрд▓реНрдп рдХреЛ рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП - рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ;
- рдкреНрд░рдХреНрд╖реЗрдк рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ (рдЪрд╛рд▓ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐) - рдХреБрдЫ рд╕рдордиреНрд╡рдп рдореЗрдВ рджрдмрд╛рдиреЗ / рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рддрдереНрдп рдЗрдирдкреБрдЯ рдХреЛ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреИрд░рд╛рдореАрдЯрд░ рдкреБрдирд░реНрдЧрдгрдирд╛ рд╣реЛрддреЗ рд╣реИрдВ;
- рд╕рд┐рдВрдЧрд▓ рдФрд░ рдбрдмрд▓ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ - рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдВрдЧрд▓ рдХреНрд▓рд┐рдХ, рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдЖрдВрджреЛрд▓рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ; рдбрдмрд▓ рдПрдХ рдирдпрд╛ рдмрд┐рдВрджреБ рдмрдирд╛рддрд╛ рд╣реИ;
- рдЬрдм рд╡реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдФрд░ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдХреНрд╖реЗрдк рдкреНрд░рдХреНрд╖реЗрдк рдмрд┐рдВрджреБ - рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХреНрд╖реЗрдк рддрд░реАрдХреЛрдВ рдореЗрдВ рдкреНрд░рдХреНрд╖реЗрдк рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рд╡рд╛рд▓реЗ рдорд╛рди рд╣реЛрдВрдЧреЗ, рдлрд┐рд░ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдЙрдиреНрд╣реЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХреНрд╖реЗрдк рдореЗрдВ, рдмрд┐рдВрджреБ рдЧреНрд░рд╛рдл рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ; рд╕рдиреНрдирд┐рдХрдЯрди рдореЗрдВ, рдмрд┐рдВрджреБ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ; рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЧреНрд░рд╛рдл рдкрд░ рдирд┐рд╣рд┐рдд рд╣реИ, рдмреЗрдЬрд┐рдпрд░ рдШрдЯрддрд╛ рдореЗрдВ, рдХреБрдЫ рдмрд┐рдВрджреБ рдЧреНрд░рд╛рдл рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВ, рднрд╛рдЧ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ);
- рд╡рд░реНрддрдорд╛рди рдЧрддрд┐рдорд╛рди рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреЗрдВ - рдЗрд╕ рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ;
- рд╕реЗрд╡рд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ?", "рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?", "рдЕрдВрдХ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ", рдЖрджрд┐ рдпреЗ рдбреЗрдЯрд╛ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреЗ;
- рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрдирд╛рдПрдВ - "рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВ", "рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░реЗрдВ" - рдпрд╣ рд╣рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЧрдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдЕрднреА рднреА рд╡рд┐рдЪрд╛рд░ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдЬреЛрдбрд╝реЗрдВ!
рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд░реНрдЧ рдирд┐рдХрд▓рд╛:
class FunctorBase { protected: virtual QPointF &get_point (const int Pos) = 0; // virtual QPointF get_point (const int Pos) const = 0; // public: // . virtual void MouseClicked (const QPointF &Pt) = 0; // Pt virtual void MouseDblClicked (const QPointF &Pt) = 0; // Pt virtual void MouseReleased (void) = 0; // virtual void MouseMove (const QPointF &Pt) = 0; // ( ), Pt virtual void DrawPoints (QPainter &p, const ScaleBase &X, const ScaleBase &Y, const int ptRadius, QPen &pnCircle, QBrush &brCircle) = 0; // , virtual void DrawCurPoint (QPainter &p, const ScaleBase &X, const ScaleBase &Y, const int ptRadius, QPen &pnCircle, QBrush &brCircle) = 0; // ( , ) // . virtual qreal f (const qreal t) const = 0; // virtual QPointF *point (void) const = 0; // ; - NULL virtual bool is_specified (void) const = 0; // virtual int num_points (void) const = 0; // QPointF point (const int Num) const; // // . virtual bool set_points (const int Num) = 0; // ; QPointF &point (const int Num); // void set_point (const int Num, const QPointF &Pt); // // . qreal operator() (const qreal t) const { return f(t); } // operator bool (void) const { return is_specified (); } // QPointF &operator[] (const int Num) { return point (Num); } // QPointF operator[] (const int Num) const { return point (Num); } // }; // class FunctorBase inline QPointF &FunctorBase::point (const int Num) { Q_ASSERT_X (Num < num_points (), "receiving points", (QString ("incorrect point index %1 for array size %2 is used"). arg (Num). arg (num_points())).toAscii().constData()); return get_point (Num); } inline QPointF FunctorBase::point (const int Num) const { Q_ASSERT_X (Num < num_points (), "receiving points", (QString ("incorrect point index %1 for array size %2 is used"). arg (Num). arg (num_points())).toAscii().constData()); return get_point (Num); } void FunctorBase::set_point (const int Num, const QPointF &Pt) { point (Num) = Pt; }
(рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдореЗрд░реА рд╢реИрд▓реА рдФрд░ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдЕрд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ - рдЙрджреНрджреЗрд╢реНрдпрдкреВрд░реНрд╡рдХ рдмреЗрд╣рддрд░ рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВ!)
(рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЦреЛрдЬрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП - рдзрдиреНрдпрд╡рд╛рдж!)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд▓рд┐рдП, рдмрд┐рдВрджреБ рдХреЛ QPointF (рдХреНрдпреВрд░рд┐рдпрд▓, рдХреНрдпреВрд░рд┐рдпрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред "рдПрдЖрд░рдПрдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдбрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ" - рдЬреИрд╕рд╛ рдХрд┐ рдХреНрдпреВрдЯреА 4.8 рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ )ред
рдорд╛рдЙрд╕ рдмрдЯрди
MouseClicked
MouseDblClicked
, MouseReleased
, MouseReleased
рдФрд░ MouseReleased
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрдВрдЧреАредрдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
DrawPoints
рдФрд░ DrawCurPoint
рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЗрди рддрд░реАрдХреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдореВрд░реНрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдХреНрд░реАрди-рдЙрдиреНрдореБрдЦ рд▓реЛрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, ScaleBase
рдХреНрд▓рд╛рд╕ рдХреА рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рднреА рдЖрднрд╛рд╕реА рд╣реИред рдЙрдирдХреЗ рдкреВрд░реНрд╡рдЬ рдЕрдореВрд░реНрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░реАрди рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдиреАрдЪреЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛редрдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд░реНрддрдорд╛рди рдорд╛рди
f (const qreal)
рд╡рд┐рдзрд┐ рдФрд░ рдЕрддрд┐рднрд╛рд░рд┐рдд рдСрдкрд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди operator() (const qreal)
редрд╕рдВрд░рдЪрдирд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
set_points (Num)
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, point (Num)
, set_point (Num)
, get_point (Num)
рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред num_points () const
- рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, point (Num) const
get_point (Num) const
, get_point (Num) const
рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рджреА рдЧрдИ true
рддреЛ is_specified () const
true
рд╣реИредрдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд▓рд┐рдЦреЗрдВрдЧреЗред
рдКрд░реНрдзреНрд╡рд╛рдзрд░ / рдХреНрд╖реИрддрд┐рдЬ рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдкрд╛рдВрддрд░рдг рд╕рдорд╛рд░реЛрд╣
рд░реИрдЦрд┐рдХ рдФрд░ рд▓рдШреБрдЧрдгрдХ рддрд░рд╛рдЬреВ рд╣реИрдВред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдкреИрдорд╛рдиреЗ рдХреЛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдХреНрд╖реИрддрд┐рдЬ рдПрдХ, рд╣рдореЗрдВ рдЪрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░ рд╡рд┐рдХрд▓реНрдк рдорд┐рд▓рддреЗ рд╣реИрдВ:

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

- рдЕрдореВрд░реНрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рд╕реАрдорд╛рдПрдВ рддрд░реНрдХ рдФрд░ рдХрд╛рд░реНрдп рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рд░реБрдЪрддреА рд╣реИрдВред рдпрд╣ рд╣реЛрдЧрд╛
ред
рдХреНрд╖реИрддрд┐рдЬ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдФрд░
ред
рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдХреЗ рд▓рд┐рдПред рдХреЛрдИ рдХреНрд▓рд╛рд╕рд┐рдХ рдЧрд▓рддреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ:
ред
! рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рд╕рдЪрд┐рддреНрд░ рд╣реИ;
- рд╕реНрдХреНрд░реАрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рд╕реАрдорд╛рдПрдВ - рдЪрд┐рддреНрд░ рдХреА рд╕реАрдорд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рдл рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░реАрди рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред рдЧреНрд░рд╛рдл рдкрд░ рдпрд╣
ред
рдХреНрд╖реИрддрд┐рдЬ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рдФрд░
ред
рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдХреЗ рд▓рд┐рдП;
- рд╕реНрдХреНрд░реАрди рд╕рдордиреНрд╡рдп рдХрджрдо - рд╡рд░реНрддрдорд╛рди рдкрд┐рдХреНрд╕реЗрд▓ рдХрджрдо
ред
ред рд╕рд╛рдзрд╛рд░рдг рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдЗрдХрд╛рдИ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди Qt рдореЗрдВ, рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╢реВрдиреНрдп рдЦрд┐рдбрд╝рдХреА рдХреЗ рдКрдкрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП,
ред рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрджрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ - рд░реВрдкрд╛рдВрддрд░рдг рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрдХреНрд╖ рд╣реИ рдпрд╛ рдирд╣реАрдВ! рдпрд╣ (рдХрд╛рд░реНрдп) рдЗрдирдкреБрдЯ, рдЖрдЙрдЯрдкреБрдЯ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЪрд░рдг рдХреЗ рд╕реАрдорд╛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рд╕реНрдХреЗрд▓ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ рдХреНрд▓рд╛рд╕
рдЖрдЗрдП рдПрдХ рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреНрд▓рд╛рд╕ рдХреА рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗрдЧрд╛:
- рд╕реНрдХреНрд░реАрди рд╕рдордиреНрд╡рдп рд╕реЗ рд╕рд╛рд░ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди - рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ;
- рд░реВрдкрд╛рдВрддрд░рдг рд╕реЗрдЯрд┐рдВрдЧ рднреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИ;
- рдЧреБрдг - рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдЧреБрдг (рдиреНрдпреВрдирддрдо / рдЕрдзрд┐рдХрддрдо рдорд╛рди, рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрджрдо);
- рдЧреНрд░рд┐рдб рдХреА рдЬрд╛рдирдХрд╛рд░реА - рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдореЛрдЯреЗ рдФрд░ рдорд╣реАрди рдЧреНрд░рд┐рдб, рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ред
рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:
class ScaleBase { public: // . virtual qreal scr (const qreal Val) const = 0; // virtual qreal val (const qreal Scr) const = 0; // // . virtual const QVector<qreal> &scr_values (void) const = 0; // , [ ( )] int num_scr_values (void) const; virtual const QVector<int> &scr_min_grid (void) const = 0; // int num_scr_min_grid (void) const; virtual const QVector<int> &scr_maj_grid (void) const = 0; // int num_scr_maj_grid (void) const; virtual const QVector<int> &scr_text_pos (void) const = 0; // int num_scr_text_pos (void) const; virtual const QVector<QString> &scr_text_str (void) const = 0; // int num_scr_text_str (void) const; // . virtual qreal val_min (void) const = 0; // , virtual qreal val_max (void) const = 0; // , virtual qreal scr_min (void) const = 0; // virtual qreal scr_max (void) const = 0; // virtual bool is_specified (void) const = 0; // // . virtual void set_val_min (const qreal Val) = 0; // , virtual void set_val_max (const qreal Val) = 0; // , virtual void set_scr_min (const qreal Src) = 0; // virtual void set_scr_max (const qreal Src) = 0; // virtual void set_scr_point (const qreal Src) = 0; // () // . void Resized (const qreal Size) = 0; // // . operator bool (void) const { return is_specified (); } // }; // class ScaleBase int ScaleBase::num_scr_values (void) const { return scr_values().size(); } int ScaleBase::num_scr_min_grid (void) const { return scr_min_grid().size(); } int ScaleBase::num_scr_max_grid (void) const { return scr_max_grid().size(); } int ScaleBase::num_scr_text_str (void) const { return scr_text_str().size(); } int ScaleBase::num_scr_text_pos (void) const { return scr_text_pos().size(); } virtual qreal ScaleBase::scr_step (const int Num) const { Q_ASSERT_X (Num < num_scr_values (), "receiving step", (QString ("incorrect step index %1 for array size %2 is used"). arg (Num). arg (num_scr_values())).toAscii().constData()); return scr_values()[Num + 1] - scr_values()[Num]; }
рд╕реНрдХреЗрд▓ рд╕рдорд╛рдпреЛрдЬрди
set_... (Val)
рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХ рдорд╛рдиреЛрдВ рдХреА рдкреБрдирд░реНрдЧрдгрдирд╛ рдЙрд╕реА рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЬрдм рд╡рд┐рдВрдбреЛ рдХреЛ Resized (Size)
рд╡рд┐рдзрд┐ Resized (Size)
редрдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдмрд╛рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдмрд┐рдВрджреБ рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдФрд░ рдореВрд▓, рд╕рд╛рд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдЙрд╕рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рд░рдгреА рдХреЛ
scr_values () const
рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдПрдХ рдмрдбрд╝реЗ рдФрд░ рдЫреЛрдЯреЗ рдЧреНрд░рд┐рдб (рдлрд╝рдВрдХреНрд╢рди scr_maj_grid ()
рдФрд░ scr_min_grid ()
рдХреНрд░рдорд╢рдГ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИред рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдореВрд▓реНрдп рд╕реНрдХреНрд░реАрди рдкрд░ рдкреИрдорд╛рдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдСрдлрд╕реЗрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ (рдпрд╛рдиреА, рдкрд╣рд▓реЗ рд╕рд░рдгреА рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ)ред рджреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рднреА рдЕрдЧреНрд░рд┐рдо рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ - рд╢реБрд░реБрдЖрдд ( scr_text_pos ()
рдлрд╝рдВрдХреНрд╢рди) рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдХреЗрд▓ ( scr_text_str ()
рдлрд╝рдВрдХреНрд╢рди) рдФрд░ рдЗрди рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЗ рд╡рд┐рд╕реНрдерд╛рдкрди рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд╛ scr_text_pos ()
редрдЕрдВрдд рдореЗрдВ, рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрд╛рдВрддрд░рдг - рдЕрдореВрд░реНрдд рд╕реЗ рд╕реНрдХреНрд░реАрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рддрдХ -
scr (Val)
рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рд┐рд╡рд░реНрд╕ рд╡реИрд▓ (Scr)
рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрд░реИрдЦрд┐рдХ рд░реВрдкрд╛рдВрддрд░рдг
рдЖрдЗрдП рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрдХреНрд╖ рдХреЗ рд▓рд┐рдП рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред


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

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

(рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдПрдХ рд▓рдШреБрдЧрдгрдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рд╣реИред рдпрд╣ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ рд▓рдШреБрдЧрдгрдХ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛)
рдЕрдЧрд░
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрд▓ рдЕрдВрдХ рд╣реЛрдВрдЧреЗ
рд░реИрдЦрд┐рдХ рдкреИрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдореЗрдВ рд╕реНрдХреНрд░реАрди рд╕реЗ рдЕрдореВрд░реНрдд рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдорд┐рд▓рд╛ - рдЙрд▓рдЯрд╛ рд╕рдорд╕реНрдпрд╛ред рдЕрдм рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рд░реНрдп рдореЛрдб рдПрдХ рдЕрдореВрд░реНрдд рд╕рдордиреНрд╡рдп рд╕реЗ рд╕реНрдХреНрд░реАрди рд╕рдордиреНрд╡рдп рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реИред рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП
рдЗрд╕реЗ рдореВрд▓ рдЧрдгрд┐рдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд┐рд▓реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдпрд╛ рдЧрд▓рддрд┐рдпрд╛рдБ - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛!
рд╕рдордп рдХреЗ рд╕рд╛рде, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ - C ++ рдореЗрдВ Qt рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЧрдгрд┐рдд рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред