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



рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддрд░рд╣, рдЙрдиреНрд╣реЛрдВрдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЛрдб рд▓рд┐рдЦреЗ, 1993 рдореЗрдВ рдмреЗрд╕рд┐рдХ рдСрди рд╕реНрдкреЗрдХреНрдЯреНрд░рдо, рдлрд┐рд░ рдкрд╛рд╕реНрдХрд▓, рд╕реА ++ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореЙрдирд┐рдЯрд░ рдмреЗрд╣рддрд░ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдмрдбрд╝рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рддреЗрдЬрд╝ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореИрдВрдиреЗ "рдореЗрд░реА рдЬрд╡рд╛рдиреА рдпрд╛рдж рд░рдЦрдирд╛" рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ :) рдореИрдВрдиреЗ C # рдореЗрдВ рдПрдХ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХрд▓рд╛рдХрд╛рд░ (GDI + рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рд▓рд┐рдЦрд╛ рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рд░рд▓ рд╣реИ:
- рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдШреБрдорд╛рд╡рджрд╛рд░ рд░реЗрдЦрд╛ рдмрдирд╛рдПрдВ;

- рд╣рдо рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ "рд╕реНрдерд╛рдиреАрдп" рдХреЗрдВрджреНрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдХреНрд░рдорд┐рдХ рдШреБрдорд╛рд╡ рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдПрдХ "рд╕рд░реНрдХрд▓" рдкреНрд░рд╛рдкреНрдд рд╣реЛ;

- рд╣рдо рдЗрд╕ "рд╕рд░реНрдХрд▓" рдХреЛ рдХрдИ рдмрд╛рд░ "рдЖрдо" рдХреЗрдВрджреНрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдореЛрдбрд╝рддреЗ рд╣реБрдП рднреА рд╣рдореЗрдВ "рдкрд░рдд" рдорд┐рд▓рддреА рд╣реИ;

- рдЗрд╕ рддрд░рд╣ рд╣рдо рдХрдИ "рд▓реЗрдпрд░реНрд╕" рдмрдирд╛рддреЗ рд╣реИрдВ, рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ рд╕реБрдкрд░рдЗрдВрдкреЛрдЬрд╝ рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣реА рд╣реИ, рдпрд╣ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдереЛрдбрд╝рд╛ рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЛрдб рд╕реАрдзрд╛ рд╣реИ:
Parameters.Color = GetRandomColor(); var stars = new Star[Parameters.Random.Next(Parameters.MinStarCount, Parameters.MaxStarCount)]; for (var i = 0; i < stars.Length; i++) { stars[i] = new Star(); stars[i].GenerateRandom(); } progressBar.Maximum = stars.Length + 1; var bitmap = new Bitmap(Parameters.PictureSide, Parameters.PictureSide); progressBar.Increment(1); using (var gr = Graphics.FromImage(bitmap)) { gr.SmoothingMode = SmoothingMode.HighQuality; gr.Clear(Color.Empty); gr.TranslateTransform((float)bitmap.Width / 2, (float)bitmap.Height / 2); foreach (var star in stars) { star.Draw(gr); progressBar.Increment(1); } } pictureBox.Image = bitmap;
рдФрд░
public void Draw(Graphics gr) { var rad = Parameters.PictureSide / 2; float radius = Parameters.Random.Next(Splines.Spline.MaxRadius, rad - Splines.Spline.MaxRadius); try { Splines.Start(); float phase = Parameters.Random.Next(360); var oldMatrix = gr.Transform; for (var i = 0; i < RayCount; i++) { var angle = 360f * (i / (float)RayCount); gr.RotateTransform(phase + angle); gr.TranslateTransform(radius, 0); Splines.Draw(gr); gr.Transform = oldMatrix; } } finally { Splines.Stop(); } }
рдФрд░
public void Draw(Graphics gr) { var oldMatrix = gr.Transform; for (var i = 0; i < _rotateCount; i++) { var angle = 360f * (i / (float)_rotateCount); gr.RotateTransform(angle); Spline.Draw(gr); gr.Transform = oldMatrix; } }
.NET 4 рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд (Win7 64-рдмрд┐рдЯ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдЕрдзрд┐рдХрддрдо рдЫрд╡рд┐ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди 460 рдореЗрдЧрд╛рдкрд┐рдХреНрд╕рд▓ (22 рд╣рдЬрд╛рд░ рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдХрд┐рдирд╛рд░реЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд░реНрдЧ) рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рддрд╕реНрд╡реАрд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
рдмреЗрд╢рдХ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рднреА рд╕рдВрдпреЛрдЬрди рд╕рдлрд▓ рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ, рдЖрдВрдЦ рд╕реЗ рдореИрдВ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд╕рдлрд▓ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓рдЧрднрдЧ 15 рдорд┐рдирдЯ рдореЗрдВ рдЖрдк рджрд░реНрдЬрдиреЛрдВ рдЕрджреНрд╡рд┐рддреАрдп рдЪрд┐рддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣
рдпрд╣рд╛рдВ рдФрд░
рдпрд╣рд╛рдВ (рдПрдХ рдЕрдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо) рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЕрд╡рдХрд╛рд╢ рдХреЗ рд╕рдордп рднреА рдЖрд▓рд╕реА рдирд╣реАрдВ рдерд╛,
рдбреАрдкрдЬрд╝реВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдкрд░ рдЗрди рдЪрд┐рддреНрд░реЛрдВ рдХреА рдПрдХ рдЧреИрд▓рд░реА
рдмрдирд╛рдИрд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:








рдкреБрдирд╢реНрдЪ: рдЬрдм рдореБрдЭреЗ рдХрд╛рдо рд╕реЗ рдШрд░ рдорд┐рд▓рд╛, рддреЛ рдореБрдЭреЗ рд▓реЗрдЦ рдкрд░ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВред рдЖрдкрдХреА рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ
рд╕рдВрдХрд▓рд┐рдд рдкреНрд░рдпреЛрдЧ
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ - рдореИрдВ рднреА рдХреЛрдб рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВред рдЕрдм рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЛрдб рдореЗрдВ рд╕реАрдзреЗ рд╕реАрд╡рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбреЙрдЯрдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ 4 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрддреНрдкрдиреНрди рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ - 4096 x 4096 рдкрд┐рдХреНрд╕реЗрд▓ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдиреНрдпреВрдирддрдо рд╣реИред рдирдпрд╛ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдмрд╛рдХреА рдореЗрдиреНрдпреВ рдкрд░ рд╣реИред
рдкрд╛рдардХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдореИрдВ
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ
рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдЕрдзреНрдпрдпрди (
рджрд░реНрдкрдг ) рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВред
PPPS рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдФрд░ PM рдореЗрдВ рдЖрдЗрд╡реА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ
рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди
рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рд╕рдВрдХрд▓рд┐рдд exe-shnik (
рджрд░реНрдкрдг )ред