Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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::a
double a
Definition:
quadratc.h:58
QUAD_COEFFS::c
float c
Definition:
quadratc.h:60
ICOORD::y
inT16 y() const
access_function
Definition:
points.h:56
QUAD_COEFFS
Definition:
quadratc.h:25
QUAD_COEFFS::QUAD_COEFFS
QUAD_COEFFS(double xsq, float x, float constant)
Definition:
quadratc.h:30
ICOORD
integer coordinate
Definition:
points.h:30
QUAD_COEFFS::y
float y(float x) const
Definition:
quadratc.h:39
QUAD_COEFFS::move
void move(ICOORD vec)
Definition:
quadratc.h:44
ICOORD::x
inT16 x() const
access function
Definition:
points.h:52
QUAD_COEFFS::QUAD_COEFFS
QUAD_COEFFS()
Definition:
quadratc.h:28
points.h
QUAD_COEFFS::b
float b
Definition:
quadratc.h:59
inT16
short inT16
Definition:
host.h:100
ccstruct
quadratc.h
Generated on Mon Jul 20 2015 18:37:48 by
1.8.8