java - Line2D 和 JComponent 交点和仿射变换

标签 java swing computational-geometry java-2d line-intersection

好的

我有线路和组件。该组件本身是一个 JPanel。我在里面画形状。并将形状添加到容器中。该形状可以是任何多边形。并在容器中绘制一条曲线(可以是 Line2D、CubicCurve2D 或 QuadCurve2D)。

现在我需要在容器上绘制一个箭头形状,以便在移动线条时该箭头将跨越该形状。

可以有许多曲线通过不同的控制点连接到形状的中心。形状可以是任意正多边形。

至少我需要圆角矩形和图像下方曲线的交点。

编辑:我想确定曲线和任意正多边形的交点。给定多边形的宽度、高度、中心点以及直线的起点、终点和控制点。

enter image description here

<小时/>

编辑:我无法发布问题,因此我将编辑这个问题。如何缩放 JComponent 和 Graphics 对象?如果应该使用 AffineTransform 来完成,那么我应该如何转换 JComponent 上的事件点?

最佳答案

您可以使用BasicStrokegetStrokedShape()。设置厚度=例如5 并获取PolygonLine的描边形状。然后根据添加的形状创建 2 个 Area 类并获取交集 Shape

关于java - Line2D 和 JComponent 交点和仿射变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13701243/

相关文章:

javascript - 在 Three.js 中拉伸(stretch)几何图形

java - spring如何识别构造函数中的参数

java - 添加子菜单

algorithm - 最近的一对点

Java - JFrame 根本不显示其内容

java - JTable、RowFilter 和 RowFilter.Entry

algorithm - 3D 中截留雨水的最大体积

java - 使用 spring 包含页面

java - 使用 int[] 填充 JComboBox

java - 如何解码这种类型的字符串,如 51167154 :09, 511671AF :08, 511671B1:08