src/main.rs

changeset 57
1afca417d71b
parent 56
34f8ec636368
equal deleted inserted replaced
56:34f8ec636368 57:1afca417d71b
21 use alg_tools::tabledump::{TableDump, write_csv}; 21 use alg_tools::tabledump::{TableDump, write_csv};
22 use alg_tools::error::DynError; 22 use alg_tools::error::DynError;
23 use alg_tools::lingrid::LinSpace; 23 use alg_tools::lingrid::LinSpace;
24 use alg_tools::loc::Loc; 24 use alg_tools::loc::Loc;
25 use alg_tools::types::*; 25 use alg_tools::types::*;
26 use alg_tools::mapping::{Sum, Mapping}; 26 use alg_tools::mapping::Mapping;
27 use alg_tools::operator_arithmetic::MappingSum;
27 use alg_tools::iterate::{AlgIteratorOptions, AlgIteratorFactory, Verbose}; 28 use alg_tools::iterate::{AlgIteratorOptions, AlgIteratorFactory, Verbose};
28 use image::{ImageFormat, ImageBuffer, Rgb}; 29 use image::{ImageFormat, ImageBuffer, Rgb};
29 30
30 use dist::{DistTo, DistToSquaredDiv2}; 31 use dist::{DistTo, DistToSquaredDiv2};
31 use fb::{forward_backward, IterInfo, Desc, Prox}; 32 use fb::{forward_backward, IterInfo, Desc, Prox};
98 99
99 std::fs::create_dir_all(dir)?; 100 std::fs::create_dir_all(dir)?;
100 write_csv(points.iter().map(CSVPoint::from), format!("{dir}/data.csv"))?; 101 write_csv(points.iter().map(CSVPoint::from), format!("{dir}/data.csv"))?;
101 write_csv(std::iter::once(&origin).map(CSVPoint::from), format!("{dir}/origin.csv"))?; 102 write_csv(std::iter::once(&origin).map(CSVPoint::from), format!("{dir}/origin.csv"))?;
102 103
103 let f = Sum::new(points.into_iter().map(DistToSquaredDiv2)); 104 let f = MappingSum::new(points.into_iter().map(DistToSquaredDiv2));
104 //let g = ZeroFn::new(); 105 //let g = ZeroFn::new();
105 let g = Scaled::new(0.5, DistTo(origin)); 106 let g = Scaled::new(0.5, DistTo(origin));
106 let τ = 0.1; 107 let τ = 0.1;
107 108
108 for face in Face::all() { 109 for face in Face::all() {
163 164
164 std::fs::create_dir_all(dir)?; 165 std::fs::create_dir_all(dir)?;
165 write_csv(points.iter().map(CSVCylPoint::from), format!("{dir}/data.csv"))?; 166 write_csv(points.iter().map(CSVCylPoint::from), format!("{dir}/data.csv"))?;
166 write_csv(std::iter::once(&origin).map(CSVCylPoint::from), format!("{dir}/origin.csv"))?; 167 write_csv(std::iter::once(&origin).map(CSVCylPoint::from), format!("{dir}/origin.csv"))?;
167 168
168 let f = Sum::new(points.into_iter().map(DistToSquaredDiv2)); 169 let f = MappingSum::new(points.into_iter().map(DistToSquaredDiv2));
169 let g = Scaled::new(4.0, DistTo(origin)); 170 let g = Scaled::new(4.0, DistTo(origin));
170 let τ = 0.1; 171 let τ = 0.1;
171 172
172 write_cylinder_faces_csv(dir, &cyl, 32, 32, 32, |x| f.apply(x) + g.apply(x))?; 173 write_cylinder_faces_csv(dir, &cyl, 32, 32, 32, |x| f.apply(x) + g.apply(x))?;
173 174

mercurial