点,线,多边形的创建¶
点¶
单个点的创建可以直接写成P=(x,y)的形式或者np.array((x,y))的形式(建议给矩阵形式,另一种格式只是防止出错) 多个点可以写成Points=[(a,b,c),(d,e,f),(g,h,i)] 的形式或者np.array([(a,b,c),(d,e,f),(g,h,i)])的形式 例子: P1,P2为(1,1)和(2,2)点,Points1,Points2是(0.0,0.0),(0.5,0.0),(1.0,0.0),(1.5,0.0),(2.0,0.0)五个点
>>> P1=(1,1) ##创建点(1,1)
>>> P2=np.array((2,2))
>>> Points1 = [(0.0,0.0),(0.5,0.0),(1.0,0.0),(1.5,0.0),(2.0,0.0)]
>>> Points2 = np.array([(0.0,0.0),(0.5,0.0),(1.0,0.0),(1.5,0.0),(2.0,0.0)])
除此之外点还可以表示为三维矩阵(此功能仅仅便于点的输入)
>>> Points1 = [[(0.0,0.0),(0.5,0.0)],[(1.0,0.0),(1.5,0.0)],[(2.0,0.0),(2.5,0.0)]]
>>> Points2 = np.array([[(0.0,0.0),(0.5,0.0)],[(1.0,0.0),(1.5,0.0)],[(2.0,0.0),(2.5,0.0)]])
线,面¶
线用线上一点和线的斜率定义
>>> P1,L1 = (0,0), (1,2)
该程序为过(0,0)点,斜率为(1,2)的线
面用面上一点和面的法向量定义
>>> P1,L1 = (0,0,0), (1,2,3)
该程序为过(0,0,0)点,法向量为(1,2,3)的面
多边形¶
只能创建封闭多边形,两种创建方式,一种是按顺时针或逆时针方向给出每一点的坐标,另一种是创建一个基础图形,经旋转平移变换得到三维空间图形
1.由坐标创建 vertices1 = [(0,0,0),(1,0,0),(1,1,1),(0,1,1)] polygon1 = np.array(vertices1)
>>> vertices1 = [(0,0,0),(1,0,0),(1,1,1),(0,1,1)]
>>> polygon1 = np.array(vertices1)

2.创建一个基础图形后变换得到三维图形
>>> vertices2D = Vertices([(0,0),(0,2**0.5),(1,2**0.5),(1,0)]) ##定义的分别是y和z即(y,z)

##旋转 alpha角为俯视图下(z轴的反方向)的旋转角(单位为°)(逆时针为正),旋转点为(x0,y0,z0)点 ## beta角为左视图下(y轴的正方形)的旋转角(逆时针为正),旋转点为(x0,y0,z0)点
>>> x0,y0,z0 = 0,0,0 ##设定位移量 ,即把原来坐标系的(0,0)点平移到新的坐标系中的(x0,y0,z0)点
>>> s1 = alpha, beta =-90,45
>>> ##设定旋转角 alpha角为俯视图下(z轴的反方向)的旋转角(单位为°)(逆时针为正),旋转点为(x0,y0,z0)点
>>> ## beta角为左视图下(y轴的正方形)的旋转角(逆时针为正),旋转点为(x0,y0,z0)点
>>> vertices = move(shape = vertices2D, to = (x0,y0,z0), by = (alpha,beta)) ##变换

旋转的过程图像
