Digital Signal Processing Reference
In-Depth Information
Translation , Scaling , Shear , Rotation (Klassen)
16.4 Java-Implementierung
Die Abbildungen Translation , Scaling , Shear und Rotation sind Sub-
klassen von AffineMapping . Die Definition dieser Klassen enthalt jeweils
nur die zugehorige Konstruktor-Methode, die ubrige Funktionalitat wird
aus den Superklassen AffineTransform bzw. LinearTransform abgelei-
tet. Der Aufruf super() bezieht sich auf die Konstruktor-Methode der
direkten Superklasse AffineMapping :
1 class Translation extends AffineMapping { // s. Gl. 16.4
2
Translation (double dx, double dy) {
super(
3
1, 0, dx,
4
0, 1, dy,
5
false );
6
}
7
8 }
1 class Scaling extends AffineMapping { // s. Gl. 16.5
2
Scaling(double sx, double sy) {
super(
3
sx, 0, 0,
4
0, sy, 0,
5
false );
6
}
7
8 }
1 class Shear extends AffineMapping { // s. Gl. 16.6
2
Shear(double bx, double by) {
super(
3
1, bx, 0,
4
by, 1, 0,
5
false );
6
7 }
1 class Rotation extends AffineMapping { // s. Gl. 16.8
2
Rotation(double alpha) {
super(
3
Math.cos(alpha), Math.sin(alpha), 0,
4
-Math.sin(alpha), Math.cos(alpha), 0,
5
false);
6
}
7
8 }
ProjectiveMapping (Klasse)
Die Klasse ProjectiveMapping implementiert die projektive Abbildung
(Gl. 16.16). Sie stellt neben einer Konstruktor-Methode fur die Initilisie-
rung der 8 Abbildungsparameter a 11 ,a 12 ,...a 32 ( a 33 =1)zweiMetho-
den zur Berechnung der Abbildung zwischen Vierecken zur Verfugung.
Search WWH ::




Custom Search