Metadata-Version: 2.1
Name: vectorise
Version: 0.0.6
Summary: A Python 3.x package that implements and represents basic functionalities of Vectors.
Home-page: UNKNOWN
Author: Programmin-in-Python (MK)
Author-email: <kalanithi6014@gmail.com>
License: UNKNOWN
Project-URL: GitHub, https://github.com/Programmin-in-Python/vectorise
Project-URL: Release Notes, https://github.com/Programmin-in-Python/vectorise/releases/tag/v0.0.6
Project-URL: Home Page, https://github.com/Programmin-in-Python/vectorise
Description: # vectorise
        A Python package that implements and represents basic functionalities of Vectors.
        
        It is also available on [GitHub](https://github.com/Programmin-in-Python/vectorise)
        
        ## Installation
        ***Note \:- Requires Python Version 3.x***
        
        **If there are 2 or more versions of Python installed in your system (which mostly occurs in UNIX/Linux systems) then please run any one of the commands in the BASH/ZSH Shell \:-**
        ```bash
        pip3 install vectorise
        ```
        ```bash
        python3 -m pip install vectorise
        ```
        
        **If there is only Python 3.x installed in your system like in Windows systems then please run any one of commands in the Command Prompt \:-**
        ```console
        pip install vectorise
        ```
        ```console
        python -m pip install vectorise
        ```
        ## Quick Guide
        ***Please Read till the End***
        - Import the Package using `import vectorise as vr`
        
        - `vr.Vector` creates a vector object.
        
            - By Default it creates a ***null vector.***
        
            - It is ***Mutable*** i.e after its creation the vector object can be changed by `<Vector object>.{x, y, z} = value`.
        
        - Direction Ratios of a Vector can be retrieved by any of the following methods :-
        
            - `<Vector object>.x` returns the direction ratio on the X-axis unit vector **i**.
        
            - `<Vector object>.y` returns the direction ratio on the Y-axis unit vector **j**.
        
            - `<Vector object>.z` returns the direction ratio on the Z-axis unit vector **k**.
        
            - `<Vector object>.directionRatios()` returns a **tuple** of the direction ratios of **i**, **j**, **k** respectively.
        
        - `<Vector object>.directionCosines()` returns a **tuple** of the direction cosines of **i**, **j**, **k** respectively.
        
        - `<Vector object>.directionAngles()` returns a **tuple** of the direction angles of **i**, **j**, **k** respectively.
        
        - Magnitude of a Vector can be retrieved by any of the following methods:-
            - `<Vector object>.magnitude()` returns the ***exact magnitude*** of the Vector.
        
            - `len(<Vector object>)` returns the ***approximate magnitude*** of the Vector. ***Please Note :- This is specific to this version and the upcoming versions.***
        
        - `<Vector object>.toUnit()` converts the given Vector to unit vector and returns it.
        
        - **All the Arithmetic Operations (including _Unary Negation_)**, except **Multiplication**; can be done using their usual symbols.
        
            - `<Vector object>.dot(<Vector object>)` returns the **Dot Product** of the given 2 Vectors, which would be a **Scalar** i.e either an **integer** or a **floating point number**.
        
            - `<Vector object>.cross(<Vector object>)` returns the **Cross Product** of the given 2 Vectors, which would be another instance of Vector.
        
            - `- <Vector object>` returns a Vector which is in the opposite direction to the given Vector. ***Please Note :- This is specific to this version and the upcoming versions.***
        
        - `<Vector object>.makesAngleWith(<Vector object>)` returns the **angle** between the given 2 Vectors.
        
        - `<Vector object>.projectionOn(<Vector object>)` returns the projection of the self Vector over the Vector passed in.
        
        - `<Vector object>.projectionVectorOn(<Vector object>)` returns the projection Vector of the self Vector over the Vector passed in.
        
        
        ***Please Note :- All the Returned Angles are in DEGREES, NOT IN RADIANS; so as to make calculations and understandability effortless.***
        
        ***Have Fun Learning!!!***
        
        ## A Sample Implementation
        ```python3
        from vectorise import Vector
        
        v1 = Vector(-3, 4, 5)
        v2 = Vector(21, -54, -101)
        v3 = Vector(-3, 4, 5)
        
        print("V1 :", v1, "\nV2 :", v2, "\nV3 :", v3)
        
        print("\nV1 == V2 :", v1 == v2)
        print("V1 == V3 :", v1 == v3)
        
        print("\nDirection Angles of V1 :", v1.directionAngles())
        print("Direction Angles of V2 :", v2.directionAngles())
        
        print("\nDirection Ratios of V1 :", v1.directionRatios())
        print("Direction Ratios of V2 :", v2.directionRatios())
        
        print("\nDirection Cosines of V1 :", v1.directionCosines())
        print("Direction Cosines of V2 :", v2.directionCosines())
        
        print("\n|V1| :", v1.magnitude(), "\n|V2| :", v2.magnitude())
        
        print("\nUnit Vector of V1 :", v1.toUnit(), "\nUnit Vector of V2 :", v2.toUnit())
        
        print("\nV1 + V2 :", v1+v2)
        print("V1 - V2 :", v1-v2)
        
        print("\nV1 * 2 :", v1*2)
        print("V2 * 3 :", v2*3)
        
        print("\n-V1 :", -v1)
        print("-V2 :", -v2)
        
        print("\nV1 . V2 :",  v1.dot(v2))
        print("V1 X V2 :", v1.cross(v2))
        print("V2 X V1 :", v2.cross(v1))
        
        print("\nAngle between V1 and V2 :", v1.makesAngleWith(v2))
        
        print("\nProjection Vector of V1 on V2 :", v1.projectionVectorOn(v2))
        print("Projection Vector of V2 on V1 :", v2.projectionVectorOn(v1))
        
        print("\nProjection of V1 on V2 :", v1.projectionOn(v2))
        print("Projection of V2 on V1 :", v2.projectionOn(v1))
Keywords: python3,vector,vectorise
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3
Description-Content-Type: text/markdown
