问题标签 [bezier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
84716 浏览

geometry - 如何用贝塞尔曲线创建圆?

我们有一个起点 (x, y) 和一个圆半径。还有一个引擎可以从贝塞尔曲线点创建路径。

如何使用贝塞尔曲线创建圆?

0 投票
2 回答
508 浏览

cocoa - Cocoa 和 SVG 解释贝塞尔曲线的方式有什么不同吗?

我对任何类型的图形都很陌生(也许除了拍照:))所以如果我对昨晚遇到的问题的解释不是很精确和不稳定,请原谅。

我正在尝试在 Cocoa 中生成代码,该代码将在 SVG 文件的基础上绘制矢量。我已经将 SVG 命令转换为 NSBezierPath 方法的调用,但接收到的图形并不是很好……形状与基本形状相似,但有一些……扭曲(?)。这可能既不是抗锯齿问题,也不是 Cocoa 方面设置的平坦度值的问题。有人建议我这个问题可能是由 Cocoa 方法和 SVG 对贝塞尔曲线控制点的不同解释引起的——这可能吗?或者还有什么可能导致问题?

0 投票
4 回答
3521 浏览

flash - 从不规则数量的 x,y 点创建平滑路径以模拟手写

我正在尝试在 AS3(纯而不是 Flex)中制作一个“画笔”工具,它可以模拟笔迹,使笔触平滑而不是拐角。然后,必须将迹线简化为可以拖动和变形的三次贝塞尔曲线,从而影响先前绘制的路径(如插图画家的钢笔工具)。

我正在跟踪鼠标移动以获取一组点来绘制路径。据我所知,我需要使用这组点做一个 B 样条路径。然后我应该将它简化为三次贝塞尔曲线(将“钢笔工具”功能添加到路径中)。

我已经开发了钢笔工具,使用一种将三次贝塞尔曲线减少为二次贝塞尔曲线的算法(然后使用 Flash curveTo 函数)。但我不知道如何创建 B 样条(或其他简化),然后将其简化为贝塞尔曲线。

你知道有什么方法可以做到这一点吗?

0 投票
2 回答
3299 浏览

javascript - 贝塞尔定时动画路径

我正在尝试定义点路径。每个点都有一个 x、y 和时间。然后我想查询这条路径并获取该时间点的当前位置。让我分享一些伪代码。

我正在尝试使用 canvas 标签在 javascript 中实现这一点。但是,任何语言的样本都可以。有谁知道创建这种可查询路径的任何开源库(任何语言)?

注意:我一直试图从DynApi 项目中了解这个示例和代码,但是从这个示例转移到时间感知路径对于我糟糕的动画技能来说是一个延伸。

谢谢

圭多

0 投票
4 回答
1828 浏览

bezier - 贝塞尔曲线和法式曲线

我正在使用贝塞尔曲线在我正在制作的程序中绘制曲线。我有五分。这是我正在尝试创建的曲线的粗略草图。我正在尝试制作一条穿过 A、B、C、D 的曲线。但是,C 不是一个确定的点,它是曲线应该经过的位置以使其看起来像法国曲线的建议。C在45度从E出来。

这说明了我正在尝试做的事情。

有没有人对如何近似通过这些点的法国曲线有任何建议?

0 投票
3 回答
2920 浏览

gdi+ - 如何确定 GraphicsPath PathPoints 和 PathTypes 数组中弧的端点?

我有以下 PathPoints 和 PathTypes 数组(格式:X、Y、Type):

这是此 GraphicsPath 的物理外观。2 条弧线非常容易区分: 替代文字

我知道这个 GraphicsPath.PathData 数组是由 2 个 AddArc 命令创建的。单步调试调试器中的代码,我看到前 4 个 PathData 值是由第一个 AddArc 命令添加的,其余 6 个点是由第二个 AddArc 命令添加的。

通过检查原始路径点/路径类型数组(以前不知道它是 2 个 AddArc 命令,所以我知道我有 2 个起点和终点),我想确定每个弧的起点和终点。

我已经尝试了几种贝塞尔计算来“重新创建”数组中的点,但是无法确定如何确定单独的起点和终点。似乎 GDI+ 正在组合弧之间的起点/终点(它们是相同的点并且弧是连接的),而我正在失去一个弧正在结束而另一个弧正在开始的事实。

有任何想法吗?

0 投票
1 回答
615 浏览

objective-c - iPhone中的运动路径/运动指南?

我希望图像根据编程代码绘制的路径移动。

我之前问过一个类似的问题(https://stackoverflow.com/questions/1571182/how-to-limit-a-uiimageview-to-move-in-a-specific-path),但我发现我问过错误的方式。图像不必是 UIImageView。另外,上面给出的答案后来发现它仅适用于 Mac OS X,不适用于 iPhone。

无论如何,这是我绘制简单路径的代码。

其中 theContext 是 CGContextRef。上述代码的结果将绘制一个旋转 90 度的“8”形状。但是,如何使图像跟随路径?

更新#1:抱歉重复问题,但我想进一步询问如何根据路径进行图像旋转(即头部矢量应遵循路径的切线)。任何人都可以提出一些想法吗?

更新#2:如何使路径动态变化?

0 投票
1 回答
7050 浏览

language-agnostic - 如何找到定义贝塞尔曲线的数学函数

我正在尝试实现贝塞尔曲线和线段相交测试。我的搜索最接近的结果是采用贝塞尔曲线(为简单起见,我们将其限制为三个控制点)找到生成该曲线的数学函数并将其放在 origo 上。然后,将线段的函数用作另一个函数,让它们相等并求解方程。

许多消息来源都说明了上述解决方案(除非我误解了它们),我的问题是我找不到计算生成贝塞尔曲线的数学函数的方法。

哦,请指出我是否完全偏离了寻找交叉点的轨道。

0 投票
3 回答
8432 浏览

math - 计算贝塞尔样条曲线以从点到点

我在 X,Y + Rotation 中有 2 个点,我需要计算一个贝塞尔样条曲线(二次贝塞尔曲线的集合),它可以平滑地连接这两个点。(见图)该点代表游戏中只能缓慢旋转的单位。所以从A点到B点,必须走很长的路。附图显示了一条相当夸张的弯曲路径,但你明白了。

替代文字

我可以使用哪些公式来计算这样的贝塞尔样条曲线?

0 投票
2 回答
584 浏览

geometry - 贝塞尔曲线从一个轴计算点

我有一个三次贝塞尔曲线。但是当我只需要一点时,我就有问题了。我只有 X 轴的值,并且想找到一个与 Y 轴对应的值。或者找到 t 步,从中我可以轻松计算 Y 轴。

任何线索如何做到这一点?或者有什么公式可以做到这一点?