fix: contouring

This commit is contained in:
hypercross 2026-03-15 01:49:28 +08:00
parent acc9d79873
commit 025f5a46b0
1 changed files with 10 additions and 10 deletions

View File

@ -38,17 +38,17 @@ export function getRoundedRectPoints(
}
// 左上角圆角(从顶部开始,顺时针)
for (let i = 0; i < segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
for (let i = 0; i <= segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner) - Math.PI;
points.push([
r + r * Math.cos(angle - Math.PI / 2),
r + r * Math.sin(angle - Math.PI / 2)
r + r * Math.cos(angle),
r + r * Math.sin(angle)
]);
}
// 右上角圆角
for (let i = 0; i < segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
for (let i = 0; i <= segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner) - Math.PI/2;
points.push([
width - r + r * Math.cos(angle),
r + r * Math.sin(angle)
@ -56,8 +56,8 @@ export function getRoundedRectPoints(
}
// 右下角圆角
for (let i = 0; i < segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI / 2;
for (let i = 0; i <= segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner);
points.push([
width - r + r * Math.cos(angle),
height - r + r * Math.sin(angle)
@ -65,8 +65,8 @@ export function getRoundedRectPoints(
}
// 左下角圆角
for (let i = 0; i < segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI;
for (let i = 0; i <= segmentsPerCorner; i++) {
const angle = (Math.PI / 2) * (i / segmentsPerCorner) + Math.PI/2;
points.push([
r + r * Math.cos(angle),
height - r + r * Math.sin(angle)