从 3 个点求半径
Find radius from 3 points
我需要计算矩形角的半径,我必须计算出的数据是曲线上的一些点。下图说明:
如何从这三个坐标计算出半径?
这是我必须处理的数据:
middleY: 321.4
middleX: 272.625
top: 301
bottom: 341.8
left: 193
right: 352.25
0: x: 331.85, y: 301
1: x: 346.25, y: 306.95
2: x: 352.25, y: 321.4
3: x: 352.25, y: 341.8
4: x: 213.4, y: 301
5: x: 193, y: 341.8
6: x: 193, y: 321.4
7: x: 198.95, y: 306.95
我已经把它整理成角了(顶角是弧形的,底角不是):
{
"topLeft": [
{ "x": 213.4, "y": 301 },
{ "x": 193,"y": 321.4 },
{ "x": 198.95,"y": 306.95 }
],
"topRight": [
{ "x": 331.85,"y": 301 },
{ "x": 346.25,"y": 306.95 },
{ "x": 352.25,"y": 321.4 }
],
"bottomLeft": [
{ "x": 193,"y": 341.8 }
],
"bottomRight": [
{ "x": 352.25,"y": 341.8 }
]
}
我想做的是计算左上角和右上角的半径。
我找到了曲率半径公式,但我不知道该用它做什么,因为我没有学足够的数学知识。 :/
顺便说一句,我正在使用 Javascript,但我认为了解如何使用算法并不重要。
这个答案是根据对问题的评论。
图中的圆角半径,以红色标示的点为外点任意纵坐标之差
这里,坐标表示坐标对(x, y)
中的一个值。所以,如果你有点 (x_0, y_0), (x_1, y_1)
,角半径 r = | x_0 - x_1 | = | y_0 - y_1 |
其中 | · |
是绝对值。
我需要计算矩形角的半径,我必须计算出的数据是曲线上的一些点。下图说明:
如何从这三个坐标计算出半径? 这是我必须处理的数据:
middleY: 321.4
middleX: 272.625
top: 301
bottom: 341.8
left: 193
right: 352.25
0: x: 331.85, y: 301
1: x: 346.25, y: 306.95
2: x: 352.25, y: 321.4
3: x: 352.25, y: 341.8
4: x: 213.4, y: 301
5: x: 193, y: 341.8
6: x: 193, y: 321.4
7: x: 198.95, y: 306.95
我已经把它整理成角了(顶角是弧形的,底角不是):
{
"topLeft": [
{ "x": 213.4, "y": 301 },
{ "x": 193,"y": 321.4 },
{ "x": 198.95,"y": 306.95 }
],
"topRight": [
{ "x": 331.85,"y": 301 },
{ "x": 346.25,"y": 306.95 },
{ "x": 352.25,"y": 321.4 }
],
"bottomLeft": [
{ "x": 193,"y": 341.8 }
],
"bottomRight": [
{ "x": 352.25,"y": 341.8 }
]
}
我想做的是计算左上角和右上角的半径。 我找到了曲率半径公式,但我不知道该用它做什么,因为我没有学足够的数学知识。 :/
顺便说一句,我正在使用 Javascript,但我认为了解如何使用算法并不重要。
这个答案是根据对问题的评论。
图中的圆角半径,以红色标示的点为外点任意纵坐标之差
这里,坐标表示坐标对(x, y)
中的一个值。所以,如果你有点 (x_0, y_0), (x_1, y_1)
,角半径 r = | x_0 - x_1 | = | y_0 - y_1 |
其中 | · |
是绝对值。