Изобразить равнобедренный треугольник, вращающийся с постоянной угловой скоростью вокруг своей высоты - Pascal
Формулировка задачи:
Изобразить равнобедренный треугольник, вращающийся с постоянной угловой скоростью вокруг своей высоты, расположенной параллельно вертикальной оси экрана.
Решение задачи: «Изобразить равнобедренный треугольник, вращающийся с постоянной угловой скоростью вокруг своей высоты»
textual
Листинг программы
- var
- Form1: TForm1;
- a,h,x0,y0,x,dx:integer;
- f:boolean;
- implementation
- {$R *.dfm}
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- a:=(PaintBox1.Width-40) div 2;
- h:=PaintBox1.Height-40;
- x:=a;
- x0:=PaintBox1.Width div 2;
- y0:=PaintBox1.Height-20;
- dx:=1;
- f:=true;
- doublebuffered:=true;
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- Timer1.Enabled:=true;
- Timer1.Interval:=10;
- end;
- procedure TForm1.PaintBox1Paint(Sender: TObject);
- begin
- with PaintBox1.Canvas do
- begin
- brush.Color:=clWhite;
- fillrect(Cliprect);
- pen.Color:=clRed;
- moveto(x0-x,y0);
- lineto(x0,y0-h);
- lineto(x0+x,y0);
- lineto(x0-x,y0);
- end;
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- if f then x:=x-dx
- else x:=x+dx;
- if(x<=0)or(x>=a)then f:=not f;
- PaintBox1.Repaint;
- end;
Объяснение кода листинга программы
- Создаётся форма с именем Form1.
- Переменные a, h, x0, y0, x, dx и f инициализируются значениями, полученными из свойств PaintBox1.
- Устанавливается свойство doublebuffered в значение true.
- В методе FormCreate вызывается метод PaintBox1.Paint.
- Создаётся кнопка с именем Button1.
- При нажатии на кнопку вызывается метод Button1Click.
- В методе Button1Click устанавливается свойство Interval таймера Timer1 в 10.
- В методе PaintBox1.Paint рисуется равнобедренный треугольник с помощью функций brush и moveto, lineto и fillrect.
- В методе Timer1Timer происходит изменение значения переменной x в зависимости от значения переменной f.
- Если значение x становится меньше нуля или больше или равно a, то значение переменной f меняется на противоположное.
- После каждого изменения значения x вызывается метод Repaint для обновления изображения на форме.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д