python用海伦公式求面积_Python:平面直角坐标系下用三点求所构三角形面积
生活随笔
收集整理的這篇文章主要介紹了
python用海伦公式求面积_Python:平面直角坐标系下用三点求所构三角形面积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我使用了一種特殊方式,計算平面直角坐標系下三點所構成(如果可行的話)的三角形的面積。這個方法,不同於常見的海倫公式。
設此三點坐標分別為:
算出最大最小的
與 ,并根據三點坐標,虛構出一個矩形,兩邊分別平行於 軸、 軸。可知其面積公式如下:再在其基礎上,減去三個虛擬的三角形,其面積分別為:
剩下的就是三點所構成(如果可以的話)的三角形的面積。
Python 3 能實現此需求,代碼如下:
x1, y1, x2, y2, x3, y3 = list(map(float, (input().split())))x_max, x_min = max(x1, x2, x3), min(x1, x2, x3) y_max, y_min = max(y1, y2, y3), min(y1, y2, y3)virtual_rectangle = (x_max - x_min) * (y_max - y_min)total_virtual_triangle = 0total_virtual_triangle += abs((x1 - x2) * (y1 - y2)) / 2 total_virtual_triangle += abs((x1 - x3) * (y1 - y3)) / 2 total_virtual_triangle += abs((x2 - x3) * (y2 - y3)) / 2real_area = virtual_rectangle - total_virtual_triangleprint('The area is:%.2f' % real_area)另外,誰能分享一下,怎樣用列表或枚舉等功能,簡化下面這些代碼:
total_virtual_triangle += abs((x1 - x2) * (y1 - y2)) / 2 total_virtual_triangle += abs((x1 - x3) * (y1 - y3)) / 2 total_virtual_triangle += abs((x2 - x3) * (y2 - y3)) / 2其中最核心的工作,就是依次計算每兩點間橫縱坐標各自的差。
總結
以上是生活随笔為你收集整理的python用海伦公式求面积_Python:平面直角坐标系下用三点求所构三角形面积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mailbox 编程_MailboxPr
- 下一篇: python隐藏启动台_如何在Pytho