You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已知正方形一对绿色顶点的x、y坐标,如何计算其余红色顶点坐标?

已知正方形一对顶点坐标,计算其余顶点坐标

示意图展示了一个正方形,其中两个绿色顶点坐标已知,需要求解另外两个红色顶点的坐标。根据已知顶点是正方形的对角顶点还是相邻顶点,分两种情况处理:

情况1:已知顶点为正方形的对角顶点

假设已知对角顶点为 (A(x_1, y_1)) 和 (C(x_2, y_2)),计算步骤如下:

  • 先求对角线中点 (M) 的坐标:
    [
    M\left( \frac{x_1+x_2}{2}, \frac{y_1+y_2}{2} \right)
    ]
  • 利用正方形对角线互相垂直且平分的性质,推导另外两个顶点坐标:
    向量 (AC = (x_2-x_1, y_2-y_1)),其垂直向量为 ((y_1-y_2, x_2-x_1)),将该向量减半后,分别加到中点坐标上,即可得到两个红色顶点:
    [
    B\left( \frac{x_1+x_2 + y_1 - y_2}{2}, \frac{y_1+y_2 + x_2 - x_1}{2} \right)
    ]
    [
    D\left( \frac{x_1+x_2 - y_1 + y_2}{2}, \frac{y_1+y_2 - x_2 + x_1}{2} \right)
    ]

情况2:已知顶点为正方形的相邻顶点

假设已知相邻顶点为 (A(x_1, y_1)) 和 (B(x_2, y_2)),计算步骤如下:

  • 先得到向量 (AB = (x_2-x_1, y_2-y_1))
  • 将向量 (AB) 旋转90度即可得到相邻边的向量,旋转方向有两种,对应两组可能的红色顶点:
    1. 逆时针旋转90度:向量变为 ((-(y_2-y_1), x_2-x_1)),对应的顶点坐标:
      [
      D(x_1 - (y_2-y_1), y_1 + (x_2-x_1))
      ]
      [
      C(x_2 - (y_2-y_1), y_2 + (x_2-x_1))
      ]
    2. 顺时针旋转90度:向量变为 ((y_2-y_1, -(x_2-x_1))),对应的顶点坐标:
      [
      D(x_1 + (y_2-y_1), y_1 - (x_2-x_1))
      ]
      [
      C(x_2 + (y_2-y_1), y_2 - (x_2-x_1))
      ]

示例代码(Python)

对角顶点求解实现

def get_square_vertices_from_diagonal(x1, y1, x2, y2):
    mid_x = (x1 + x2) / 2
    mid_y = (y1 + y2) / 2
    dx = x2 - x1
    dy = y2 - y1
    # 计算两个红色顶点
    red1_x = mid_x - dy / 2
    red1_y = mid_y + dx / 2
    red2_x = mid_x + dy / 2
    red2_y = mid_y - dx / 2
    return ((x1, y1), (x2, y2), (red1_x, red1_y), (red2_x, red2_y))

相邻顶点求解实现

def get_square_vertices_from_adjacent(x1, y1, x2, y2):
    dx = x2 - x1
    dy = y2 - y1
    # 逆时针旋转得到的红色顶点
    red1_ccw_x = x2 - dy
    red1_ccw_y = y2 + dx
    red2_ccw_x = x1 - dy
    red2_ccw_y = y1 + dx
    # 顺时针旋转得到的红色顶点
    red1_cw_x = x2 + dy
    red1_cw_y = y2 - dx
    red2_cw_x = x1 + dy
    red2_cw_y = y1 - dx
    return {
        "逆时针旋转结果": ((x1,y1), (x2,y2), (red1_ccw_x,red1_ccw_y), (red2_ccw_x,red2_ccw_y)),
        "顺时针旋转结果": ((x1,y1), (x2,y2), (red1_cw_x,red1_cw_y), (red2_cw_x,red2_cw_y))
    }

内容的提问来源于stack exchange,提问作者Luke Stanyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:30:14