计算两点间贝塞尔曲线和以两点为中心的圆的交点

圆的方程公式

(x-a)² + (y-b)² = r²
x1 = x0 + r * Math.cos(angle * Math.PI / 180)
y1 = y0 + r * Math.sin(angle * Math.PI/180)

贝塞尔曲线的方程公式

B(t) = (1-t)²P0 + 2t(1-t)P1 + t²P2,   t∈[0,1]

x = Math.pow(1-t, 2) * x1 + 2 * t * (1-t) * cx + Math.pow(t, 2) * x2
y = Math.pow(1-t, 2) * y1 + 2 * t * (1-t) * cy + Math.pow(t, 2) * y2

欧氏距离

const distance = (x0, y0, x1, y1) => Math.hypot(x1 - x0, y1 - y0);

 

posted @ 2021-07-19 13:39  笑言哑哑  阅读(427)  评论(0编辑  收藏  举报