Metadata-Version: 2.1
Name: py3d-lib
Version: 1.0.1
Summary: Un module python en français, qui vise à simplifier les programmes utilisants de la géométrie 2D ou 3D
Home-page: https://github.com/ASionville/py3d
Author: Aubin SIONVILLE
Author-email: aubinsionville@gmail.com
License: MIT
Description: # 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 <b>collÃ©giens, lycÃ©ens et Ã©tudiants</b> 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 :<br>
        [https://asionville.github.io/py3d/](https://asionville.github.io/py3d/)
          
        ## Installation
        
        Le projet Ãªtre disponible sur [Pypi](https://pypi.org/) sous le nom de "py3d-lib"
        Pour l'installer, entrez dans un terminal en administrateur / sudo :
        ```cmd
        pip install py3d-lib
        ```
        
        Pour ouvrir le terminal en administrateur :
        #### Windows :
        Touche windows<br>
        Taper C M D<br>
        Clic droit -> ExÃ©cuter en tant qu'administrateur
        
        #### Mac/Linux :
        Ouvrir un terminal<br>
        Taper
        ```cmd
        sudo pip install py3d-lib
        ```
        
        
        Sinon, le projet est disponible en version zippÃ© dans [Les versions officielles](https://github.com/ASionville/py3d/releases)
        
        ---
        #### Importation
        Nous recommandons de ne **pas** importer les fonctions de cette maniÃ¨re:
        ```python
        from py3d import *
        ```
        
        Mais plutÃ´t de cette maniÃ¨re :
        ```python
        import py3d
        ```
        Cela Ã©vitera les possibles erreurs en utilisants d'autres modules (si vous n'en utilisez pas, alors c'est bon)
        <br>
        
        
        #### Points
        Suite Ã  cela, vous pourrez crÃ©er un point de coordonnÃ©es (0, 1, 2) de cette maniÃ¨re :
        ```python
        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 :
        ```python
        o = py3d.origine
        ```
        
        <br>
        
        #### Vecteurs
        Un vecteur peut se crÃ©er comme ceci, avec deux points :
        ```python
        u = py3d.Vecteur(o, p)
        ```
        *Il est possible de "crÃ©er" les points directement dans le vecteur :*
        ```python
        v = py3d.Vecteur(py3d.point(-2, 3, 7), py3d.origine)
        ```
        
        Vous pouvez Ã©galement crÃ©er un vecteur Ã  partir de ses coordonnÃ©es :
        ```python
        w = py3d.Vecteur(-1, 2, 1)
        ```
        Les vecteurs unitaires et le vecteur nul sont disponible directement :
        ```python
        v_nul = py3d.vecteur_nul
        ```
        
        <br>
        
        #### Droites
        Une droite peut se dÃ©finir par deux points :
        ```python
        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 :
        ```python
        d2 = py3d.droite(py3d.origine, v)
        ```
        
        *Les droites reprÃ©sentant les droite sont disponibles comme ceci :
        ```python
        d3 = py3d.axe_x
        ```
        <br>
        
        #### 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 :
        ```python
        p1 = py3d.Plan(o, w)
        ```
        
        Ou alors, par deux droites sÃ©cantes :
        ```python
        p2 = py3d.Plan(d1, d2)
        ```
        
        Mais aussi par un point et deux vecteurs non colinÃ©aires :
        ```python
        p3 = py3d.Plan(u, v)
        ```
        
        Ou enfin par trois points qui font partie de ce plan :
        ```python
        p4 = py3d.Plan(o, p, py3d.Point(-4, 7, -3.5))
        ```
        
        *Les plans XY, XZ et YZ sont disponibles directement:
        ```python
        `p5 = py3d.plan_xy
        ```
        ---
        
        Exemple basique d'utilisation :
        ```python
        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))
        ```
        
        <br>
        
        Exemple utilisant un graphique 3D :
        ```python
        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](images/affichage_basique.PNG)
        
        <br>
        
        D'autres exemples seront bientÃ´t disponibles dans le dossier [exemples](exemples/)
        
        ---
        ## Gestion des bugs
        
        Github possÃ¨de un systÃ¨me de tickets (issues) sur lesquels nous pouvons discuter / s'entraÃ®der disponibles ici : [Tickets](https://github.com/ASionville/py3d/issues)<br>
        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](mailto:aubin.sionville@stfrancoislaroche.fr)
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
