Кто-нибудь может подсказать мне, как закодировать линию стрелки в другом направлении. wa и wl положительны, прямоугольник будет наверху оси x. Ниже показан пример, если wl отрицательно, а wa положительно. В приведенном ниже коде показано, как я кодирую форму прямоугольника. x1 - это переменная, указывающая, где начать с оси x. e1 - длина фигуры, wa1 и wl1 - высота. wsign для определения высоты, на которой wa1 или wl1 должны отображаться с отрицательной или положительной стороны.
if (Math.abs(wl1) > Math.abs(wa1)) {
y_scale = (load_y0 - 40) / (double) Math.abs(wl1);
} else {
y_scale = (load_y0 - 40) / (double) Math.abs(wa1);
}
g.drawLine((int) ((double) x0 + x1 * x_scale), (int) (load_y),
(int) ((double) x0 + x1 * x_scale),
(int) (load_y + (wa1 * y_scale) * -1));
g.drawLine((int) ((double) x0 + (x1 + e1) * x_scale),
(int) (load_y), (int) ((double) x0 + (x1 + e1)
* x_scale), (int) (load_y + (wl1 * y_scale)
* -1));
g.drawLine((int) ((double) x0 + x1 * x_scale),
(int) (load_y + (wa1 * y_scale * -1)),
(int) ((double) x0 + (x1 + e1) * x_scale),
(int) (load_y + (wl1 * y_scale) * -1));