рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореИрдВ рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдХреИрдирд╡рд╛рд╕ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд▓реЗ рд▓рд┐рдпрд╛ред рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдореИрдВрдиреЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╡рд╣ "рдЫрджреНрдо 3 рдбреА" рдореЗрдВ рдорд╛рдирдХ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд░рд╣реА рдереАред рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ winamp plugin рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рд╕реВрд╕реА рдХреА рдФрд░ рдЦреБрдж рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред 2002 рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕реЗ C ++ рдореЗрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдм рдЗрд╕ рдЪрдорддреНрдХрд╛рд░ рдХреЛ HTML рдФрд░ JavaScript рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред
рдореИрдВрдиреЗ рддреБрд░рдВрдд
jCanvasScript рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреИрдирд╡рд╛рд╕ рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ IE8 рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
explorercanvas ред
рдЖрд╢реНрдЪрд░реНрдп рд╢реБрд░реВ рд╕реЗ рд╣реА рд▓рдЧрднрдЧ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреИрдирд╡рд╛рд╕ рдкреВрд░реА рд╕реНрдХреНрд░реАрди рддрдХ рдлреИрд▓рд╛ рд╣реЛ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╕рдВрдкреВрд░реНрдг рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ), рд▓реЗрдХрд┐рди рддрдм рд╕реЗ рдХреИрдирд╡рд╛рд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрдирд╡рд╛рд╕ рдЯреИрдЧ рдХреЗ рд╕рдореНрдорд┐рд▓рди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдереЗред рдХрдбрд╝рд╛рдИ рд╕реЗ рдмреЛрд▓рддреЗ рд╣реБрдП, рдЖрдк рдкреНрд░рддрд┐рд╢рдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЕрдВрджрд░ рдХреА рдЫрд╡рд┐ рдЦрд┐рдВрдЪ рдЬрд╛рдПрдЧреАред рдпрд╣рд╛рдБ рдореБрдЭреЗ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рд╣реИ:
$(window).load(function(){ $("<canvas></canvas>").attr({ 'width': $('body').width(), 'height': $('body').height(), 'id': idCanvas }).appendTo("body"); });
рдореИрдВрдиреЗ рдПрдХ рд╕рд░реНрдкрд┐рд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдорд╛рдиреЛрдВ рдореЗрдВ рдШреВрдорддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдпрд╣ рдкрд╣рд▓реЗ C ++ рдореЗрдВ рдХрд┐рдпрд╛, рдлрд┐рд░ рдореИрдВрдиреЗ "рд╡рд░реНрдХрдкреАрд╕" рд▓рд┐рдпрд╛ рдФрд░ рдЙрдирдХреЗ рддрд░реНрдХ рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ред рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рд░реЛрдЯреЗрд╢рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЪрд░ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд┐рдорд╛рдиреЛрдВ рдореЗрдВ рдЭреБрдХрд╛рд╡ рдХрд╛ рдХреЛрдг рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдЖрд░рдВрднрд┐рдХ рдХреЛрдб:
var settings = { n : 500,
рдлреНрд░реЗрдо рд╕реЗ рдлреНрд░реЗрдо рддрдХ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд:
tx += 0.01*dtx; ty += 0.01*dty; tz += 0.01*dtz;
рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд:
x1 = cos(tx+dx*i*PI)*i; y1 = sin(ty-dy*i*PI)*i; z1 = sin(tz-dz*i*PI)*i; x = x1/(2+z1/2); y = y1/(2+z1/2);
рдЪрд░ рдореИрдВ 0 рд╕реЗ n рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред рдЪрд░ x рдФрд░ y 0 рд╕реЗ 1 рддрдХ рднрд┐рдиреНрди рд╣реЛрдВрдЧреЗ - рдпрд╣ рд╕реНрдХреНрд░реАрди рдХреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд╕рд░реНрдкрд┐рд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдиреНрдп рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЖрдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ; рдореИрдВрдиреЗ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдб рд╕рдВрдкрд╛рджрдХ (рдкреНрд░рд╛рд░рдВрднрд┐рдХрдХрд░рдг, рдлрд╝реНрд░реЗрдо, рдЕрдВрдХ рдФрд░ рдорд┐рд╢реНрд░рдг рдЪрд░) рдХреЗ рд╕рд╛рде рдПрдХ HTML рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдРрд╕реЗ рд╡рд┐рдЪрд┐рддреНрд░ рдЖрдВрдХрдбрд╝реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЦреБрдж рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рдерд╛ред рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ eval рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рджрд╛рдпрд░реЗ рдХреЗ рд╕рд╛рде рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ Math рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦреЗ рдмрд┐рдирд╛ рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдареАрдХ рд╣реИ, рдЬрдм рд╕рдВрдкрд╛рджрдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЬреЛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЙрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреИрджрд╛ рд╣реБрдИред
рдпрд╣рд╛рдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦреЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддреНрд░рд┐рдХреЛрдгрдорд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
CodeMirror рдХреЛрдб рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ