19
19
#include " Vector3D.h"
20
20
#include " MathUtils.h"
21
21
22
- void Bezier3D::calcFirstDer ( float t, Vector3D* v )
22
+ void Bezier3D::calcFirstDer ( float t, Vector3D * v )
23
23
{
24
24
if ( v && mControlPoly )
25
25
{
@@ -35,13 +35,13 @@ void Bezier3D::calcFirstDer( float t, Vector3D* v )
35
35
for ( int n = 1 ; n <= int ( mControlPoly ->count () - 1 ); n++ )
36
36
{
37
37
double bernst = MathUtils::calcBernsteinPoly ( mControlPoly ->count () - 2 , n - 1 , t );
38
- v->setX ( v->getX () + (( *mControlPoly )[n]->getX () - ( *mControlPoly )[n- 1 ]->getX () )*bernst );
39
- v->setY ( v->getY () + (( *mControlPoly )[n]->getY () - ( *mControlPoly )[n- 1 ]->getY () )*bernst );
40
- v->setZ ( v->getZ () + (( *mControlPoly )[n]->getZ () - ( *mControlPoly )[n- 1 ]->getZ () )*bernst );
38
+ v->setX ( v->getX () + ( ( *mControlPoly )[n]->getX () - ( *mControlPoly )[n - 1 ]->getX () )*bernst );
39
+ v->setY ( v->getY () + ( ( *mControlPoly )[n]->getY () - ( *mControlPoly )[n - 1 ]->getY () )*bernst );
40
+ v->setZ ( v->getZ () + ( ( *mControlPoly )[n]->getZ () - ( *mControlPoly )[n - 1 ]->getZ () )*bernst );
41
41
}
42
- v->setX ( v->getX ()* ( mControlPoly ->count () - 1 ) );
43
- v->setY ( v->getY ()* ( mControlPoly ->count () - 1 ) );
44
- v->setZ ( v->getZ ()* ( mControlPoly ->count () - 1 ) );
42
+ v->setX ( v->getX () * ( mControlPoly ->count () - 1 ) );
43
+ v->setY ( v->getY () * ( mControlPoly ->count () - 1 ) );
44
+ v->setZ ( v->getZ () * ( mControlPoly ->count () - 1 ) );
45
45
}
46
46
47
47
else
@@ -50,7 +50,7 @@ void Bezier3D::calcFirstDer( float t, Vector3D* v )
50
50
}
51
51
}
52
52
53
- void Bezier3D::calcPoint ( float t, Point3D* p )
53
+ void Bezier3D::calcPoint ( float t, Point3D * p )
54
54
{
55
55
56
56
if ( p && mControlPoly )
@@ -62,9 +62,9 @@ void Bezier3D::calcPoint( float t, Point3D* p )
62
62
for ( int n = 1 ; n <= int ( mControlPoly ->count () ); n++ )
63
63
{
64
64
double bernst = MathUtils::calcBernsteinPoly ( mControlPoly ->count () - 1 , n - 1 , t );
65
- p->setX ( p->getX () + ( *mControlPoly )[n- 1 ]->getX ()*bernst );
66
- p->setY ( p->getY () + ( *mControlPoly )[n- 1 ]->getY ()*bernst );
67
- p->setZ ( p->getZ () + ( *mControlPoly )[n- 1 ]->getZ ()*bernst );
65
+ p->setX ( p->getX () + ( *mControlPoly )[n - 1 ]->getX ()*bernst );
66
+ p->setY ( p->getY () + ( *mControlPoly )[n - 1 ]->getY ()*bernst );
67
+ p->setZ ( p->getZ () + ( *mControlPoly )[n - 1 ]->getZ ()*bernst );
68
68
}
69
69
}
70
70
@@ -74,7 +74,7 @@ void Bezier3D::calcPoint( float t, Point3D* p )
74
74
}
75
75
}
76
76
77
- void Bezier3D::calcSecDer ( float t, Vector3D* v )
77
+ void Bezier3D::calcSecDer ( float t, Vector3D * v )
78
78
{
79
79
if ( v && mControlPoly )
80
80
{
@@ -91,9 +91,9 @@ void Bezier3D::calcSecDer( float t, Vector3D* v )
91
91
for ( int n = 1 ; n <= int ( nodes - 2 ); n++ )
92
92
{
93
93
double bernst = MathUtils::calcBernsteinPoly ( nodes - 3 , n - 1 , t );
94
- v->setX ( v->getX () + (( *mControlPoly )[n+ 1 ]->getX () - 2 * ( *mControlPoly )[n]->getX () + ( *mControlPoly )[n- 1 ]->getX () )*bernst );
95
- v->setY ( v->getY () + (( *mControlPoly )[n+ 1 ]->getY () - 2 * ( *mControlPoly )[n]->getY () + ( *mControlPoly )[n- 1 ]->getY () )*bernst );
96
- v->setZ ( v->getZ () + (( *mControlPoly )[n+ 1 ]->getZ () - 2 * ( *mControlPoly )[n]->getZ () + ( *mControlPoly )[n- 1 ]->getZ () )*bernst );
94
+ v->setX ( v->getX () + ( ( *mControlPoly )[n + 1 ]->getX () - 2 * ( *mControlPoly )[n]->getX () + ( *mControlPoly )[n - 1 ]->getX () )*bernst );
95
+ v->setY ( v->getY () + ( ( *mControlPoly )[n + 1 ]->getY () - 2 * ( *mControlPoly )[n]->getY () + ( *mControlPoly )[n - 1 ]->getY () )*bernst );
96
+ v->setZ ( v->getZ () + ( ( *mControlPoly )[n + 1 ]->getZ () - 2 * ( *mControlPoly )[n]->getZ () + ( *mControlPoly )[n - 1 ]->getZ () )*bernst );
97
97
}
98
98
v->setX ( v->getX ()*MathUtils::faculty ( nodes - 1 ) / MathUtils::faculty ( nodes - 3 ) );
99
99
v->setY ( v->getY ()*MathUtils::faculty ( nodes - 1 ) / MathUtils::faculty ( nodes - 3 ) );
@@ -111,15 +111,15 @@ void Bezier3D::changeDirection()//does this work correctly? more testing is need
111
111
{
112
112
if ( mControlPoly )
113
113
{
114
- Point3D** pointer = new Point3D*[mControlPoly ->count ()];// create an array to temporarily store pointer to the control points
114
+ Point3D ** pointer = new Point3D*[mControlPoly ->count ()];// create an array to temporarily store pointer to the control points
115
115
for ( int i = 0 ; i < mControlPoly ->count (); i++ )// store the points
116
116
{
117
117
pointer[i] = ( *mControlPoly )[i];
118
118
}
119
119
120
120
for ( int i = 0 ; i < mControlPoly ->count (); i++ )
121
121
{
122
- mControlPoly ->insert ( i, pointer[( mControlPoly ->count ()- 1 )- i] );
122
+ mControlPoly ->insert ( i, pointer[( mControlPoly ->count () - 1 ) - i] );
123
123
}
124
124
delete [] pointer;
125
125
}
0 commit comments