fix: contouring
This commit is contained in:
+10
-10
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user