“Ellipse”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
| 无编辑摘要 | 无编辑摘要 | ||
| (未显示同一用户的1个中间版本) | |||
| 第1行: | 第1行: | ||
| python code | |||
|     import numpy as np | |||
|     from matplotlib import pyplot as plt | |||
|     from math import pi, cos, sin | |||
| ⚫ | |||
| 	from math import pi, cos, sin | |||
| ⚫ | |||
| ⚫ | |||
|     b=1.5      #radius on the y-axis | |||
|     t_rot=pi/4 #rotation angle | |||
|     t = np.linspace(0, 2*pi, 100) | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
|          #u,v removed to keep the same center location | |||
| ⚫ | |||
| ⚫ | |||
|          #2-D rotation matrix | |||
|     Ell_rot = np.zeros((2,Ell.shape[1])) | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| 		 #u,v removed to keep the same center location | |||
| ⚫ | |||
| 		 #2-D rotation matrix | |||
| ⚫ | |||
| 	Ell_rot = np.zeros((2,Ell.shape[1])) | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
2019年6月27日 (四) 03:33的最新版本
python code
import numpy as np from matplotlib import pyplot as plt from math import pi, cos, sin u=1. #x-position of the center v=0.5 #y-position of the center a=2. #radius on the x-axis b=1.5 #radius on the y-axis t_rot=pi/4 #rotation angle
   t = np.linspace(0, 2*pi, 100)
   Ell = np.array([a*np.cos(t) , b*np.sin(t)])  
        #u,v removed to keep the same center location
   R_rot = np.array([[cos(t_rot) , -sin(t_rot)],[sin(t_rot) , cos(t_rot)]])  
        #2-D rotation matrix
   Ell_rot = np.zeros((2,Ell.shape[1]))
   for i in range(Ell.shape[1]):
       Ell_rot[:,i] = np.dot(R_rot,Ell[:,i])
plt.plot( u+Ell[0,:] , v+Ell[1,:] ) #initial ellipse plt.plot( u+Ell_rot[0,:] , v+Ell_rot[1,:],'darkorange' ) #rotated ellipse plt.grid(color='lightgray',linestyle='--') plt.show()