Javascript 如何在自定义绘制的矩形中查找要填充的折弯线内的点
我有一个图形类,可以画线和贝塞尔曲线。它存储形状的点Javascript 如何在自定义绘制的矩形中查找要填充的折弯线内的点,javascript,Javascript,我有一个图形类,可以画线和贝塞尔曲线。它存储形状的点 export default function Graphics() { let points = []; this.clear = () => points = []; this.points = () => points; this.point = point => { points.push(point); }; this.line = line => { let
export default function Graphics() {
let points = [];
this.clear = () => points = [];
this.points = () => points;
this.point = point => {
points.push(point);
};
this.line = line => {
let a = line.A,
b = line.B,
direction = v.csub(b, a),
steps = v.length(direction),
step = v.cscale(direction, 1/steps);
let cur = v.copy(a);
for (let i = 0; i < steps; i++) {
let point = v.copy(cur);
point[0] = Math.round(point[0]);
point[1] = Math.round(point[1]);
points.push(point);
v.add(cur, step);
}
};
}
bent函数绘制一条稍微弯曲的线,因此它不是直的。我可以画出很好的轮廓,现在我想填充我画的这个形状。基本上我需要填充这个形状的点。我怎么计算呢?我只需要整数点
我知道有很多复杂的方法可以做到这一点,但是对于一个简单的形状,比如一个有弯曲边缘和圆角的矩形,应该有一个简单的解决方案。相关:这真的与WebGL相关吗?因为在这种情况下,你已经对它进行了三角剖分,然后你可以很明显地分辨出这些三角形的内部/外部。
let g = new Graphics();
g.bent(ab, wave);
g.bent(bc, wave);
g.bent(cd, wave);
g.bent(da, wave);