git.ucc.asn.au
/
atyndall
/
cits2231.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(no commit message)
[atyndall/cits2231.git]
/
scene.c
diff --git
a/scene.c
b/scene.c
index
3f2c2ab
..
f87412d
100644
(file)
--- a/
scene.c
+++ b/
scene.c
@@
-308,12
+308,13
@@
void motion(int x, int y) {
\r
// For big/small scaling, we map negative numbers to 0->1 and positive numbers to 1->inf
\r
float diff = (y - starty);
\r
\r
// For big/small scaling, we map negative numbers to 0->1 and positive numbers to 1->inf
\r
float diff = (y - starty);
\r
+ float map = (diff - -((float)height/2))/(0 - -((float)height/2));
\r
float scaling;
\r
\r
if ( diff < 0 ) {
\r
float scaling;
\r
\r
if ( diff < 0 ) {
\r
- scaling =
(diff - -((float)height/2))/(0 - -((float)height/2))
;
\r
+ scaling =
map
;
\r
} else {
\r
} else {
\r
- scaling =
diff
;
\r
+ scaling =
pow(1.0/map, diff)
;
\r
}
\r
\r
if ( scaling != 0 ) {
\r
}
\r
\r
if ( scaling != 0 ) {
\r
@@
-322,7
+323,7
@@
void motion(int x, int y) {
sceneObjs[curObject].scale[0] *= scaling;
\r
sceneObjs[curObject].scale[1] *= scaling;
\r
sceneObjs[curObject].scale[2] *= scaling;
\r
sceneObjs[curObject].scale[0] *= scaling;
\r
sceneObjs[curObject].scale[1] *= scaling;
\r
sceneObjs[curObject].scale[2] *= scaling;
\r
- printf("Diff is %f, Scaling by %f on all axii
\n", diff, sceneObjs[curObject].scale[0]
);
\r
+ printf("Diff is %f, Scaling by %f on all axii
, 1/map is %f\n", diff, sceneObjs[curObject].scale[0], 1/map
);
\r
\r
}
\r
\r
\r
}
\r
\r
UCC
git Repository :: git.ucc.asn.au