第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在numpy中旋轉索引數(shù)組?

如何在numpy中旋轉索引數(shù)組?

慕勒3428872 2021-11-30 16:01:58
我有一個網格,它是一個形狀為 numpy 的數(shù)組(522, 476)。然后我有另一個 numpy 數(shù)組,它是 shape 的單個 xy 點(網格的索引)的軌跡(2, 3866)。我使用np.rot90(grid). 我的問題是如何以相同的方式旋轉軌跡,以便各個 xy 點繼續(xù)與網格對齊。
查看完整描述

2 回答

?
翻翻過去那場雪

TA貢獻2065條經驗 獲得超14個贊

如果您總是只想旋轉 90 度并且始終保持相同的方向(因此rot90沒有任何其他參數(shù)),您可以使用以下公式:

idx2 = np.array([[n.shape[0]-1-x[1], x[0]] for x in idx])

假設idx是您的索引數(shù)組 (2, 3866) 和n您想要索引的網格 (522, 476)。它只是使用單次旋轉對元素的作用的知識,即將第一維切換到第二維,并使第二維從末尾開始計算為第一維。


查看完整回答
反對 回復 2021-11-30
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您可以定義一個旋轉函數(shù):


def rotate(origin, point, angle):

    """

    Rotate a point counterclockwise by a given angle around a given origin.


    The angle should be given in radians.

    """

    ox, oy = origin

    px, py = point


    qx = ox + math.cos(angle) * (px - ox) - math.sin(angle) * (py - oy)

    qy = oy + math.sin(angle) * (px - ox) + math.cos(angle) * (py - oy)

    return qx, qy

然后將此函數(shù)應用于軌跡的所有 (X,Y) 點。


origin = tuple(0, 0)

newTrajectory = []

for i in range(0:len(trajectory[0])):

    p = tuple(trajectory[i][0], trajectory[i][1])

    newP = rotate(origin, p, math.pi/2)

    row = [newP[0], newP[1]]

    newTrajectory.append(row)

最好的事物


查看完整回答
反對 回復 2021-11-30
  • 2 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號