簡體   English   中英

python:如何將一條線旋轉45度

[英]python: how to rotate a line 45 degrees

我有兩個點,並將它們繪制成一條線,如下圖所示。

fig=plt.figure(figsize=(7,6))
plt.plot(lont[-2:],latt[-2:],'b')
plt.show()

在此輸入圖像描述

現在我想將這條線旋轉45度(將兩點之一作為原點)我該怎么辦?

輪換如下所示:

newx = (x1 - xorigin)*cos(45 * pi / 180)
newy = (y1 - yorigin)*sin(45 * pi / 180)

如果您的某個點是原點,則只需將其應用於另一點

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

angle = np.deg2rad(45)
lont = pd.Series([1, 2, 4, 6])
latt = pd.Series([4, 6, 3, 2])
R = (lont.diff()**2 + latt.diff()**2)**0.5
theta = np.arctan(latt.diff()/lont.diff())

Xnew = lont.shift(1)+ R*np.cos(angle + theta)
Ynew = latt.shift(1) + R*np.sin(angle+ theta)

fig=plt.figure()
plt.plot(lont, latt,'-ob')
plt.plot([lont.iloc[-n-2], Xnew.iloc[-n-1]], [latt.iloc[-n-2], Ynew.iloc[-n-1]], ":*r")
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM