我有几个点,我尝试使用以下代码绘制Bezier曲线 PathFigure pf = new PathFigure(points.From, ps, false); //ps - list of Bezier segments PathFigureCollection pfc = new PathFigureCollection(); pfc.Add(pf); var pge = new PathGeometry(); pge.Figures = pfc; Path p = new Path(); p.Data = pge; p.Stroke = new SolidColorBrush(Color.FromRgb(244, 111, 011)); 我的bezier段看起来像这个 1,2,3分 - 第一段 3,4,5分 - 第二个 5,6,7 .. 但我得到了这个奇怪的曲线(这里是3大(节点)和7个小椭圆(是
以下是关于 bezier-curve 的编程技术问答
使用Java 2D,我将多个Bezier曲线(CubicCurve2D)修补在一起,以创建一个"blob".我现在面临的问题是如何: 有效地用给定颜色填充blob. 有效地确定给定点是否位于斑点内. 我注意到了CubicCurve2D实现Shape,它提供了用于确定"内心"的多个contains方法,并且Graphics2D能够通过fill(Shape)(我认为使用Shape >'c8>方法这样做). 鉴于此我希望我能创建一个复合材料Shape,其中我的getPathIterator(AffineTransform)方法将简单地将底层的PathIterator s链接在一起.然而,一旦我的形状包含多于一个,就会产生NoSuchElementException.即使我确实设法实现这一点,我也不相信它将按预期工作,因为CubicCurve2D始终填充凸面,而我的"blob"由凹形和凸曲线组成. "包含"问题甚至更难,因为一个点可以合法地躺在斑点内,但不在任何单独的曲线内.