Skip to content

Commit 326ce28

Browse files
committed
chore
1 parent ffb7701 commit 326ce28

2 files changed

Lines changed: 2 additions & 26 deletions

File tree

node-graph/libraries/core-types/src/transform.rs

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -101,30 +101,6 @@ pub trait Transform {
101101
// Non-orthogonal columns or different lengths indicate skew/non-uniform scaling
102102
col0.dot(col1).abs() > EPSILON || (col0.length() - col1.length()).abs() > EPSILON
103103
}
104-
105-
/// Decomposes the transform into its rotation (angle), scale, and skew components.
106-
fn decompose_rotation_scale_skew(&self) -> (f64, DVec2, DVec2) {
107-
let transform = self.transform();
108-
let x_axis = transform.matrix2.x_axis;
109-
let y_axis = transform.matrix2.y_axis;
110-
111-
// Assuming there is no vertical shear
112-
let angle = x_axis.y.atan2(x_axis.x);
113-
let (sin, cos) = angle.sin_cos();
114-
let scale_x = if cos.abs() > 1e-10 { x_axis.x / cos } else { x_axis.y / sin };
115-
116-
let mut shear_x = (sin * y_axis.y + cos * y_axis.x) / (sin * sin * scale_x + cos * cos * scale_x);
117-
if !shear_x.is_finite() {
118-
shear_x = 0.;
119-
}
120-
let scale_y = if cos.abs() > 1e-10 {
121-
(y_axis.y - scale_x * sin * shear_x) / cos
122-
} else {
123-
(scale_x * cos * shear_x - y_axis.x) / sin
124-
};
125-
126-
(angle, DVec2::new(scale_x, scale_y), DVec2::new(shear_x, 0.))
127-
}
128104
}
129105

130106
pub trait TransformMut: Transform {

node-graph/libraries/vector-types/src/vector/style.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,10 +483,10 @@ impl Stroke {
483483
let lerped_angle = s_angle + rotation_diff * time;
484484

485485
let lerped_scale = s_scale.lerp(t_scale, time);
486-
let lerped_skew = s_skew.lerp(t_skew, time);
486+
let lerped_skew = s_skew + (t_skew - s_skew) * time;
487487

488488
let trs = DAffine2::from_scale_angle_translation(lerped_scale, lerped_angle, lerped_translation);
489-
let skew = DAffine2::from_cols_array(&[1., lerped_skew.y, lerped_skew.x, 1., 0., 0.]);
489+
let skew = DAffine2::from_cols_array(&[1., 0., lerped_skew, 1., 0., 0.]);
490490
trs * skew
491491
},
492492
non_scaling: if time < 0.5 { self.non_scaling } else { other.non_scaling },

0 commit comments

Comments
 (0)