欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)一個(gè)點(diǎn)繞另一個(gè)點(diǎn)旋轉(zhuǎn)后的坐標(biāo)

 更新時(shí)間:2019年12月04日 09:03:23   作者:星夜孤帆  
今天小編就為大家分享一篇python實(shí)現(xiàn)一個(gè)點(diǎn)繞另一個(gè)點(diǎn)旋轉(zhuǎn)后的坐標(biāo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

如下所示:

(x,y)為要轉(zhuǎn)的點(diǎn),(pointx,pointy)為中心點(diǎn),如果順時(shí)針角度為angle

srx = (x-pointx)*cos(angle) + (y-pointy)*sin(angle)+pointx

sry = (y-pointy)*cos(angle) - (x-pointx)*sin(angle)+pointy

(x,y)為要轉(zhuǎn)的點(diǎn),(pointx,pointy)為中心點(diǎn),如果逆時(shí)針角度為angle

nrx = (x-pointx)*cos(angle) - (y-pointy)*sin(angle)+pointx

nry = (x-pointx)*sin(angle) + (y-pointy)*cos(angle)+pointy

import numpy as np
import math
import matplotlib.pyplot as plt
# 繞pointx,pointy逆時(shí)針旋轉(zhuǎn)
def Nrotate(angle,valuex,valuey,pointx,pointy):
 valuex = np.array(valuex)
 valuey = np.array(valuey)
 nRotatex = (valuex-pointx)*math.cos(angle) - (valuey-pointy)*math.sin(angle) + pointx
 nRotatey = (valuex-pointx)*math.sin(angle) + (valuey-pointy)*math.cos(angle) + pointy
 return nRotatex, nRotatey
# 繞pointx,pointy順時(shí)針旋轉(zhuǎn)
def Srotate(angle,valuex,valuey,pointx,pointy):
 valuex = np.array(valuex)
 valuey = np.array(valuey)
 sRotatex = (valuex-pointx)*math.cos(angle) + (valuey-pointy)*math.sin(angle) + pointx
 sRotatey = (valuey-pointy)*math.cos(angle) - (valuex-pointx)*math.sin(angle) + pointy
 return sRotatex,sRotatey
pointx = 1
pointy = 1
sPointx ,sPointy = Nrotate(math.radians(45),pointx,pointy,0,0)
print(sPointx,sPointy)
plt.plot([0,pointx],[0,pointy])
plt.plot([0,sPointx],[0,sPointy])
plt.xlim(-3.,3.)
plt.ylim(-3.,3.)
plt.xticks(np.arange(-3.,3.,1))
plt.yticks(np.arange(-3.,3.,1))
plt.show()

import numpy as np
import math
import matplotlib.pyplot as plt
# 繞pointx,pointy逆時(shí)針旋轉(zhuǎn)
def Nrotate(angle,valuex,valuey,pointx,pointy):
 valuex = np.array(valuex)
 valuey = np.array(valuey)
 nRotatex = (valuex-pointx)*math.cos(angle) - (valuey-pointy)*math.sin(angle) + pointx
 nRotatey = (valuex-pointx)*math.sin(angle) + (valuey-pointy)*math.cos(angle) + pointy
 return nRotatex, nRotatey
# 繞pointx,pointy順時(shí)針旋轉(zhuǎn)
def Srotate(angle,valuex,valuey,pointx,pointy):
 valuex = np.array(valuex)
 valuey = np.array(valuey)
 sRotatex = (valuex-pointx)*math.cos(angle) + (valuey-pointy)*math.sin(angle) + pointx
 sRotatey = (valuey-pointy)*math.cos(angle) - (valuex-pointx)*math.sin(angle) + pointy
 return sRotatex,sRotatey
 
x1 = np.array([1,2,3])
y1 = np.array([1,2,3])
x2 = np.array([3,6])
y2 = np.array([2,1])
# x2往x1上拼
disx = x2[0]-x1[0]
disy = y2[0]-y1[0]
removeX2 = x2-disx
removeY2 = y2-disy
tany1 = y1[-1]-y1[0]
tanx1 = x1[-1]-x1[0]
angle1 = math.degrees(np.arctan(tany1/tanx1))
tany2 = y2[-1]-y2[0]
tanx2 = x2[-1]-x2[0]
angle2 = math.degrees(np.arctan(tany2/tanx2))
disAngle = angle2-angle1
print(angle1)
print(angle2)
print(disAngle)
if disAngle<0:
 rotateX,rotateY = Nrotate(math.radians(abs(disAngle)),removeX2,removeY2,x1[0],y1[0])
else:
 rotateX,rotateY = Srotate(math.radians(abs(disAngle)),removeX2,removeY2,x1[0],y1[0])
plt.plot(x1,y1,color='red')
plt.plot(removeX2,removeY2,color='green')
plt.scatter(rotateX,rotateY,color='yellow')
plt.xlim(0.,10.)
plt.ylim(0.,10.)
plt.xticks(np.arange(0.,10.,1))
plt.yticks(np.arange(0.,10.,1))
plt.show()

以上這篇python實(shí)現(xiàn)一個(gè)點(diǎn)繞另一個(gè)點(diǎn)旋轉(zhuǎn)后的坐標(biāo)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python判斷Abundant Number的方法

    Python判斷Abundant Number的方法

    這篇文章主要介紹了Python判斷Abundant Number的方法,實(shí)例分析了Python針對(duì)盈數(shù)的判斷技巧,需要的朋友可以參考下
    2015-06-06
  • 解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問(wèn)題

    解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問(wèn)題

    今天小編就為大家分享一篇解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python中print和return的作用及區(qū)別解析

    Python中print和return的作用及區(qū)別解析

    print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • django-celery-beat搭建定時(shí)任務(wù)的實(shí)現(xiàn)

    django-celery-beat搭建定時(shí)任務(wù)的實(shí)現(xiàn)

    本文主要介紹了django-celery-beat搭建定時(shí)任務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 淺析使用Python搭建http服務(wù)器

    淺析使用Python搭建http服務(wù)器

    這篇文章主要介紹了使用Python搭建http服務(wù)器,本文通過(guò)代碼實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python連接DB2數(shù)據(jù)庫(kù)

    Python連接DB2數(shù)據(jù)庫(kù)

    DB2 是美國(guó)IBM公司開(kāi)發(fā)的一套關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它主要的運(yùn)行環(huán)境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱(chēng)OS/400)、z/OS,以及Windows服務(wù)器版本。今天我們來(lái)探討下如何使用Python連接DB2數(shù)據(jù)庫(kù)
    2016-08-08
  • python實(shí)現(xiàn)tail -f 功能

    python實(shí)現(xiàn)tail -f 功能

    這篇文章主要介紹了python實(shí)現(xiàn)tail -f 功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python3 使用函數(shù)求兩個(gè)數(shù)的和與差

    python3 使用函數(shù)求兩個(gè)數(shù)的和與差

    這篇文章主要介紹了python3 使用函數(shù)求兩個(gè)數(shù)的和與差,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2021-05-05
  • Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決

    Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決

    這篇文章主要介紹了Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 利用Python實(shí)現(xiàn)電影訂票系統(tǒng)

    利用Python實(shí)現(xiàn)電影訂票系統(tǒng)

    這篇文章主要介紹了利用Python實(shí)現(xiàn)電影訂票系統(tǒng),一部電影的詳細(xì)信息適合用?字典?結(jié)構(gòu)來(lái)存儲(chǔ),我們可以給字典里添加多個(gè)鍵值對(duì)來(lái)保存電影的名稱(chēng)、座位表和宣傳時(shí)用的字符畫(huà),需要的朋友可以參考一下
    2022-03-03

最新評(píng)論