數據旋轉公式
x1=cos(angle)*x-sin(angle)*y;
y1=cos(angle)*y+sin(angle)*x;
python獲取圖像坐標,從數學上來說,此公式可以用來計算某個點繞另外一點旋轉一定角度后的坐標,例如:A(x,y)繞B(a,b)旋轉β度后的位置為C(c,d),則x,y,a,b,β,c,d有如下關系式:
import matplotlib.pyplot as plt
import numpy as np
import math
python根據坐標點畫線,a = [0,1,3,3,2,2]
b = [3,4,2,1]
c = [3,3,2,3]
a = np.array(a)
先看橫坐標還是豎坐標、b = np.array(b)
c = np.array(c)
def rotate(angle,valuex,valuey):
rotatex = math.cos(angle)*valuex -math.sin(angle)*valuey
python標注cad坐標點。rotatey = math.cos(angle)*valuey + math.sin(angle)* valuex
rotatex = rotatex.tolist()
rotatey = rotatey.tolist()
xy = rotatex + rotatey
橫坐標是哪個?return xy
def getLen(x1,y1,x2,y2):
diff_x = (x1-x2)**2
diff_y = (y1-y2)**2
怎么看橫坐標和縱坐標。length = np.sqrt(diff_x+diff_y)
return length
lie = np.linspace(0,2,20) #畫圖時橫縱坐標刻度,影響著它們的形狀,可以設置一下刻度分布
for i in lie:
一個橫坐標三個縱坐標?t = math.pi*i
a1 = rotate(t,a[0:3],a[3:6])
b1 = rotate(t,b[0:2],b[2:4])
c1 = rotate(t,c[0:2],c[2:4])
python有什么用?len1 = getLen(a[0],a[3],a[1],a[4])
len2 = getLen(a1[0],a1[3],a1[1],a1[4])
print(len1)
print(len2)
坐標?print("旋轉后長度是否相等",len1==len2)
plt.plot(a[0:3],a[3:6],color='green')
plt.plot(b[0:2],b[2:4],color='green')
plt.plot(c[0:2],c[2:4],color='green')
plt.plot(a1[0:3],a1[3:6],color='red')
plt.plot(b1[0:2],b1[2:4],color='red')
plt.plot(c1[0:2],c1[2:4],color='red')
plt.xticks(np.arange(-5,5,0.5))
plt.yticks(np.arange(-5,5,0.5))
plt.show()
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态