Skip to content

Commit 7e70957

Browse files
committed
fixed regression with perturbation rescaling
1 parent b45c90a commit 7e70957

File tree

5 files changed

+7
-5
lines changed

5 files changed

+7
-5
lines changed

default.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
image_width = 1000
22
image_height = 1000
3-
frames = 1
3+
frames = 99999

src/math/perturbation.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ impl Perturbation {
6060

6161
// check the counter, if it is > 250, do a normalisation
6262
if scaled_iterations > 250 {
63+
pixel.delta_current.reduce();
64+
6365
scaled_scale_factor_1 = 1.0f64.ldexp(pixel.delta_current.exponent);
6466
scaled_delta_reference = 1.0f64.ldexp(pixel.delta_reference.exponent - pixel.delta_current.exponent) * pixel.delta_reference.mantissa;
6567

src/math/reference.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ impl Reference {
100100
)
101101
}
102102

103+
// only needed on central reference
103104
self.approximation_data.push(z_extended);
104105

105106
if self.start_iteration == 1 {

src/math/series_approximation.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pub struct SeriesApproximation {
1414
approximation_probes: Vec<Vec<ComplexExtended>>,
1515
approximation_probes_derivative: Vec<Vec<ComplexExtended>>,
1616
pub delta_top_left: ComplexExtended,
17-
valid_coefficients: Vec<ComplexExtended>,
17+
pub valid_coefficients: Vec<ComplexExtended>,
1818
pub valid_iteration: usize,
1919
}
2020

@@ -57,10 +57,8 @@ impl SeriesApproximation {
5757
// Calculate the new coefficents
5858
for k in 2..=self.order {
5959
let mut sum = coefficients[0] * coefficients[k];
60-
sum.reduce();
6160

6261
for j in 1..=((k - 1) / 2) {
63-
sum.reduce();
6462
sum += coefficients[j] * coefficients[k - j];
6563
}
6664
sum *= 2.0;

src/renderer.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ impl FractalRenderer {
7070
zoom,
7171
maximum_iteration,
7272
glitch_tolerance,
73-
data_export: DataExport::new(image_width, image_height, display_glitches, DataType::RAW),
73+
data_export: DataExport::new(image_width, image_height, display_glitches, DataType::COLOUR),
7474
start_render_time: Instant::now(),
7575
remaining_frames,
7676
zoom_scale_factor,
@@ -112,6 +112,7 @@ impl FractalRenderer {
112112
let j = index / self.image_width;
113113
let element = ComplexFixed::new(i as f64 * delta_pixel + delta_top_left.re, j as f64 * delta_pixel + delta_top_left.im);
114114
let point_delta = ComplexExtended::new(element, -self.zoom.exponent);
115+
115116
let new_delta = self.series_approximation.evaluate(point_delta, None);
116117

117118
PixelData {

0 commit comments

Comments
 (0)