大佬们类似这种效果怎么实现呢,用graphics可以实现吗,或者有其他方法吗
画线呗, 如果曲线不好画,就用微积分的思想拆成若干段线段
直线的话画线好处理,但是曲线比如AB两点间画曲线,只画一部分就不好处理了,比如ab点两中间是1/4圆弧,现在我只要画这个圆弧的一个小部分,这个怎么做到和原本的1/4圆弧重合呢
看起来是按点来划分的,各个点能移动画线的方向有限,而且各个方向都对应了一个目标点,到达目标点后目标点作为新起点画下一步
嗯嗯,思路是这样的,图上有几个节点,然后构建边,然后触碰的位置去填充对应区域。主要是曲线的分段绘制不知道用graphics怎么弄。
有个画圆弧的api,2dx和2.x都有,好像是arc,3.x不清楚你可以找一下
不一定是圆弧了,圆弧应该可以准确分段画出来,大多数还是不规则的曲线。比如一段贝塞尔曲线,可以把它拆分成多段画出来吗
drawBezierCurve(ratio) {
this.graphics.clear();
this.graphics.moveTo(this.startPoint.x, this.startPoint.y);
for (let t = 0; t <= ratio; t += 0.01) {
let x = (1 - t) * (1 - t) * this.startPoint.x + 2 * (1 - t) * t * this.controlPoint.x + t * t * this.endPoint.x;
let y = (1 - t) * (1 - t) * this.startPoint.y + 2 * (1 - t) * t * this.controlPoint.y + t * t * this.endPoint.y;
this.graphics.lineTo(x, y);
}
this.graphics.stroke();
},
``` 好吧这个点可以计算得到,感谢大佬们回答