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
: 缩放中心,默认为几何中心