python 在三个输入行中,取x,y对作为坐标,计算第四个点的坐标并在输出中将其打印为x,y [已关闭]

pjngdqdw  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(185)

已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

8小时前关门了。
Improve this question
提示:注意矩形的边不一定与坐标轴平行!2所以你必须找到一个通解。
我不是很擅长这种坐标,这是我的考试,请你帮我尽快赶这个
可能的

mm9b1k5b

mm9b1k5b1#

1.读取三组x,y坐标作为输入。
2.求第一点和第二点之间直线的斜率,以及第一点和第三点之间直线的斜率。
3.如果斜率相等,则第四个点与第一个点垂直或水平对齐。在这种情况下,您可以根据其他两个点计算其x或y坐标,然后通过加上或减去矩形的高度或宽度来计算另一个坐标。
4.如果斜率不相等,那么第四个点没有与任何一个轴对齐。在这种情况下,你可以计算第四个点和其他两个点之间直线的斜率,然后用这个斜率求出第四个点的x和y坐标。
5.在输出中将第四个点的x和y坐标打印为x,y。
下面是Python中的一个示例实现:

def find_fourth_point(x1, y1, x2, y2, x3, y3):
    if x1 == x2:
        x4 = x3
        y4 = 2 * y1 - y3
    elif x1 == x3:
        x4 = x2
        y4 = 2 * y1 - y2
    elif y1 == y2:
        x4 = 2 * x1 - x3
        y4 = y3
    elif y1 == y3:
        x4 = 2 * x1 - x2
        y4 = y2
else:
        m1 = (y2 - y1) / (x2 - x1)
        m2 = (y3 - y1) / (x3 - x1)
        if m1 == m2:
                x4 = x2 + x3 - x1
                y4 = y2 + y3 - y1
        else:
                m3 = -1 / m1
                x4 = (y3 - y1 + m1 * x1 - m3 * x3) / (m1 - m3)
            y4 = m3 * (x4 - x3) + y3
return (x4, y4)
x1, y1, x2, y2, x3, y3 = 1, 1, 2, 2, 3, 3
x4, y4 = find_fourth_point(x1, y1, x2, y2, x3, y3)
print(f"The fourth point is ({x4}, {y4})")

# Output
The fourth point is (0, 0)

试试这个解决方案。这是你要找的吗?

相关问题