1 #ifndef math_Transformations_H__
2 #define math_Transformations_H__
49 template<
class Scalar>
62 dimension_ = b.dimension_;
84 self()->dimension_ = d;
95 self()->dimension_ = d;
139 return self->radius_;
157 return self->dimension_;
178 for (
size_t c = 0, C = ret.
cols(); c < C; c++) {
180 for (
size_t i = 0; i <
self->dimension_; i++) {
181 sum = sum +
squ(ret(i, c));
183 Scalar len(sqrt(
double(sum)));
184 for (
size_t i = 0; i <
self->dimension_; i++) {
185 ret(i, c, ret(i, c) *
radius() / len);
221 for(
size_t i = 0, I =
dimension(); i < I; ++i)
222 sum = sum +
squ(x(i, 0));
223 Scalar len(sqrt(
double(sum)));
225 for(
size_t i = 0, I =
dimension(); i < I; ++i)
226 for(
size_t j = 0; j < I; ++j)
231 ret(i, j,
radius() * (-x(i, 0) * x(j, 0) /
cub(len)));
267 for(
size_t i = 0, I =
dimension(); i < I; i++) {
268 sum = sum +
squ(x(i, 0));
270 return ret / Scalar(sqrt(
double(sum)));
328 template<
class Scalar>
341 dimension_ = b.dimension_;
352 Transformation<Scalar>(dimension, 1, dimension, 1, 1), self(true) {
353 self()->dimension_ = dimension;
361 Transformation<Scalar>(dimension, 1, dimension, 1, 1), self(true) {
362 self()->dimension_ = dimension;
433 return self->dimension_;
455 for (
size_t c = 0, C = ret.
cols(); c < C; c++) {
456 for (
size_t i = 0, I =
dimension(); i < I; ++i) {
457 ret(i, c, -ret(i, c) *
focal() / ret(I - 1, c));
494 for(ssize_t i = 0, I = (ssize_t)
dimension() - 1; i < I; i++){
495 ret(i, i, -
focal() / x(I, 0) );
533 for(
size_t i = 0, I =
dimension(); i < I; ++i) {
534 ret(i, 0, -x(i, 0) / x(I - 1, 0));
556 #endif // Transformations_H__