static int angle = 0; static int length = 100; static int ratio = 50; static int levels = 3; static int x = 425/2; static int y = 460/2; System::Drawing::Pen^ myPen; System::Drawing::Graphics^ g; System::Drawing::Brush^ myBrush; private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { myPen = gcnew System::Drawing::Pen(Color::Black); } private: System::Void exitToolStripMenuItem1_Click(System::Object^ sender, System::EventArgs^ e) { Close(); } private: System::Void toolStripMenuItem2_Click(System::Object^ sender, System::EventArgs^ e) { angle = 0; drawFractal(); } private: System::Void toolStripMenuItem3_Click(System::Object^ sender, System::EventArgs^ e) { angle = 15; drawFractal(); } private: System::Void toolStripMenuItem4_Click(System::Object^ sender, System::EventArgs^ e) { angle = 30; drawFractal(); } private: System::Void toolStripMenuItem5_Click(System::Object^ sender, System::EventArgs^ e) { angle = 45; drawFractal(); } private: System::Void toolStripMenuItem6_Click(System::Object^ sender, System::EventArgs^ e) { angle = 60; drawFractal(); } private: System::Void toolStripMenuItem7_Click(System::Object^ sender, System::EventArgs^ e) { angle = 75; drawFractal(); } private: System::Void toolStripMenuItem8_Click(System::Object^ sender, System::EventArgs^ e) { angle = 90; drawFractal(); } private: System::Void toolStripMenuItem9_Click(System::Object^ sender, System::EventArgs^ e) { length = 75; drawFractal(); } private: System::Void toolStripMenuItem10_Click(System::Object^ sender, System::EventArgs^ e) { length = 100; drawFractal(); } private: System::Void toolStripMenuItem11_Click(System::Object^ sender, System::EventArgs^ e) { length = 150; drawFractal(); } private: System::Void toolStripMenuItem12_Click(System::Object^ sender, System::EventArgs^ e) { ratio = 45; drawFractal(); } private: System::Void toolStripMenuItem13_Click(System::Object^ sender, System::EventArgs^ e) { ratio = 50; drawFractal(); } private: System::Void toolStripMenuItem14_Click(System::Object^ sender, System::EventArgs^ e) { ratio = 55; drawFractal(); } private: System::Void toolStripMenuItem15_Click(System::Object^ sender, System::EventArgs^ e) { levels = 1; drawFractal(); } private: System::Void toolStripMenuItem16_Click(System::Object^ sender, System::EventArgs^ e) { levels = 2; drawFractal(); } private: System::Void toolStripMenuItem17_Click(System::Object^ sender, System::EventArgs^ e) { levels = 3; drawFractal(); } private: System::Void toolStripMenuItem18_Click(System::Object^ sender, System::EventArgs^ e) { levels = 4; drawFractal(); } private: System::Void toolStripMenuItem19_Click(System::Object^ sender, System::EventArgs^ e) { levels = 5; drawFractal(); } private: System::Void toolStripMenuItem20_Click(System::Object^ sender, System::EventArgs^ e) { levels = 6; drawFractal(); } private: System::Void toolStripMenuItem21_Click(System::Object^ sender, System::EventArgs^ e) { levels = 7; drawFractal(); } private: void drawFractal() { this ->Refresh(); drawBranch(x,y,angle,length,levels); drawBranch(x,y,angle+90,length,levels); drawBranch(x,y,angle+180,length,levels); drawBranch(x,y,angle+270,length,levels); } private: void drawBranch(int x, int y, int ang, int len, int lev) { int newX = x + (int) (Math::Cos(Math::PI* ang/180.0)*len); int newY = y + (int) (Math::Sin(Math::PI* ang/180.0)*len); g = this->CreateGraphics(); g->DrawLine(myPen,x,y,newX,newY); myBrush = gcnew System::Drawing::SolidBrush(Color::Red); System::Drawing::Rectangle myRect(x,y,Math::Abs(newX-x), Math::Abs(newY-y)); g->DrawRectangle(myPen,myRect); g->FillRectangle(myBrush,myRect); if (lev > 1) { drawBranch(newX,newY,ang,len*ratio/100,lev-1); drawBranch(newX,newY,ang+90,len*ratio/100,lev-1); drawBranch(newX,newY,ang+270,len*ratio/100,lev-1); } } private: void newColor() { } };