- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在网上搜索后,我在各种论坛上看到很多人暗示用二次曲线近似三次曲线。但是我找不到公式。
我想要的是这个:
输入:startX、startY、control1X、control1Y、control2X、control2Y、endX、endY
输出:startX、startY、controlX、controlY、endX、endY
实际上,由于起点和终点是相同的,所以我真正需要的是......
输入:startX、startY、control1X、control1Y、control2X、control2Y、endX、endY
输出: controlX, controlY
最佳答案
如前所述,从 4 个控制点到 3 个控制点通常是一个近似值。只有一种情况是精确的 - 当三次贝塞尔曲线实际上是一个度数提升的二次贝塞尔曲线时。
您可以使用度数高程方程得出近似值。这很简单,结果通常很好。
让我们称三次方 Q0..Q3 的控制点和二次方 P0..P2 的控制点。那么对于度数提升,方程是:
Q0 = P0
Q1 = 1/3 P0 + 2/3 P1
Q2 = 2/3 P1 + 1/3 P2
Q3 = P2
P1 = 3/2 Q1 - 1/2 Q0
P1 = 3/2 Q2 - 1/2 Q3
P1 = -1/4 Q0 + 3/4 Q1 + 3/4 Q2 - 1/4 Q3
controlX = -0.25*startX + .75*control1X + .75*control2X -0.25*endX
关于geometry - 如何将三次曲线的 2 个控制点转换为二次曲线的单个控制点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2009160/
有没有办法动态调整贝塞尔路径四曲线的控制点? 我正在为 children 创建一个小型拖放绘图应用程序。我希望他们在 Canvas 上添加一条线,然后通过拖动手指来调整曲线点以创建微笑或皱眉。 我目前
我正在开发一款安卓 UPnP/DLNA 应用程序。我有一个控制点,我可以在其中将文件从媒体服务器流式传输到渲染器。我可以在播放期间暂停/播放和停止文件,但我似乎无法弄清楚如何将搜索栏集成到控制点中以显
我能够使用这个问题的答案在 ggplot 中找到 geom_curve 控制点: How to find the geom_curve control points in ggplot 我现在想知道如
我正在开发一个类似提醒的应用程序,需要在特定时间发送通知。基本上,用户会创建某种提醒,我需要在指定时间发送通知。我正在使用 Firebase Cloud Messaging 发送通知。 我现在的想法是
我正在开发一个类似提醒的应用程序,需要在特定时间发送通知。基本上,用户会创建某种提醒,我需要在指定时间发送通知。我正在使用 Firebase Cloud Messaging 发送通知。 我现在的想法是
我一直在搜索 gcloud 文档和网络,但找不到为 gcloud 应用服务版本设置配置的方法。 在我的其他项目中已经完成,但我忘记了如何再次更新它。我想做的是对单个服务设置最大版本限制 - 例如: 使
我正在尝试为一些 NSView 的 alpha 过渡设置动画。它需要在另一个动画期间发生,特别是它的 super View (边界更改)。解释原因有点复杂,但我需要这些 alpha 转换具有计时功能,
以下怎么可能? ➢ gcloud compute instances list NAME ZONE
以下怎么可能? ➢ gcloud compute instances list NAME ZONE
我想将 Spanner 中现有表的主键从 Col1 修改为 Col1 和 Col2 的组合。可以在 Spanner 中实现吗? 此选项在控制台中不可用。也许可以用脚本来完成! 最佳答案 The key
我想使用 CyberGarage“CyberLink for Java”API 为 Android 编写一个 UPnP 控制点应用程序。为了测试 API,我实现了一个非常简单的应用程序。在此应
我是一名优秀的程序员,十分优秀!