作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道:
最佳答案
我知道这个问题很老,但没有提供正确或完整的答案,所以我想我会提出一个解决方案。请注意,David 的计算包含多个错误,即使纠正了这些错误,他的解决方案也是不完整的。
首先,定义向量T0
, T1
和 T2
使用三个斜率:
T0 = ( b - a ) / u0
T1 = ( c - b ) / u1
T2 = ( d - c ) / u2
u0
,
u1
和
u2
.既然我们只知道斜率,那么
u0
,
u1
和
u2
是未知的标量。此外,我们假设
u0
,
u1
和
u2
非零,因为斜率已定义。
b = a + T0*u0
c = b + T1*u1
d = c + T2*u2
p
:
p = ( a + 3*b + 3*c + d ) / 8
b + c = ( 8*p - a - d ) / 3
b
和
c
以各种方式使用较早的表达式。事实证明,当我们有平行向量时会产生歧义
T0
,
T1
或
T2
.有四种情况需要考虑。
T0
与 T1
不平行
b = a + T0*u0
和
c = a + T0*u0 + T1*u1
并求解
u0
和
u1
:
2*T0*u0 + T1*u1 = ( 8*p - 7*a - d ) / 3
T0
和
T1
是向量。替代
u0
和
u1
回到
b = a + T0*u0
和
c = a + T0*u0 + T1*u1
获取缺失的控制点
b
和
c
.
T1
与 T2
不平行
c = d - T2*u2
和
b = d - T2*u2 - T1*u1
并求解
u1
和
u2
:
T1*u1 + 2*T2*u2 = ( a + 7*d - 8*p ) / 3
T0
与 T2
不平行
b = a + T0*u0
和
c = d - T2*u2
并求解
u0
和
u2
:
T0*u0 - T2*u2 = ( 8*p - 4*a - 4*d ) / 3
T0
, T1
和 T2
都是平行的
a
,
b
,
c
和
d
全部共线且
T0
,
T1
和
T2
都等价于一个比例因子内。没有足够的信息来获得唯一的解决方案。一种简单的解决方案是简单地选择
b
通过设置
u0 = 1
:
b = a + T0
(a + T0) + c = ( 8*p - a - d ) / 3
c = ( 8*p - 4*a - d - 3*T0 ) / 3
b
定义
c
或采摘
c
将定义
b
.
p
将此问题扩展到非平面 3D 三次贝塞尔曲线时,不需要。在这种情况下,我们可以简单地为
u0
求解这个方程。 ,
u1
和
u2
:
T0*u0 + T1*u1 + T2*u2 = d - a
u0
、
u1
和
u2
)。代入
b = a + T0*u0
和
c = b + T1*u1
或
c = d - T2*u2
yield
b
和
c
.
关于math - 中点已知的三次贝塞尔计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/404861/
我需要你的帮助!我在它们之间放置了随机数量的 div。 Item description Item description Item description Item
我有两个 NSDates,时间格式为“h:mm a”(即 6:00 AM 和 8:00 PM)。 我试图找出这两个时间之间的中点是什么时间。 对于上面的示例,早上 6:00 和晚上 8:00 之间的中
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
我正在寻找一种有效的算法来检查一个点是否在 3D 中的另一个点附近。 sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2) < radius 这似乎并不太快,实际上我不需要这
我可以让 pandas cut/qcut 函数返回 bin 端点或 bin 中点而不是一串 bin 标签吗? 目前 pd.cut(pd.Series(np.arange(11)), bins = 5)
我是一名优秀的程序员,十分优秀!