tkintertools.tools_3d¶
字数 1635 个 代码 260 行 阅读时间 9 分钟 访问量
文件描述: 3D support
外部引用: array, constants, exceptions, main, math, statistics, tkinter, typing
源码位置: tkintertools\tools_3d.py
Functions - 函数¶
01. project¶
project Function
将一个三维空间中的点投影到指定距离的正向平面上,并返回在该平面上的坐标
coordinate: 点的空间坐标distance: 正向平面的距离(平面正对着我们)
02. rotate¶
rotate Function
将一个三维空间中的点以一个点或线为参照进行旋转(实现方式为欧拉角)
coordinate: 点的空间坐标dx: x 方向逆时针旋转弧度,或者绕旋转轴线的旋转弧度dy: y 方向逆时针旋转弧度dz: z 方向逆时针旋转弧度center: 旋转中心的空间坐标axis: 旋转轴线的空间坐标
03. scale¶
scale Function
将一个三维空间中的点以另一个点为缩放中心进行缩放
coordinate: 点的空间坐标kx: x 方向缩放比例ky: y 方向缩放比例kz: z 方向缩放比例center: 缩放中心的空间坐标
04. translate¶
translate Function
将一个三维空间中的点进行平移
coordinate: 点的空间坐标dx: x 方向位移长度dy: y 方向位移长度dz: z 方向位移长度
Classes - 类¶
01. Canvas3D¶
Canvas3D(Canvas) Class
3D 画布基类
__init__ Method Special
master: 父控件width: 画布宽度height: 画布高度x: 画布左上角的横坐标y: 画布左上角的纵坐标lock: 画布内控件的功能锁,为False时功能暂时失效expand: 画布内控件是否能缩放keep: 画布比例是否保持不变camera_distance: 相机位置与原点间的距离,默认值为 1000**kw: 与tkinter.Canvas类的参数相同
02. Cuboid¶
Cuboid(Geometry) Class
长方体
__init__ Method Special
canvas: 父画布x: 左上角 x 坐标y: 左上角 y 坐标z: 左上角 z 坐标length: 长度width: 宽度height: 高度boardwidth: 边框线条宽度color_fill_up: 上表面内部颜色color_fill_down: 下表面内部颜色color_fill_left: 左侧面内部颜色color_fill_right: 右侧面内部颜色color_fill_front: 正面内部颜色color_fill_back: 后面内部颜色color_outline_up: 上表面边框颜色color_outline_down: 下表面边框颜色color_outline_left: 左侧面边框颜色color_outline_right: 右侧面边框颜色color_outline_front: 正面边框颜色color_outline_back: 后面边框颜色
03. Geometry¶
Geometry Class
几何体
rotate Method
旋转几何体中的所有 3D 对象
dx: x 方向逆时针旋转弧度,或者绕旋转轴线的旋转弧度dy: y 方向逆时针旋转弧度dz: z 方向逆时针旋转弧度center: 旋转中心,默认为原点axis: 旋转轴线,无默认值
scale Method
缩放几何体中的所有 3D 对象
kx: x 方向缩放比例ky: y 方向缩放比例kz: z 方向缩放比例center: 缩放中心,默认为几何中心
translate Method
平移几何体中的所有 3D 对象
dx: x 方向位移长度dy: y 方向位移长度dz: z 方向位移长度
04. Line¶
Line(_Object3D) Class
线
__init__ Method Special
canvas: 父画布point_start: 起点坐标point_end: 终点坐标width: 线的宽度fill: 线的颜色
05. Point¶
Point(_Object3D) Class
点
__init__ Method Special
canvas: 父画布coords: 点的空间坐标size: 点的大小width: 点轮廓的宽度fill: 点内部的填充颜色outline: 点轮廓的颜色markuptext: 标记文本markupdelta: 标记文本显示位置的偏移量markupfont: 标记文本字体markupfill: 标记文本颜色markupjustify: 标记文本多行对齐方式
06. Side¶
Side(_Object3D) Class
面
__init__ Method Special
canvas: 父画布points: 各点的空间坐标width: 面轮廓的宽度fill: 面内部的填充颜色outline: 面轮廓的颜色
07. Space¶
Space(Canvas3D) Class
三维空间
__init__ Method Special
master: 父控件width: 画布宽度height: 画布高度x: 画布左上角的横坐标y: 画布左上角的纵坐标lock: 画布内控件的功能锁,为False时功能暂时失效expand: 画布内控件是否能缩放keep: 画布比例是否保持不变camera_distance: 相机位置与原点间的距离,默认值为 1000origin_size: 原点大小,默认值为 1origin_width: 原点轮廓宽度,默认值为 1origin_fill: 原点填充颜色,默认为无色origin_outline: 原点轮廓颜色,默认为无色**kw: 与tkinter.Canvas类的参数相同
08. Tetrahedron¶
Tetrahedron(Geometry) Class
四面体
__init__ Method Special
canvas: 父画布point_1: 第一个顶点point_2: 第二个顶点point_3: 第三个顶点point_4: 第四个顶点boardwidth: 边框线条宽度color_fill: 内部颜色序列color_outline: 边框颜色序列
09. Text3D¶
Text3D(_Object3D) Class
三维文本
__init__ Method Special
canvas: 父画布coords: 点的空间坐标text: 显示的文本size: 点的大小font: 点轮廓的宽度justify: 多行文本对齐方式fill: 点内部的填充颜色
10. _Object3D¶
_Object3D Class Internal
3D 对象基类
_project Method Internal
投影对象自身
distance: 对象与观察者的距离canvas: 投影到的画布
rotate Method
旋转对象本身
dx: x 方向逆时针旋转弧度,或者绕旋转轴线的旋转弧度dy: y 方向逆时针旋转弧度dz: z 方向逆时针旋转弧度center: 旋转中心,默认为原点axis: 旋转轴线,无默认值
scale Method
缩放对象本身
kx: x 方向缩放比例ky: y 方向缩放比例kz: z 方向缩放比例center: 缩放中心,默认为几何中心