91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .py
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-01-09
  • 語言: Python
  • 標(biāo)簽: TIN??Delaunay??

資源簡介

用python3.6實(shí)現(xiàn)delaunay三角剖分算法,讀入存有坐標(biāo)的csv文件,計算出結(jié)果用Tkinter庫顯示。

資源截圖

代碼片段和文件信息

import?tkinter
from?tkinter?import?filedialog
import?csv

#?根據(jù)兩點(diǎn)坐標(biāo)計算距離
def?caldis(x1?y1?x2?y2):
????return?((x1-x2)**2+(y1-y2)**2)**0.5

#?輸入三角形三個頂點(diǎn),計算外接圓圓心及半徑
def?calcenter(x1?y1?x2?y2?x3?y3):
????y1=-y1??#?計算公式是根據(jù)平面直角坐標(biāo)推算的,原點(diǎn)在左下角,但是計算機(jī)屏幕坐標(biāo)原點(diǎn)在右上角,所以計算式y(tǒng)坐標(biāo)取負(fù)
????y2=-y2
????y3=-y3
????if?(y1?!=?y3?and?y1?!=?y2?and?y2?!=?y3)?:??#?判斷是否有y坐標(biāo)相等,即三角形某邊斜率為0的情況,避免出現(xiàn)墳分母為0的錯誤
????????if(((x3-x1)/(y3-y1))-((x2-x1)/(y2-y1)))?==?0:
????????????x2?=?x2+1
????????x?=?(((y1?+?y3)?/?2)?+?((x1?+?x3)?/?2)?*?((x3?-?x1)?/?(y3?-?y1))?-?((y1?+?y2)?/?2)?-?((x1?+?x2)?/?2)?*
?????????????((x2?-?x1)?/?(y2?-?y1)))?/?(((x3?-?x1)?/?(y3?-?y1))?-?((x2?-?x1)?/?(y2?-?y1)))
????????y?=?-((x3?-?x1)?/?(y3?-?y1))?*?x?+?((y1?+?y3)?/?2)?+?(((x1?+?x3)?/?2)?*?((x3?-?x1)?/?(y3?-?y1)))
????????return?(x?-y

評論

共有 條評論