Нарисовать силовые линии электрического поля - 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.
- Завершается программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д