fix: contouring
This commit is contained in:
parent
acc9d79873
commit
025f5a46b0
|
|
@ -38,17 +38,17 @@ export function getRoundedRectPoints(
|
||||||
}
|
}
|
||||||
|
|
||||||
// 左上角圆角(从顶部开始,顺时针)
|
// 左上角圆角(从顶部开始,顺时针)
|
||||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
|
const angle = (Math.PI / 2) * (i / segmentsPerCorner) - Math.PI;
|
||||||
points.push([
|
points.push([
|
||||||
r + r * Math.cos(angle - Math.PI / 2),
|
r + r * Math.cos(angle),
|
||||||
r + r * Math.sin(angle - Math.PI / 2)
|
r + r * Math.sin(angle)
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 右上角圆角
|
// 右上角圆角
|
||||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
|
const angle = (Math.PI / 2) * (i / segmentsPerCorner) - Math.PI/2;
|
||||||
points.push([
|
points.push([
|
||||||
width - r + r * Math.cos(angle),
|
width - r + r * Math.cos(angle),
|
||||||
r + r * Math.sin(angle)
|
r + r * Math.sin(angle)
|
||||||
|
|
@ -56,8 +56,8 @@ export function getRoundedRectPoints(
|
||||||
}
|
}
|
||||||
|
|
||||||
// 右下角圆角
|
// 右下角圆角
|
||||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI / 2;
|
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
|
||||||
points.push([
|
points.push([
|
||||||
width - r + r * Math.cos(angle),
|
width - r + r * Math.cos(angle),
|
||||||
height - r + r * Math.sin(angle)
|
height - r + r * Math.sin(angle)
|
||||||
|
|
@ -65,8 +65,8 @@ export function getRoundedRectPoints(
|
||||||
}
|
}
|
||||||
|
|
||||||
// 左下角圆角
|
// 左下角圆角
|
||||||
for (let i = 0; i < segmentsPerCorner; i++) {
|
for (let i = 0; i <= segmentsPerCorner; i++) {
|
||||||
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI;
|
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI/2;
|
||||||
points.push([
|
points.push([
|
||||||
r + r * Math.cos(angle),
|
r + r * Math.cos(angle),
|
||||||
height - r + r * Math.sin(angle)
|
height - r + r * Math.sin(angle)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue