最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中實現(xiàn)根據(jù)坐標點位置求方位角

 更新時間:2023年08月16日 09:16:04   作者:邊ing  
這篇文章主要介紹了python中實現(xiàn)根據(jù)坐標點位置求方位角方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python根據(jù)坐標點位置求方位角

話不多說,直接上代碼:

from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
import sys
import math
class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.resize(500, 250)
        self.setWindowTitle("坐標系")
        self.lb = QLabel("點1到原點距離:", self)
        self.lb.move(20, 40)
        self.lb2 = QLabel("點1與原點的角度:", self)
        self.lb2.move(20, 80)
        self.lb3 = QLabel("點2到原點距離:", self)
        self.lb3.move(20, 120)
        self.lb4 = QLabel("點2與原點的角度:", self)
        self.lb4.move(20, 160)
        self.bt1 = QPushButton('查詢', self)
        self.bt1.move(20, 200)
        self.edit = QLineEdit('', self)
        self.edit.move(150, 40)
        self.edit2 = QLineEdit('', self)
        self.edit2.move(150, 80)
        self.edit3 = QLineEdit('', self)
        self.edit3.move(150, 120)
        self.edit4 = QLineEdit('', self)
        self.edit4.move(150, 160)
        self.bt1.clicked.connect(self.calc_angle)
        self.show()
    def calc_angle(self):
        x1 = float(self.edit.text()) * math.cos(math.radians(int(self.edit2.text())))
        y1 = float(self.edit.text()) * math.sin(math.radians(int(self.edit2.text())))
        x2 = float(self.edit3.text()) * math.cos(math.radians(int(self.edit4.text())))
        y2 = float(self.edit3.text()) * math.sin(math.radians(int(self.edit4.text())))
        angle = 0
        dy = y2 - y1
        dx = x2 - x1
        if dx == 0 and dy > 0:
            angle = 90
            print('順時針:', angle, '°')
        if dx == 0 and dy < 0:
            angle = 270
            print('順時針:', angle, '°')
        if dy == 0 and dx > 0:
            angle = 0
            print('順時針:', angle, '°')
        if dy == 0 and dx < 0:
            angle = 180
            print('順時針:', angle, '°')
        if dx > 0 and dy > 0:
            angle = math.atan(dy / dx)* 180 / math.pi
            print('東偏北:',angle,'°')
        elif dx < 0 and dy > 0:
            angle = 90 - math.atan(dy / abs(dx))* 180 / math.pi
            print('北偏西:', angle, '°')
        elif dx < 0 and dy < 0:
            angle = math.atan(dy / dx)* 180 / math.pi
            print('西偏南:', angle, '°')
        elif dx > 0 and dy < 0:
            angle = math.atan(abs(dy) / dx)* 180 / math.pi
            print('東偏南:', angle, '°')
        length = math.sqrt(dy * dy + dx * dx)
        print(length)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

> 這里是引用

這里是引用

最后的結(jié)果之所以有那么多小數(shù)點,是因為math.pi,其實就是π,3.1415926…,有很多小數(shù)位!

其實上文就是,在一個坐標系中,已知兩個點到坐標原點的距離,以及它們和橫軸的角度(這都是需要自己手動輸入的),那么就以第一個點為此時的坐標原點,求第二個點到第一個點的距離,以及第二點在第一點的相關(guān)方位。

ps:我這里是已知兩點到原點的距離和角度,就像在一個極坐標里一樣,如果直接知道兩點的橫縱坐標,那么會更好求。

python根據(jù)坐標點計算方位角函數(shù)

# 計算方位角函數(shù)
def azimuthAngle( x1, y1, x2, y2):
  angle = 0.0;
  dx = x2 - x1
  dy = y2 - y1
  if x2 == x1:
    angle = math.pi / 2.0
    if y2 == y1 :
      angle = 0.0
    elif y2 < y1 :
      angle = 3.0 * math.pi / 2.0
  elif x2 > x1 and y2 > y1:
    angle = math.atan(dx / dy)
  elif x2 > x1 and y2 < y1 :
    angle = math.pi / 2 + math.atan(-dy / dx)
  elif x2 < x1 and y2 < y1 :
    angle = math.pi + math.atan(dx / dy)
  elif x2 < x1 and y2 > y1 :
    angle = 3.0 * math.pi / 2.0 + math.atan(dy / -dx)
  return (angle * 180 / math.pi)
#計算角度
print(white_point)
if white_point[0][0]>white_point[1][0]:
    x1=white_point[1][0];
    y1=white_point[1][1];
    x2=white_point[0][0];
    y2=white_point[0][1];
else:
    x1=white_point[0][0];
    y1=white_point[0][1];
    x2=white_point[1][0];
    y2=white_point[1][1];
angle = 90-azimuthAngle(x1,y1,x2,y2)
print("angle:"+str(angle))

總結(jié)

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

相關(guān)文章

  • Python3.6+Django2.0以上 xadmin站點的配置和使用教程圖解

    Python3.6+Django2.0以上 xadmin站點的配置和使用教程圖解

    django自帶的admin站點雖然功能強大,但是界面不是很好看。這篇文章主要介紹了Python3.6+Django2.0以上 xadmin站點的配置和使用 ,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Python Selenium安裝及環(huán)境配置的實現(xiàn)

    Python Selenium安裝及環(huán)境配置的實現(xiàn)

    這篇文章主要介紹了Python Selenium安裝及環(huán)境配置的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python隨機生成迷宮游戲的代碼示例

    Python隨機生成迷宮游戲的代碼示例

    本文主要介紹了Python隨機生成迷宮游戲的代碼示例,Python可以通過生成二維數(shù)組模擬迷宮的結(jié)構(gòu),使用深度優(yōu)先搜索和廣度優(yōu)先搜索等算法找到通路,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 基于Python實現(xiàn)Markdown轉(zhuǎn)ePub

    基于Python實現(xiàn)Markdown轉(zhuǎn)ePub

    數(shù)字閱讀ePub格式因其良好的兼容性和閱讀體驗,已經(jīng)成為電子書的主流格式之一,而Markdown作為一種輕量級標記語言,以其簡潔易用的特點深受技術(shù)寫作者喜愛,下面我們來看看如何實現(xiàn)二者之間的格式轉(zhuǎn)換吧
    2025-04-04
  • Python生成器深度解析如何構(gòu)建強大的數(shù)據(jù)處理管道

    Python生成器深度解析如何構(gòu)建強大的數(shù)據(jù)處理管道

    這篇文章主要為大家介紹了Python生成器深度解析如何構(gòu)建強大的數(shù)據(jù)處理管道,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 詳解Python中的null是什么

    詳解Python中的null是什么

    這篇文章主要介紹了Python中的null是什么,Python中其實沒有null這個詞,取而代之的是None對象,即特殊類型NoneType,代表空、沒有,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Python使用OpenCV實現(xiàn)物體跟蹤的實踐方法

    Python使用OpenCV實現(xiàn)物體跟蹤的實踐方法

    文章介紹了使用OpenCV進行物體跟蹤的小項目,涵蓋選擇ROI、初始化跟蹤器、逐幀更新等核心流程,代碼示例展示了不同OpenCV版本的兼容性處理、跟蹤失敗提示和交互控制,此外,還提供了常見問題解答和進一步學習建議,需要的朋友可以參考下
    2026-04-04
  • python pyppeteer 破解京東滑塊功能的代碼

    python pyppeteer 破解京東滑塊功能的代碼

    這篇文章主要介紹了python pyppeteer 破解京東滑塊功能的代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 使用Python編程分析火爆全網(wǎng)的魷魚游戲豆瓣影評

    使用Python編程分析火爆全網(wǎng)的魷魚游戲豆瓣影評

    本文來為大家介紹如何使用Python爬取影評的操作,主要是爬取《魷魚游戲》在豆瓣上的一些影評,對數(shù)據(jù)做一些簡單的分析,用數(shù)據(jù)的角度重新審視下這部劇,有需要的朋友可以借鑒參考下
    2021-10-10
  • Pycharm?debug程序,跳轉(zhuǎn)至指定循環(huán)條件/循環(huán)次數(shù)問題

    Pycharm?debug程序,跳轉(zhuǎn)至指定循環(huán)條件/循環(huán)次數(shù)問題

    這篇文章主要介紹了Pycharm?debug程序,跳轉(zhuǎn)至指定循環(huán)條件/循環(huán)次數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

光山县| 江安县| 通州市| 宕昌县| 平昌县| 无锡市| 正宁县| 瑞丽市| 洞头县| 淮滨县| 介休市| 万安县| 金昌市| 葫芦岛市| 太仓市| 临颍县| 辉县市| 内丘县| 汉寿县| 兴仁县| 丁青县| 墨江| 韶山市| 宜宾市| 疏附县| 郸城县| 靖江市| 龙江县| 广灵县| 潼关县| 昌都县| 新化县| 巴南区| 江西省| 垫江县| 隆化县| 无极县| 图木舒克市| 松溪县| 永定县| 连江县|