use crate::grid2d::PlotPoint;
use plotpy::Plot;
use astroimsim_geometry::coordinate_system::Coordinates::RELATIVE;
use astroimsim_geometry::coordinate_system::{CoordinateSystem, Coordinates};
use astroimsim_geometry::grid2d::GRID2D;
use astroimsim_geometry::grid2d::PlotPoint::Given;
use astroimsim_geometry::points::Point;
use crate::coordinate_system::Coordinates::ABSOLUTE;
use crate::projection_test::test_project;
pub mod coordinate_system;
pub mod grid1d;
pub mod grid2d;
pub mod points;
mod projection_test;
fn main() {
let mut plot = Plot::new();
let coords = CoordinateSystem::new((7.0,-6.2),(-0.4,4.0),(0.0,0.0), "test_1");
let grid = GRID2D::new_empty((9,9),(1.0,1.0),(0.0,0.0), 0.0001,RELATIVE(coords.clone()));
let point_2 = Point::new(1.5,2.2,Coordinates::RELATIVE(coords.clone()));
let point = Point::new(2.6, -4.2,Coordinates::ABSOLUTE);
grid.plot_points(&mut plot, Given(point_2));
coords.plot(&mut plot,"green");
plot.legend();
plot.save("test");
plot.show("slefj").unwrap();
}
pub fn norm(vect:(f64,f64))->(f64,f64){
let norm = (vect.0.powi(2)+ vect.1.powi(2)).sqrt();
(vect.0/norm,vect.1/norm)
}