рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЧреЗрдо рдореЗрдВ рдХрд╛рд░ рдХреЗ рдореВрд╡рдореЗрдВрдЯ рдФрд░ рд╕реНрдХрд┐рдбрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдХрд░рдг

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

рдкреНрд░рдмрдВрдзрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдерд╛:



рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рд╕рд░рд▓ рдерд╛: рдорд╢реАрди рдореЗрдВ рд░реЗрдбрд┐рдпрди рдореЗрдВ рдПрдХ рджрд┐рд╢рд╛ рд╣реЛрддреА рд╣реИ, рдПрдХ рдмрдЯрди рдХреЗ рдХреНрд▓рд┐рдХ рдкрд░, рдЗрд╡реЗрдВрдЯ rotateLeft рдпрд╛ rotateRight ред рдпреЗ рддрд░реАрдХреЗ рдорд╢реАрди рдХреА рджрд┐рд╢рд╛ рд╕реЗ рдХреЛрдг рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдирд┐рд░рдВрддрд░ рдореВрд▓реНрдп рдХреЛ рдЬреЛрдбрд╝рддреЗ рдпрд╛ рдШрдЯрд╛рддреЗ рд╣реИрдВред

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

рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЧрддрд┐ рд╡реЗрдХреНрдЯрд░ рдФрд░ рдорд╢реАрди рдХреА рджрд┐рд╢рд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

this.carDirection - рдПрдХ рдХреЛрдг рдЬреЛ рдорд╢реАрди рдХрд╛ рдУрд░рд┐рдПрдВрдЯреЗрд╢рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
this.linearVelocity рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡реЗрдЧ рд╡реЗрдХреНрдЯрд░ рд╣реИред

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



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

 function turnAndTranslate(lineIndex, position) { return [ trace[lineIndex].cos * (position[0] - trace[lineIndex].begin[0]) + trace[lineIndex].sin * (position[1] - trace[lineIndex].begin[1]), trace[lineIndex].sin * (- position[0] + trace[lineIndex].begin[0]) + trace[lineIndex].cos * (position[1] - trace[lineIndex].begin[1]) ]; } 


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



рдХрд╛рд░реНрдпрдХреНрд░рдо рдирдо рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣рд╛рдВ рд╕рд╡рд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред

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


All Articles