Skip to main content

Py3D

Un module python en français, qui vise à simplifier les programmes utilisants de la géométrie 2D ou 3D.

Il vise à être utilisé par les collégiens, lycéens et étudiants afin de faciliter leurs projets ou leurs démonstration incluant de la géométrie 2D / 3D

Une documentation complète est disponible à cette adresse :
https://asionville.github.io/py3d/

Installation

Le projet être disponible sur Pypi sous le nom de "py3d-lib" Pour l'installer, entrez dans un terminal en administrateur / sudo :

pip install py3d-lib

Pour ouvrir le terminal en administrateur :

Windows :

Touche windows
Taper C M D
Clic droit -> Exécuter en tant qu'administrateur

Mac/Linux :

Ouvrir un terminal
Taper

sudo pip install py3d-lib

Sinon, le projet est disponible en version zippé dans Les versions officielles


Importation

Nous recommandons de ne pas importer les fonctions de cette manière:

from py3d import *

Mais plutôt de cette manière :

import py3d

Cela évitera les possibles erreurs en utilisants d'autres modules (si vous n'en utilisez pas, alors c'est bon)

Points

Suite à cela, vous pourrez créer un point de coordonnées (0, 1, 2) de cette manière :

p = py3d.Point(0, 1, 2)

A noter : si vous ne mentionnez pas une coordonnée, elle sera considérée comme nulle Il existe également le point d'origine (0, 0, 0) qui est accessible via :

o = py3d.origine

Vecteurs

Un vecteur peut se créer comme ceci, avec deux points :

u = py3d.Vecteur(o, p)

Il est possible de "créer" les points directement dans le vecteur :

v = py3d.Vecteur(py3d.point(-2, 3, 7), py3d.origine)

Vous pouvez également créer un vecteur à partir de ses coordonnées :

w = py3d.Vecteur(-1, 2, 1)

Les vecteurs unitaires et le vecteur nul sont disponible directement :

v_nul = py3d.vecteur_nul

Droites

Une droite peut se définir par deux points :

d1 = py3d.Droite(o, p)

Encore une fois, il est possible de créer les points en même temps (voir exemple avec les vecteurs)

Une droite peut aussi se définir par un point puis son vecteur directeur :

d2 = py3d.droite(py3d.origine, v)

*Les droites représentant les droite sont disponibles comme ceci :

d3 = py3d.axe_x

Plans

Pour ce qui est des plans, il existe plusieurs manières très différentes :

Tout d'abord, avec un point puis le vecteur normal au plan :

p1 = py3d.Plan(o, w)

Ou alors, par deux droites sécantes :

p2 = py3d.Plan(d1, d2)

Mais aussi par un point et deux vecteurs non colinéaires :

p3 = py3d.Plan(u, v)

Ou enfin par trois points qui font partie de ce plan :

p4 = py3d.Plan(o, p, py3d.Point(-4, 7, -3.5))

*Les plans XY, XZ et YZ sont disponibles directement:

`p5 = py3d.plan_xy

Exemple basique d'utilisation :

import py3d

#Création de deux vecteurs u et v
u = py3d.Vecteur(0, 0, 1)
v = py3d.Vecteur(0, 0, 10)

#Est ce que les vecteurs sont colinéaires ? -> True
print(py3d.colineaires(u, v))

Exemple utilisant un graphique 3D :

import py3d

#Création d'un point A de coordonnées (1, 1, 1)
pointA = py3d.Point(1, 1, 1)

#Création d'une droite passant par A et l'origine
d = py3d.Droite(py3d.origine, pointA)

#Création du plan z=0 (plan xy)
plan = py3d.plan_xy

#Création du repère 3D
repere = py3d.Repere3D()

#Ajout du plan divisé en une grille de 20x20
repere.ajouter(plan, grille=20)
#Ajout de la droite violette avec une étiquette
repere.ajouter(d,longueur=1, couleur="purple", label="Droite d x = y = z")
#Ajout du point A
repere.ajouter(pointA, label="Point A")

#Affichage du repère
repere.afficher()

Résultat : Affichage 3D basique


D'autres exemples seront bientôt disponibles dans le dossier exemples


Gestion des bugs

Github possède un système de tickets (issues) sur lesquels nous pouvons discuter / s'entraîder disponibles ici : Tickets
ou sinon, en haut de page

Merci à tous ceux que relèveront des bugs et qui m'en feront part, ils seront corrigés dès que possible


Contact

Vous pouvez me contacter à cette adresse : aubin.sionville@stfrancoislaroche.fr

Metadata

Release files for py3d-lib 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py3d-lib 1.0.1
File Size Uploaded
py3d-lib-1.0.1.tar.gz 13.5 kB Details

Release files / py3d-lib-1.0.1.tar.gz

Download URL py3d-lib-1.0.1.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cde46c47c3df5ca080c1f1976672a2e8e52fbf3068d74a9780a5657f041909d2
BLAKE2b-256 checksum
How to use checksums
b8931923a8dc6c79266643aa7ecd78b202cc3198c98f9dfe8a3b82a68cd62b96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page