当前位置: 首页 > 编程笔记 >

用于检查Python中两个三角形的一致性的程序

郜光明
2023-03-14
本文向大家介绍用于检查Python中两个三角形的一致性的程序,包括了用于检查Python中两个三角形的一致性的程序的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将检查两个三角形的一致性。我们将检查SSS,SAS和AAA。基于这些标准证明了三角形的相似性。

我们必须根据定理检查不同的条件。在下面的代码中检查它们。

示例

def side_side_side(sides_one, sides_two):
   #排序速度相同
   sides_one.sort()
   sides_two.sort()
   #检查条件
   if sides_one[0] / sides_two[0] == sides_one[1] / sides_two[1] \
      and sides_one[1] / sides_two[1] == sides_one[2] / sides_two[2] \
      and sides_one[2] / sides_two[2] == sides_one[0] / sides_two[0]:
      return True
   return False
def side_angle_side(sides_one, sides_two, angles_one, angles_two):
   # sorting same pace
   sides_one.sort()
   sides_one.sort()
   angles_one.sort()
   angles_one.sort()
   # 检查条件1
   if sides_one[0] / sides_two[0] == sides_one[1] / sides_two[1]:
      if angles_one[0] == angles_two[0]:
         return True
   # 检查条件2
   if sides_one[1] / sides_two[1] == sides_one[2] / sides_two[2]:
      if angles_one[1] == angles_two[1]:
         return True
   # 检查条件3
   if sides_one[2] / sides_two[2] == sides_one[0] / sides_two[0]:
      if angles_one[2] == angles_two[2]:
         return True
   #如果不满足上述任何条件,则返回False
      return False
def angle_angle_angle(angles_one, angles_two):
   # sorting same pace
   angles_one.sort()
   angles_two.sort()
   # checking the conditions
   if angles_one[0] == angles_two[0] \
      or angles_one[1] == angles_two[1] \
      or angles_one[2] == angles_two[2]:
      return True
   return False
   if __name__ == '__main__':
      #初始化侧面
      sides_one = [2.0, 3.0, 3.0]
      sides_two = [4.0, 6.0, 6.0]
      #初始化角度
      angles_one = [80.0, 60.0, 40.0]
      angles_two = [40.0, 60.0, 80.0]
      #检查打印各自的属性
      print("三角形的相似之处:", end=' ')
      if side_side_side(sides_one, sides_two):
         print("SSS", end=' ')
      if side_angle_side(sides_one, sides_two, angles_one, angles_two):
         print("SAS", end=' ')
      if angle_angle_angle(angles_one, angles_two):
         print("AAA", end='')

输出结果

如果运行上面的代码,则将得到以下结果。

三角形的相似之处: SSS SAS AAA

结论

如果您对本教程有任何疑问,请在评论部分中提及。

 类似资料:
  • 问题内容: 您好,我也有4个点,而我将有4个三角形,如何检查每个点的这四个三角形,无论该点是否在三角形内。谢谢 问题答案: 实现接口,该接口提供了几种方法。这是一个简单的例子。

  • 本文向大家介绍程序,用于在C ++中查找三角形的质心,包括了程序,用于在C ++中查找三角形的质心的使用技巧和注意事项,需要的朋友参考一下 为此,我们将获得三角形的顶点。我们的任务是计算并打印出给定三角形的质心。 示例 输出结果

  • 问题内容: 作为Python的学习经验,我正在尝试编写自己的Pascal三角形版本。我花了几个小时(因为我刚刚开始),但是我得到了以下代码: 哪个返回 但是,我不知道从这里去哪里。几个小时我一直在撞墙。我想强调,我不希望你为我做这件事;朝正确的方向推动我。作为清单,我的代码返回 谢谢。 编辑:我采取了一些好的建议,并且我完全重写了我的代码,但是现在我遇到了另一个问题。这是我的代码。 但是,我发现输

  • 当我从这些三角形中执行α形状时,我无法得到点集的边界。所以我认为我应该使用约束Delaunay三角测量。我选择三角形库来执行此操作。但麻烦的是,我不知道给函数triangle.triangulate(tri, opts=")提供什么。我把我所有的点集输入字典,但它返回我的点集。所以任何人都可以帮助我使用这个功能或另一种选择来执行轮廓检测?谢啦

  • 问题内容: 嗨,我正在尝试创建仿射变换,使我可以将一个三角形变换为另一个三角形。我所拥有的是2个三角形的坐标。你能帮助我吗? 按照亚当·罗森菲尔德的回答,我想出了这段代码,以防万一有人无聊地自己解决方程: 问题答案: 我假设您在这里谈论2D。仿射变换矩阵中有9个值: 有3个顶点输入,和,当其转化应该成为,,。然而,由于我们在齐次坐标的工作,应用到不一定给-它给人的倍数。所以,我们也有未知的乘法器,

  • 这是我的审判,但它没有涵盖一切,也在重复,我做错了什么?