# -*- coding: utf-8 -*-
# Projective Geometry SAGE module
# Instructions: to import the module open sage shell and use python2 shell utility
# to import this file
# Imports here
from basic.coordinates import *
from basic.subspaces import *
from basic.references import *
from basic.dual import *
from basic.pappus import *

from applications.applications import *
from applications.homography import *

from projective_line.mobius import *
from projective_line.ratios import *

from cuadrics.cuadric import *

"""
INSTRUCTIONS
Open Sage console (through icon in Windows, through the command 'sage --sh' in Linux).
Move console to the directory where this file is stored (through 'cd DIRECTORY').
Open console python interpreter ('python' command).
Write: 'from root import *'.
All of the commands of this library should be available now for usage within the console.

CONTENTS
1. Coordinates and subspaces
    1.1 Homogeneous and non-homogeneous coordinates
    1.2 References and reference changes
    1.3 Subspaces
        1.3.1 Subspace intersection
        1.3.2 Generated space of two subspaces
        1.3.3 Equations
    1.4 Dual space --UNFINISHED
    1.5 Pappus theorem application --UNFINISHED
    
2. Projective applications
    2.1 Projections -- UNFINISHED

3. The projective line
    3.1 Möbius transformations
    3.2 Division ratio of 3 points
    3.3 Cross-ratio / Anharmonic ratio
    3.4 Harmonic quadruples -- UNFINISHED
    3.5 Line homography classifier -- UNFINISHED
    3.6 Involutions -- UNFINISHED
    3.7 Homographies between two lines on a plane -- UNFINISHED

4. Conics and cuadrics
    4.1 Conic and cuadric builder
    4.2 Degenerate conics
    4.3 Polar line calculator -- UNFINISHED
    4.4 Tangent lines and hyperplanes -- UNFINISHED
    4.5 Reference changes -- UNFINISHED
    4.6 Cross-ratio on conics -- UNFINISHED
    4.7 Set of conics generation -- UNFINISHED
    4.8 Classification of sets of conics -- UNFINISHED
    4.9 Conic homographies -- UNFINISHED
    
5. Euclidean and Affine geometry
    5.1 Affine geometry -- UNFINISHED
    5.2 Euclidean geometry -- UNFINISHED
"""