Нарисовать силовые линии электрического поля - Pascal ABC
Формулировка задачи:
Добрый день! Скоро защита диплома и я как среднестатистический студент забивал , на это на протяжении года.
Но настал день X. И по практической части мне нужно нарисовать СИЛОВЫЕ ЛИНИИ ЭЛЕКТРИЧЕСКОГО ПОЛЯ.
Помогите пожалуйста.
Картинку я прикреплю
Спойлер
Решение задачи: «Нарисовать силовые линии электрического поля»
textual
Листинг программы
- uses graphABC;
- var x1,x2,yc,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,r1,r2,r3,r4,i:integer;
- u,du:real;
- begin
- setwindowsize(400,400);
- centerwindow;
- yc:=200;
- x1:=100;
- x2:=300;
- setpencolor(clSkyBlue);
- setbrushcolor(clSkyBlue);
- circle(x1,yc,15);
- circle(x2,yc,15);
- r1:=20;
- r2:=70;
- r3:=50;
- r4:=60;
- setpencolor(clBlack);
- u:=0;
- du:=pi/4;
- for i:=1 to 8 do
- begin
- x3:=x1+round(r1*cos(u));
- y3:=yc-round(r1*sin(u));
- x4:=x1+round(r2*cos(u));
- y4:=yc-round(r2*sin(u));
- x5:=x1+round(r4*cos(u));
- y5:=yc-round(r4*sin(u));
- x6:=x1+round(r3*cos(u-pi/70));
- y6:=yc-round(r3*sin(u-pi/70));
- x7:=x1+round(r3*cos(u+pi/70));
- y7:=yc-round(r3*sin(u+pi/70));
- line(x3,y3,x4,y4);
- line(x5,y5,x6,y6);
- line(x5,y5,x7,y7);
- line(x6,y6,x7,y7);
- u:=u+du;
- end;
- u:=0;
- for i:=1 to 8 do
- begin
- x3:=x2+round(r1*cos(u));
- y3:=yc-round(r1*sin(u));
- x4:=x2+round(r2*cos(u));
- y4:=yc-round(r2*sin(u));
- line(x3,y3,x4,y4);
- x5:=x2+round(r3*cos(u));
- y5:=yc-round(r3*sin(u));
- x6:=x2+round(r4*cos(u-pi/80));
- y6:=yc-round(r4*sin(u-pi/80));
- x7:=x2+round(r4*cos(u+pi/80));
- y7:=yc-round(r4*sin(u+pi/80));
- line(x3,y3,x4,y4);
- line(x5,y5,x6,y6);
- line(x5,y5,x7,y7);
- line(x6,y6,x7,y7);
- u:=u+du;
- end;
- setfontsize(12);
- setfontstyle(fsBold);
- textout(x1-4,yc-10,'+');
- textout(x2-3,yc-10,'-');
- end.
Объяснение кода листинга программы
- Импортируется библиотека graphABC.
- Объявляются переменные x1, x2, yc, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7, r1, r2, r3, r4, i, u, du.
- Устанавливается размер окна.
- Вычисляются координаты центров окружностей x1, yc, x2, yc, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7.
- Окружности рисуются с помощью функции circle.
- Устанавливаются цвета линий и текста.
- Задаются начальные значения для силовых линий.
- Задаются параметры для вычисления углов между линиями.
- Задаются координаты точек для линий.
- Рисуются линии с помощью функции line.
- Выводится текст с помощью функции textout.
- Завершается программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д