package graphtest; import javax.swing.*; import java.awt.*; // клас Panel нащадок JPanel - public class Panel extends JPanel { int itask =4; // 1 - графік лінійної функції // 2 - квадратичної функції // 3 - раціональної функції // 4 - фігура Ліссажу private double x (double t) { if (itask==4) {return Math.cos(5*t);} else {return t;} } private boolean def (double t) { if (itask==3) {return (t!=0.5);} else {return true;} } private double y (double t) { switch (itask) { case 1: return t/2+0.75; case 2: return t*t/4+t/3-0.25; case 3: return (t/8+0.0625)/(2*t-1); case 4: return Math.sin(7*t); } return 0; } @Override // переозначення методу малювання public void paintComponent (Graphics g) { int nx=600, // розмір зображення по горизонталі ny=600, // розмір зображення по вертикалі nj=2000, // кількість ланок ламаної - наближення графіка txx=15, // зсув підпису x по горизонталі від краю рисунка txy=15, // зсув підпису x по вертикалі від осі абсцис tyx=15, // зсув підпису y по горизонталі від осі ординат tyy=15, // зсув підпису y по вертикалі від краю рисунка ax=3, // половина розміру по горизонталі стрілки на осі ординат ay=8; // половина розміру по вертикалі стрілки на осі абсцис double t0=-10, // найменше значення аргумента t1=10, // найбільше значення аргумента x0=-1.1, // найменше значення абсциси на рисунку x1= 1.1, // найбільше значення абсциси на рисунку y0=-1.1, // найменше значення ординати на рисунку y1= 1.1, // найбільше значення ординати на рисунку dx=x1-x0, // приріст абсциси на рисунку dy=y1-y0, // прирiст ординати на рисунку dt=(t1-t0)/nj, // прирiст аргумента між вершинами ламаної t, // поточне значення параметра t tp; // попереднє значення параметра t int ix=0, // екранна координата по горизонталі поточної точки iy=0, // екранна координата по вертикалі поточної точки ixp=0, // екранна координата по горизонталі попередньої точки iyp=0; // екранна координата по вертикалі попередньої точки super.paintComponent(g); g.setColor(Color.black); Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(2)); // Встановити товщину лінії 2 пікселі g2.setFont(new Font("Serif", Font.ITALIC, 20)); if ((x0<0) && (0