Skip to main content

Библиотека для создания и отображения 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)

Ручное создание объектов

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


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.5.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

treeed-0.1.5-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file treeed-0.1.5.tar.gz.

File metadata

  • Download URL: treeed-0.1.5.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for treeed-0.1.5.tar.gz
Algorithm Hash digest
SHA256 ccbdbde5880efeee0b5aff9181eb303a3c7cc7a96dbb6726ec40a6b56836a9c1
MD5 0964d811383b0c23b185ffc6dec9f9ee
BLAKE2b-256 b8f5e90497eb8becbd06b03ec1ed632f80f2140c00e51f96d38cb885c1629cec

See more details on using hashes here.

File details

Details for the file treeed-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: treeed-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for treeed-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f814d573766a617e5ea96b961560f0c2249e7d47a304a6e4abd94c93b450a378
MD5 ee949f844caba742240084c02fa927dc
BLAKE2b-256 0bfbda5568b259b2d8973b3112d60f0d5224de8dd869526d3324ba0d16bbc602

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page