private void drawCurves(Graphics g) { g.setColor(biorhythmGraphColor); g.fillRect(0, 35, width, 150); int oldX = -3 * gridWidth; int oldYPhysical = (int)(amplitude * Math.sin((double)(-3 - 18) * Math.PI / 12.0)); int oldYSensitivity = (int)(amplitude * Math.sin((double)(-3 - 22) * Math.PI / 12.0)); int oldYIntellectual = (int)(amplitude * Math.sin((double)(-3 - 2) * Math.PI / 12.0)); for (int i = -2; i < 27; i++) { int x = i * gridWidth; int yPhysical = (int)(amplitude * Math.sin((double)(i - 18) * Math.PI / 12.0)); int ySensitivity = (int)(amplitude * Math.sin((double)(i - 22) * Math.PI / 12.0)); int yIntellectual = (int)(amplitude * Math.sin((double)(i - 2) * Math.PI / 12.0)); g.setColor(physicalColor); g.drawLine(oldX + PHYSICAL_ORIGIN_X, oldYPhysical + ORIGIN_Y, x + PHYSICAL_ORIGIN_X, yPhysical + ORIGIN_Y); g.setColor(sensitivityColor); g.drawLine(oldX + SENSITIVITY_ORIGIN_X, oldYSensitivity + ORIGIN_Y, x + SENSITIVITY_ORIGIN_X, ySensitivity + ORIGIN_Y); g.setColor(intellectualColor); g.drawLine(oldX + INTELLECTUAL_ORIGIN_X, oldYIntellectual + ORIGIN_Y, x + INTELLECTUAL_ORIGIN_X, yIntellectual + ORIGIN_Y); oldX = x; oldYPhysical = yPhysical; oldYSensitivity = ySensitivity; oldYIntellectual = yIntellectual; } g.setColor(borderLineColor); g.drawLine(0, ORIGIN_Y, width, ORIGIN_Y); g.setColor(biorhythmGraphColor); g.fillRect(width, 35, gridWidth * 3, 150); }