Java Line2D和a J组件交点和仿射变换

Java Line2D和a J组件交点和仿射变换,java,swing,computational-geometry,java-2d,line-intersection,Java,Swing,Computational Geometry,Java 2d,Line Intersection,嗯 我有线路和部件。组件本身是一个JPanel。我在里面画形状。并将形状添加到容器中。此形状可以是任何多边形。在容器中绘制一条曲线(可以是Line2D、CubicCurve2D或QuadCurve2D) 现在我需要在容器上画一个箭头形状,这样当移动一条线时,这个箭头将围绕形状延伸 可以有许多曲线通过不同的控制点连接到形状的中心。形状可以是任何正多边形 至少我需要圆角矩形和图像下方的曲线的交点 编辑:我想确定曲线和任意正多边形的交点。给定多边形的宽度、高度、中心点以及直线的起点、终点和控制点

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

现在我需要在容器上画一个箭头形状,这样当移动一条线时,这个箭头将围绕形状延伸

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

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

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



编辑:我无法发布问题,因此我将编辑此问题。如何缩放JComponents和Graphics object?如果应该使用AffineTransform进行转换,那么我应该如何转换JComponents上的事件点?

您可以使用
BasicStroke
getStrokedShape()
。设置厚度=例如5,并获得
多边形
直线
的笔划形状。然后基于叠加的形状创建2个
Area
类,并获得相交
Shape

您可以使用
BasicStroke
getStrokedShape()
。设置厚度=例如5,并获得
多边形
直线
的笔划形状。然后根据所加的形状创建2个
Area
类,并获得相交
Shape