annotate transform.c @ 4:8d0ee5ea10ac

Linear transforms program
author jsipek@huey.fsl.cs.sunysb.edu
date Thu, 24 Nov 2005 00:34:19 -0400
parents
children 02aee7371541
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
1 #include <stdio.h>
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
2 #include <stdlib.h>
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
3 #include <string.h>
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
4
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
5 void transform(float trans[3][3], float pt[3], float colors[3])
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
6 {
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
7 printf("%f %f %f %f %f %f\n", colors[0], colors[1], colors[2],
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
8 (trans[0][0]*pt[0] + trans[0][1]*pt[1] + trans[0][2]*pt[2]),
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
9 (trans[1][0]*pt[0] + trans[1][1]*pt[1] + trans[1][2]*pt[2]),
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
10 (trans[2][0]*pt[0] + trans[2][1]*pt[1] + trans[2][2]*pt[2]));
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
11 }
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
12
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
13 int main(int argc, char** argv)
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
14 {
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
15 float trans[3][3];
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
16 float pt[3]; // coords
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
17 float c[3]; // colors
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
18
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
19 scanf("%f %f %f", &trans[0][0], &trans[0][1], &trans[0][2]);
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
20 scanf("%f %f %f", &trans[1][0], &trans[1][1], &trans[1][2]);
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
21 scanf("%f %f %f", &trans[2][0], &trans[2][1], &trans[2][2]);
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
22
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
23 scanf("%f %f %f", &c[0], &c[1], &c[2]);
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
24 scanf("%f %f %f", &pt[0], &pt[1], &pt[2]);
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
25 transform(trans, pt, c);
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
26
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
27
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
28 return 0;
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
29 }
8d0ee5ea10ac Linear transforms program
jsipek@huey.fsl.cs.sunysb.edu
parents:
diff changeset
30