tesseract
3.05.02
quadratc.h
Go to the documentation of this file.
1
/**********************************************************************
2
* File: quadratc.h (Formerly quadrtic.h)
3
* Description: Code for the QUAD_COEFFS class.
4
* Author: Ray Smith
5
* Created: Tue Oct 08 17:24:40 BST 1991
6
*
7
* (C) Copyright 1991, Hewlett-Packard Ltd.
8
** Licensed under the Apache License, Version 2.0 (the "License");
9
** you may not use this file except in compliance with the License.
10
** You may obtain a copy of the License at
11
** http://www.apache.org/licenses/LICENSE-2.0
12
** Unless required by applicable law or agreed to in writing, software
13
** distributed under the License is distributed on an "AS IS" BASIS,
14
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
** See the License for the specific language governing permissions and
16
** limitations under the License.
17
*
18
**********************************************************************/
19
20
#ifndef QUADRATC_H
21
#define QUADRATC_H
22
23
#include "
points.h
"
24
25
class
QUAD_COEFFS
26
{
27
public
:
28
QUAD_COEFFS
() {
29
}
//empty constructor
30
QUAD_COEFFS
(
//constructor
31
double
xsq,
//coefficients
32
float
x,
33
float
constant) {
34
a
= xsq;
35
b
= x;
36
c
= constant;
37
}
38
39
float
y
(
//evaluate
40
float
x)
const
{
//at x
41
return
(
float
) ((
a
* x +
b
) * x +
c
);
42
}
43
44
void
move
(
// reposition word
45
ICOORD
vec) {
// by vector
46
/************************************************************
47
y - q = a (x - p)^2 + b (x - p) + c
48
y - q = ax^2 - 2apx + ap^2 + bx - bp + c
49
y = ax^2 + (b - 2ap)x + (c - bp + ap^2 + q)
50
************************************************************/
51
inT16
p = vec.
x
();
52
inT16
q = vec.
y
();
53
54
c
= (float) (
c
-
b
* p +
a
* p * p + q);
55
b
= (float) (
b
- 2 *
a
* p);
56
}
57
58
double
a
;
//x squared
59
float
b
;
//x
60
float
c
;
//constant
61
private
:
62
};
63
#endif
QUAD_COEFFS::move
void move(ICOORD vec)
Definition:
quadratc.h:44
points.h
QUAD_COEFFS
Definition:
quadratc.h:25
inT16
short inT16
Definition:
host.h:33
QUAD_COEFFS::b
float b
Definition:
quadratc.h:59
ICOORD
integer coordinate
Definition:
points.h:30
QUAD_COEFFS::c
float c
Definition:
quadratc.h:60
QUAD_COEFFS::a
double a
Definition:
quadratc.h:58
ICOORD::x
inT16 x() const
access function
Definition:
points.h:52
QUAD_COEFFS::QUAD_COEFFS
QUAD_COEFFS(double xsq, float x, float constant)
Definition:
quadratc.h:30
QUAD_COEFFS::y
float y(float x) const
Definition:
quadratc.h:39
QUAD_COEFFS::QUAD_COEFFS
QUAD_COEFFS()
Definition:
quadratc.h:28
ICOORD::y
inT16 y() const
access_function
Definition:
points.h:56
ccstruct
quadratc.h
Generated on Mon Oct 29 2018 11:27:45 for tesseract by
1.8.14