Библиотека для создания и отображения 3D объектов с помощью Tkinter
Project description
Py3DGraphics
Библиотека для создания и отображения 3D объектов с помощью Tkinter.
Установка
pip install py3dgraphics
Быстрый старт
Создайте вращающийся куб в пару строк:
from py3dgraphics import create_cube, quick_scene
cube = create_cube() # Куб по умолчанию
quick_scene(cube) # Запуск сцены
Пример использования
from py3dgraphics import create_cube, quick_scene
# Создание кубов с разными размерами и скоростями
cube1 = create_cube(size=150, speed=0.02) # Большой, быстрый
cube2 = create_cube(size=75, speed=0.005) # Маленький, медленный
# Запуск сцены
quick_scene(cube1, cube2)
Расширенное использование
from py3dgraphics import create_cube, Scene3D
import time
# Создание кубов
cube = create_cube(size=150, speed=0.009, position=(300, 0, 0))
cube1 = create_cube(size=120, speed=0.007)
# Создание сцены
scene = Scene3D()
scene.add_object(cube)
scene.add_object(cube1)
# Анимация движения
xp = 300
while True:
xp += 1
cube.set_position(xp, 0, 0) # Изменение позиции
scene.update_scene() # Обновление сцены
time.sleep(0.05)
Управление анимацией
Объекты вращаются только если их speed > 0. Для статичных объектов установите speed=0.
from py3dgraphics import create_cube, quick_scene
# Создание кубов с разными скоростями
cube1 = create_cube(size=150, speed=0.02) # Вращается
cube2 = create_cube(size=75, speed=0) # Не вращается
# Запуск сцены
quick_scene(cube1, cube2)
Или ручное управление:
from py3dgraphics import create_cube, Scene3D
scene = Scene3D()
scene.add_object(create_cube())
scene.add_object(create_cube(size=100, position=(200, 0, 0), speed=0)) # Статичный
scene.run()
Ручное создание объектов
from py3dgraphics import Point3D, Object3D, Scene3D
# Создание куба вручную
CUBE_SIZE = 150
points = [
[-CUBE_SIZE, -CUBE_SIZE, -CUBE_SIZE],
[ CUBE_SIZE, -CUBE_SIZE, -CUBE_SIZE],
[ CUBE_SIZE, CUBE_SIZE, -CUBE_SIZE],
[-CUBE_SIZE, CUBE_SIZE, -CUBE_SIZE],
[-CUBE_SIZE, -CUBE_SIZE, CUBE_SIZE],
[ CUBE_SIZE, -CUBE_SIZE, CUBE_SIZE],
[ CUBE_SIZE, CUBE_SIZE, CUBE_SIZE],
[-CUBE_SIZE, CUBE_SIZE, CUBE_SIZE]
]
edges = [
(0, 1), (1, 2), (2, 3), (3, 0),
(4, 5), (5, 6), (6, 7), (7, 4),
(0, 4), (1, 5), (2, 6), (3, 7)
]
cube = Object3D(points, edges, speed=0.02)
scene = Scene3D()
scene.add_object(cube)
scene.run()
Классы и функции
Point3D: Представляет 3D точку.Object3D: Представляет 3D объект с точками и рёбрами.Scene3D: Управляет сценой и отображением объектов.create_cube(size=150, speed=0.01): Создаёт куб с заданными параметрами.quick_scene(*objects, width=600, height=600, title="3D Сцена", bg="black"): Быстро создаёт и запускает сцену с объектами.
Лицензия
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
treeed-0.1.7.tar.gz
(4.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file treeed-0.1.7.tar.gz.
File metadata
- Download URL: treeed-0.1.7.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2d3ef3ba3827973e6416cb4f40ea1e3424ef736a049e93c8cfb844782843efd
|
|
| MD5 |
c35bf0e76675ea878811512c6d654003
|
|
| BLAKE2b-256 |
4feb718c69a746295a60bf8283fd067178310198bffb208d7c5d87c6efda9f8f
|
File details
Details for the file treeed-0.1.7-py3-none-any.whl.
File metadata
- Download URL: treeed-0.1.7-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f4951656728dd7eb93cbca1e95a3766a45ab3f895a1c542ca2cdfa7f3a5757c
|
|
| MD5 |
39fc14fb986a2f06d9b564d440ccdf75
|
|
| BLAKE2b-256 |
c387dc32ef9011bde2a92bc885734399da26ea3a2cf75c028d77f7c333c45948
|