C# 实现矩形一条边两端点坐标,和矩形宽度,求矩形另外两个顶点坐标
时间: 2024-04-24 22:22:19 浏览: 15
假设矩形的一条边的两端点坐标为 (x1, y1), (x2, y2),矩形的宽度为 w。
首先,我们可以求出矩形的长度 L,即:
L = sqrt((x2 - x1)^2 + (y2 - y1)^2)
然后,我们可以求出矩形的中心点坐标 (xc, yc),即:
xc = (x1 + x2) / 2
yc = (y1 + y2) / 2
接下来,我们可以根据矩形的宽度 w 和长度 L,求出矩形的另外两个顶点的坐标:
x3 = xc + (w/2) * (y1 - y2) / L
y3 = yc + (w/2) * (x2 - x1) / L
x4 = xc - (w/2) * (y1 - y2) / L
y4 = yc - (w/2) * (x2 - x1) / L
其中,(x3, y3) 和 (x4, y4) 就是矩形的另外两个顶点的坐标。
相关问题
C# 实现矩形一条长边两端点坐标,和矩形宽度,求矩形另外两个顶点坐标
假设矩形的一条长边上的两个端点坐标为 A(x1, y1) 和 B(x2, y2),矩形的宽度为 w。
首先,我们可以通过 A 和 B 的坐标计算出矩形的长度 L,即:
L = sqrt((x2 - x1)^2 + (y2 - y1)^2)
接着,我们可以计算出长边与矩形另一条边的夹角θ,即:
θ = atan2(y2 - y1, x2 - x1)
矩形的另外两个顶点坐标可以通过以下公式计算得出:
C(x3, y3) = (x1 + w*cos(θ + π/2), y1 + w*sin(θ + π/2))
D(x4, y4) = (x2 + w*cos(θ + π/2), y2 + w*sin(θ + π/2))
其中,π为圆周率,cos和sin为三角函数。
C# 实现矩形长边两端点坐标,和矩形宽度,求矩形顶点坐标
假设矩形长边的两个端点坐标为 (x1, y1) 和 (x2, y2),矩形宽度为 w,矩形的顶点坐标可以按照以下步骤计算:
1. 计算矩形中心点坐标 (xc, yc):
```
xc = (x1 + x2) / 2
yc = (y1 + y2) / 2
```
2. 计算矩形长边的长度 L:
```
L = sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
```
3. 计算矩形长边的单位向量 (dx, dy):
```
dx = (x2 - x1) / L
dy = (y2 - y1) / L
```
4. 计算矩形短边的单位向量 (-dy, dx):
```
ux = -dy
uy = dx
```
5. 计算矩形四个顶点坐标:
```
x1 = xc - w / 2 * ux - L / 2 * dx
y1 = yc - w / 2 * uy - L / 2 * dy
x2 = xc - w / 2 * ux + L / 2 * dx
y2 = yc - w / 2 * uy + L / 2 * dy
x3 = xc + w / 2 * ux + L / 2 * dx
y3 = yc + w / 2 * uy + L / 2 * dy
x4 = xc + w / 2 * ux - L / 2 * dx
y4 = yc + w / 2 * uy - L / 2 * dy
```
其中,(x1, y1)、(x2, y2)、(x3, y3)、(x4, y4) 分别为矩形的四个顶点坐标。