[問題] 限制定義域的計算和作圖

看板Python作者 (不認識)時間11年前 (2014/11/11 07:16), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
各位好, 現在在x-y平面上面要計算一函數Epsk(x,y), 但是x,y只能定義在一個特殊的六角形裡面. A_____B / \ F/ \C \ / E\_____/D A=(-2*pi/3, 2*pi/sqrt(3)) B=( 2*pi/3, 2*pi/sqrt(3)) C=( 4*pi/3, 0 ) D=( 2*pi/3,-2*pi/sqrt(3)) E=(-2*pi/3,-2*pi/sqrt(3)) F=(-4*pi/3, 0 ) 若一開始用np.linspace建構x, y向量, 其座標範圍涵蓋這個六角形, 請問如何用python特殊寫法限制(x,y)在此六角形裡面呢? 例如一維的情形可用 Z = [a for a in LIST if CONDITION]來構造Z. 但這裡二維的情況該如何寫呢? ================================== #!/usr/bin/python3 import numpy as np Lk = 100 t0 = 1 t1 = 1 mu = 0 x = np.linspace(-4.*np.pi/3.,4.*np.pi/3.,Lk) y = np.linspace(-2.*np.pi/np.sqrt(3.),2.*np.pi/np.sqrt(3.),Lk) # 限制x,y於六角形內? Epsk = - 2.*t1*np.cos(kx/2.) - 4.*t0*np.cos(kx/2.)*np.cos(ky*np.sqrt(3.)/2.) + mu -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 95.117.133.195 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1415661398.A.30B.html

11/11 12:26, , 2F
Point in Polygon
11/11 12:26, 2F

11/11 22:01, , 3F
Thx, 我已先用簡單方法解決了.
11/11 22:01, 3F
文章代碼(AID): #1KOKTMCB (Python)
文章代碼(AID): #1KOKTMCB (Python)