MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_scaling_matrix()

Eigen::MatrixXd MayaFlux::Kinesis::create_scaling_matrix ( const std::vector< double > &  scale_factors)

Create diagonal scaling matrix from per-axis factors.

Parameters
scale_factorsScale value per dimension. Empty input returns 1x1 identity.
Returns
Diagonal scaling matrix (NxN where N = scale_factors.size())

Definition at line 41 of file MatrixTransforms.cpp.

42{
43 if (scale_factors.empty()) {
44 return Eigen::MatrixXd::Identity(1, 1);
45 }
46
47 Eigen::MatrixXd scaling = Eigen::MatrixXd::Zero(
48 scale_factors.size(), scale_factors.size());
49
50 for (size_t i = 0; i < scale_factors.size(); ++i) {
51 scaling(i, i) = scale_factors[i];
52 }
53
54 return scaling;
55}

Referenced by create_rotation_scaling_matrix().

+ Here is the caller graph for this function: