Skip to content

Commit 89cdbf8

Browse files
committed
added more probe points for better series approximation skip calculation
1 parent 0cb3303 commit 89cdbf8

File tree

6 files changed

+28
-25
lines changed

6 files changed

+28
-25
lines changed

assemble_video.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from PIL import Image
99

1010
frames_between_keyframes = 60
11-
maximum_keyframe_number = 9
11+
maximum_keyframe_number = 47
1212
zoom_scale = 2.0
1313

1414
# log1.1 of 2 is 7.27

default.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
image_width = 1920
22
image_height = 1080
3-
frames = 9999
4-
export = "raw"
5-
glitch_tolerance = 0.000001
3+
frames = 17
4+
export = "colour"
5+
glitch_tolerance = 0.001
66
zoom_scale = 2.0
77
auto_adjust_iterations = true
8-
approximation_order = 64
8+
approximation_order = 32
99
frame_offset = 0

locations/lya.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
real = "-1.76904090125288168240284276810365472222460651367280300612031519864776551390840630119504817227707689276670981344397551593371805167279428144061791279408701383958080000000000000000000000002e+00"
2+
imag = "-3.1605400272558568759745268636087334444350515177571908056976983793515506960262149704114708190147368048572976192049103272074188848768835600195188510326583157513e-03"
3+
zoom = "7.5E139"
4+
iterations = 350000

segments.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
file 'segments/segment_00000004.mp4'
2+
file 'segments/segment_00000003.mp4'
3+
file 'segments/segment_00000002.mp4'
4+
file 'segments/segment_00000001.mp4'
15
file 'segments/segment_00000000.mp4'

src/math/series_approximation.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,20 @@ impl SeriesApproximation {
8282
self.approximation_probes = Vec::new();
8383
self.approximation_probes_derivative = Vec::new();
8484

85-
self.add_probe(ComplexExtended::new2(self.delta_top_left.mantissa.re, self.delta_top_left.mantissa.im, self.delta_top_left.exponent));
86-
self.add_probe(ComplexExtended::new2(self.delta_top_left.mantissa.re, -self.delta_top_left.mantissa.im, self.delta_top_left.exponent));
87-
self.add_probe(ComplexExtended::new2(-self.delta_top_left.mantissa.re, self.delta_top_left.mantissa.im, self.delta_top_left.exponent));
88-
self.add_probe(ComplexExtended::new2(-self.delta_top_left.mantissa.re, -self.delta_top_left.mantissa.im, self.delta_top_left.exponent));
89-
90-
// Middle edges
91-
// self.add_probe(ComplexExtended::new2(self.delta_top_left.mantissa.re, 0.0, self.delta_top_left.exponent));
92-
// self.add_probe(ComplexExtended::new2(-self.delta_top_left.mantissa.re, 0.0, self.delta_top_left.exponent));
93-
// self.add_probe(ComplexExtended::new2(0.0, self.delta_top_left.mantissa.im, self.delta_top_left.exponent));
94-
// self.add_probe(ComplexExtended::new2(0.0, -self.delta_top_left.mantissa.im, self.delta_top_left.exponent));
85+
let probe_sampling = 3;
86+
87+
for i in 0..probe_sampling {
88+
for j in 0..probe_sampling {
89+
if probe_sampling % 2 == 1 && (i == probe_sampling / 2 && j == probe_sampling / 2) {
90+
continue;
91+
} else {
92+
let real = (1.0 - 2.0 * (i as f64 / (probe_sampling as f64 - 1.0))) * self.delta_top_left.mantissa.re;
93+
let imag = (1.0 - 2.0 * (j as f64 / (probe_sampling as f64 - 1.0))) * self.delta_top_left.mantissa.im;
94+
95+
self.add_probe(ComplexExtended::new2(real, imag, self.delta_top_left.exponent));
96+
}
97+
}
98+
}
9599

96100
self.valid_iteration = (0..self.probe_start.len()).into_par_iter()
97101
.map(|i| {

src/renderer.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -236,16 +236,7 @@ impl FractalRenderer {
236236
self.zoom.reduce();
237237

238238
if self.auto_adjust_iterations {
239-
// test
240-
// let mut temp = self.data_export.iterations.clone();
241-
// temp.sort();
242-
243-
// let new_iteration_value = *(&self.data_export.iterations).into_iter().max().unwrap() as usize;
244-
// Set to value of 0.1%
245-
// let value = 0.999 * temp.len() as f64;
246-
// let new_iteration_value = temp[value as usize] as usize;
247-
248-
if self.zoom.to_float() < 1e10 {
239+
if self.zoom.to_float() < 1e10 && self.maximum_iteration > 10000 {
249240
let new_iteration_value = 10000;
250241

251242
if self.center_reference.current_iteration >= 10000 {

0 commit comments

Comments
 (0)