婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python Graham求凸包問(wèn)題并畫(huà)圖操作

python Graham求凸包問(wèn)題并畫(huà)圖操作

熱門(mén)標(biāo)簽:朝陽(yáng)手機(jī)外呼系統(tǒng) 北瀚ai電銷(xiāo)機(jī)器人官網(wǎng)手機(jī)版 小蘇云呼電話機(jī)器人 市場(chǎng)上的電銷(xiāo)機(jī)器人 佛山400電話辦理 儋州電話機(jī)器人 所得系統(tǒng)電梯怎樣主板設(shè)置外呼 地圖標(biāo)注面積 北京電銷(xiāo)外呼系統(tǒng)加盟

python Graham求凸包并畫(huà)圖

python寫(xiě)Graham沒(méi)有c++那么好寫(xiě),但是python畫(huà)圖簡(jiǎn)單。只需要用matplotlib里的pyplot,c++畫(huà)圖太難了。

Graham算法寫(xiě)起來(lái)比較簡(jiǎn)單,只需要想辦法對(duì)最小點(diǎn)和其他的點(diǎn)所連成的直線,與x軸正半軸的夾角進(jìn)行排序,然后其他的就直接套用Graham算法模板就好了,因?yàn)閏++可以重載排序函數(shù)sort,不用計(jì)算角度(用其他的數(shù)學(xué)方法),但是python不行(也許是我不知道而已,菜)。

python必須要在結(jié)構(gòu)體里面加上角度這個(gè)變量,然后才能按照角度排序。排好序后就變得容易了,用stack棧存放答案,算完答案后,用scatter(散點(diǎn)圖)畫(huà)出點(diǎn),用plt(折線圖)畫(huà)邊界就好了。

import matplotlib.pyplot as plt
import math
import numpy as np  
class Node:
    def __init__(self):
        self.x = 0
        self.y = 0
        self.angel = 0
        #和最左下的點(diǎn)連成的直線,與x軸正半軸的夾角大小 
 
#按照角度從小到大排序
def cmp(x):
    return x.angel  
def bottom_point(points):
    min_index = 0
    n = len(points)
    #先判斷y坐標(biāo),找出y坐標(biāo)最小的點(diǎn),x坐標(biāo)最小的點(diǎn)
    for i in range(1, n):
        if points[i].y  points[min_index].y or (points[i].y == points[min_index].y and
           points[i].x  points[min_index].x):
            min_index = i
    return min_index 
 
#計(jì)算角度
def calc_angel(vec):
    norm = math.sqrt(vec[0] * vec[0] + vec[1] * vec[1])
    if norm == 0:
        return 0
    angel = math.acos(vec[0]/norm)
    if vec[1] >= 0:
        return angel
    else:
        return math.pi * 2 - angel 
 
def multi(v1, v2):
    return v1[0] * v2[1] - v1[1] * v2[0] 
 
point = []
n = 30
#生成30個(gè)點(diǎn)的坐標(biāo),n可以修改
for i in range(n):
    temp = Node()
    temp.x = np.random.randint(1, 100)
    temp.y = np.random.randint(1, 100)
    point.append(temp)
index = bottom_point(point)
for i in range(n):
    if i == index:
        continue
    #計(jì)算每個(gè)點(diǎn)和point[index]所連成的直線與x軸正半軸的夾角
    vector = [point[i].x - point[index].x, point[i].y - point[index].y]
    #vector是向量
    point[i].angel = calc_angel(vector)
#排序
point.sort(key=cmp)
#答案存入棧中
stack = []
stack.append(point[0])
stack.append(point[1])
#for循環(huán)更新答案
for i in range(2, n):
    L = len(stack)
    top = stack[L - 1]
    next_top = stack[L - 2]
    vec1 = [point[i].x - next_top.x, point[i].y - next_top.y]
    vec2 = [top.x - next_top.x, top.y - next_top.y]
    #一定要大于等于零,因?yàn)榭赡茉谝粭l直線上
    while multi(vec1, vec2) >= 0:
        stack.pop()
        L = len(stack)
        top = stack[L - 1]
        next_top = stack[L - 2]
        vec1 = [point[i].x - next_top.x, point[i].y - next_top.y]
        vec2 = [top.x - next_top.x, top.y - next_top.y]
    stack.append(point[i])
#畫(huà)出圖像
for p in point:
    plt.scatter(p.x, p.y, marker='o', c='g')
L = len(stack)
for i in range(L-1):
    plt.plot([stack[i].x, stack[i+1].x], [stack[i].y, stack[i+1].y], c='r')
plt.plot([stack[0].x, stack[L-1].x], [stack[0].y, stack[L-1].y], c='r')
plt.show()

Python 找到凸包 Convex hulls

圖形學(xué)可以說(shuō)經(jīng)常遇到這東西了,這里給出一個(gè)庫(kù)函數(shù)的實(shí)現(xiàn)

from scipy.spatial import ConvexHull
points = np.random.rand(10, 2) # 30 random points in 2-D
hull = ConvexHull(points)
import matplotlib.pyplot as plt
plt.plot(points[:,0], points[:,1], 'o')
for simplex in hull.simplices:
 plt.plot(points[simplex,0], points[simplex,1], 'k-')
plt.show()

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • python 生成任意形狀的凸包圖代碼
  • 基于python 凸包問(wèn)題的解決
  • Python求凸包及多邊形面積教程

標(biāo)簽:龍巖 云南 寧夏 酒泉 商丘 金融催收 江蘇 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python Graham求凸包問(wèn)題并畫(huà)圖操作》,本文關(guān)鍵詞  python,Graham,求凸包,問(wèn)題,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python Graham求凸包問(wèn)題并畫(huà)圖操作》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于python Graham求凸包問(wèn)題并畫(huà)圖操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩经典中文字幕一区| 91精品久久久久久久99蜜桃 | 日本亚洲电影天堂| 国产精品嫩草影院av蜜臀| 欧美一区二区三区影视| 在线国产电影不卡| 成人动漫一区二区| 国内精品久久久久影院色| 午夜久久久久久| 亚洲夂夂婷婷色拍ww47| 亚洲国产高清在线| 国产欧美综合在线| 欧美精品一区二区不卡| 欧美一区二区在线不卡| 欧美男男青年gay1069videost| 色先锋资源久久综合| 色综合色狠狠天天综合色| 成人免费视频国产在线观看| 国产精品99久久久久| 国产a精品视频| 成人97人人超碰人人99| 久久99精品国产麻豆婷婷洗澡| 国产蜜臀97一区二区三区| 久久久www成人免费毛片麻豆| 日韩欧美国产精品一区| 欧美制服丝袜第一页| 一区二区三区欧美| 欧美一区二区三区免费大片| 日韩欧美黄色影院| 尤物在线观看一区| 精品一区二区三区久久| 欧美色欧美亚洲另类二区| 久久久久亚洲综合| 日本不卡视频在线| 9191国产精品| 精久久久久久久久久久| 日韩精品中文字幕在线不卡尤物| 亚洲国产精品av| 国产精品18久久久久久久久久久久 | 亚洲黄色片在线观看| 国产午夜精品理论片a级大结局| 精品国产乱码久久久久久夜甘婷婷| 欧美tickling挠脚心丨vk| 国产亚洲欧洲997久久综合| 国产精品嫩草99a| 亚洲二区视频在线| 国产一区二区不卡在线| 色94色欧美sute亚洲线路一ni | 亚洲精选视频在线| 亚洲在线成人精品| 久久国产精品露脸对白| 国产精品一区在线观看你懂的| 99久久99久久精品免费观看| 欧美性大战xxxxx久久久| 欧美精品一区二区在线观看| 中国色在线观看另类| 99久久99久久精品国产片果冻| 欧美午夜精品免费| 综合久久一区二区三区| 久久综合九色综合久久久精品综合| 国产日韩综合av| 亚洲激情欧美激情| 日韩国产精品久久久久久亚洲| 久久99精品久久久久久国产越南| 99视频精品在线| 在线播放91灌醉迷j高跟美女| www亚洲一区| 亚洲高清免费一级二级三级| 国产99久久久国产精品| 色狠狠色狠狠综合| 久久免费国产精品| 午夜精品在线视频一区| 91在线一区二区三区| 日韩欧美国产不卡| 伊人婷婷欧美激情| 波多野结衣亚洲| 911精品产国品一二三产区 | 国产视频一区二区在线| 欧美日韩免费视频| 国产亚洲综合在线| 免费成人在线观看| 不卡视频一二三| 日韩一级视频免费观看在线| 亚洲卡通欧美制服中文| 成人国产精品免费| 日本一区二区视频在线观看| 亚洲免费av在线| 成人国产精品免费观看| 国产三级欧美三级日产三级99| 偷拍亚洲欧洲综合| 欧美性大战xxxxx久久久| 一区二区三区蜜桃| 91网站在线观看视频| 中文字幕欧美激情一区| 国产福利精品导航| 欧美激情一区二区三区不卡| 日本不卡视频在线| 91麻豆精品国产91久久久使用方法| 三级精品在线观看| 欧美系列日韩一区| 亚洲精品成人天堂一二三| www.性欧美| 综合久久给合久久狠狠狠97色| 成人妖精视频yjsp地址| 中文字幕av一区 二区| 国产成人亚洲精品青草天美| 久久免费偷拍视频| 国产成人精品影视| 国产精品免费视频观看| 色综合久久久久久久| 日韩毛片视频在线看| 91老司机福利 在线| 亚洲高清免费在线| 欧美一级黄色录像| 国产成人自拍在线| 亚洲三级免费电影| 成人性视频免费网站| 午夜精品福利在线| 91福利在线看| 亚洲综合精品自拍| 中文一区一区三区高中清不卡| 日韩精品亚洲专区| 欧美一级生活片| 日本午夜精品一区二区三区电影| 日韩欧美精品在线| 国产高清在线观看免费不卡| 精品久久久久久无| 国产一区二区三区不卡在线观看| 欧美年轻男男videosbes| 日本sm残虐另类| 国产亚洲一二三区| a级精品国产片在线观看| 亚洲欧美精品午睡沙发| 欧美午夜精品理论片a级按摩| 日韩中文字幕亚洲一区二区va在线 | 日韩午夜激情av| 日韩高清电影一区| 精品欧美乱码久久久久久1区2区 | 波多野结衣中文一区| 亚洲欧美激情在线| 欧美大胆一级视频| 99在线精品视频| 日韩精品最新网址| 国产成人免费av在线| 日韩精品一卡二卡三卡四卡无卡| 日韩精品综合一本久道在线视频| 成人国产精品免费观看| 天天操天天色综合| 国产亚洲精品精华液| 91色视频在线| 亚洲成人久久影院| 中文字幕亚洲在| 久久影视一区二区| 久久精品人人做人人爽人人| 首页国产欧美久久| 国产自产高清不卡| 亚洲色欲色欲www在线观看| 91久久久免费一区二区| 日本不卡在线视频| 国产色91在线| 日韩美女视频在线| 91丝袜国产在线播放| 国模套图日韩精品一区二区| 亚洲人成网站精品片在线观看| 日韩视频免费直播| 欧美老女人在线| caoporn国产一区二区| 毛片一区二区三区| 亚洲女与黑人做爰| 国产精品久久综合| 日韩精品一区二区三区蜜臀 | 国产一区啦啦啦在线观看| 亚洲美女屁股眼交| 欧美一区二区不卡视频| 91在线丨porny丨国产| 国内精品国产成人国产三级粉色| 亚洲综合男人的天堂| 2021中文字幕一区亚洲| 欧美一级日韩一级| 6080午夜不卡| 欧美日韩五月天| 欧美日韩在线不卡| 96av麻豆蜜桃一区二区| av网站免费线看精品| 92国产精品观看| 欧美男男青年gay1069videost | 欧美日韩亚洲不卡| 91九色02白丝porn| 欧美在线看片a免费观看| 色丁香久综合在线久综合在线观看| aaa欧美大片| 自拍偷拍欧美激情| 欧美大白屁股肥臀xxxxxx| 亚洲午夜精品在线| 亚洲精品国产精华液| 亚洲综合在线五月| 一区二区三区精品视频| 亚洲福利视频导航| 日韩电影在线观看网站| 精品一区二区在线视频|