我正在绘制一个图表,其中有两个点,每个点都有一条带有权重的线。
例如图表:点“15”到点“16”线的权重为 1.872,点“16”到点“15”的权重为 1.567。
现在看一下我的图表:
我想画一个始终与线平行(相邻)的字符串。
我计算了直线的斜率,而我计算的角度是该斜率的反正切:
我使用这个函数来旋转字符串:
public static void drawRotate(Graphics2D g2d, double x, double y, double angle, String text) {
g2d.translate((float)x,(float)y);
g2d.rotate(Math.toRadians(angle));
g2d.drawString(text,0,0);
g2d.rotate(-Math.toRadians(angle));
g2d.translate(-(float)x,-(float)y);
}
Run Code Online (Sandbox Code Playgroud)
使用 arctan((y2-y1)/(x2-x1)= 线的斜率 ) 的角度,效果不佳。
如何旋转该字符串使其始终与我绘制的线平行?
我的目标:像这个例子一样绘制字符串