pattern Bezier Curve (C #)author JlgzwBezier is a French engineer. The Bezier curve he invented can be said to be a wonderful curve that creates beautiful images. A Bezier curve is uniquely defined by 4 dots, including "Start", "End", and "control points." Where the position of the "control point" determines the shape of the curve. Here's a little program that I've modeled on the screen saver "Bezier curves" that Windows brings. It can also set the number of Bezier curves and the number of rings, just modify the icount and inumber these two variables. //----------------------------------------------
RandomBezier.cs @2007 by JL Gzw
//----------------------------------------------
Using System;
Using System.Drawing;
Using System.windows.forms;class Randombezier:form
{
Variable icount represents the number of Bezier curves
const int icount = 2;
Variable inumber the number of rings
const int inumber = 3; Private point[] Ptarr = new point[4 * icount-(iCount-1)]; public static void Main ()
{
Application.Run (New Randombezier ());
}
Public Randombezier ()
{
Text = "pattern Bezier curve";
This. BackColor = Color.Black;
Timer timer = new timer ();
Timer. Interval = 100;
Timer. Tick + = new EventHandler (Timerontick);
Timer. Start ();
}
void Timerontick (Object obj, EventArgs ea)
{
Random rand = new Random (); Graphics Grfx = CreateGraphics ();
Erases the old Bezier curve.
for (int j = 0; J < Inumber; J + +)
{
for (int i = 0; i < 4 * icount-(iCount-1); i++)
{
Ptarr[i]. X + 5;
Ptarr[i]. Y + 5;
}
Grfx. DrawBeziers (New Pen (Color.Black, 1), Ptarr);
Point Ptbeg = new Point (0,0);
Gets the coordinates of the new Bezier curve.
for (int i = 0; i < 4 * icount-(iCount-1); i++)
{
Ptarr[i] = new Point (rand. Next (Math.min (Clientsize.width, clientsize.height)),
Rand. Next (Math.min (Clientsize.width, clientsize.height));
Color color = Color.FromArgb (rand. Next (256), Rand. Next (256), Rand. Next (256));
Draw a new Bezier curve. The number of outer loop control loops.
for (int j = 0; J < Inumber; J + +)
{
Grfx. DrawBeziers (New Pen (color, 1), Ptarr); for (int i = 0; i < 4 * icount-(iCount-1); i++)
{
Ptarr[i]. X = 5;
Ptarr[i]. Y-= 5;
}
} Grfx. Dispose ();
}
}
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.