|
@@ -32,10 +32,6 @@
|
|
#define SIMULATION_STEPS 30
|
|
#define SIMULATION_STEPS 30
|
|
#define G 9.81
|
|
#define G 9.81
|
|
|
|
|
|
-// Helpers for Angles Conversion
|
|
|
|
-#define RAD(x) x * PI / 180.0
|
|
|
|
-#define DEG(x) x * 180.0 / PI
|
|
|
|
-
|
|
|
|
#define scalar float
|
|
#define scalar float
|
|
|
|
|
|
//----------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------
|
|
@@ -56,8 +52,8 @@ int main(void)
|
|
|
|
|
|
// Simulation Paramters
|
|
// Simulation Paramters
|
|
//--------------------------------------------------------------------------------------
|
|
//--------------------------------------------------------------------------------------
|
|
- scalar l1 = 15, m1 = 0.2, theta1 = RAD(170), w1 = 0;
|
|
|
|
- scalar l2 = 15, m2 = 0.1, theta2 = RAD(0), w2 = 0;
|
|
|
|
|
|
+ scalar l1 = 15, m1 = 0.2, theta1 = DEG2RAD * 170, w1 = 0;
|
|
|
|
+ scalar l2 = 15, m2 = 0.1, theta2 = DEG2RAD * 0, w2 = 0;
|
|
scalar lengthScaler = 0.1;
|
|
scalar lengthScaler = 0.1;
|
|
scalar totalM = m1 + m2;
|
|
scalar totalM = m1 + m2;
|
|
|
|
|
|
@@ -153,11 +149,11 @@ int main(void)
|
|
|
|
|
|
// Draw Double Pendulum
|
|
// Draw Double Pendulum
|
|
DrawRectanglePro((Rectangle){ CENTER_X, CENTER_Y, 10 * l1, lineThick },
|
|
DrawRectanglePro((Rectangle){ CENTER_X, CENTER_Y, 10 * l1, lineThick },
|
|
- (Vector2){0, lineThick * 0.5}, 90 - DEG(theta1), RAYWHITE);
|
|
|
|
|
|
+ (Vector2){0, lineThick * 0.5}, 90 - RAD2DEG * theta1, RAYWHITE);
|
|
|
|
|
|
Vector2 endpoint1 = CalculatePendulumEndPoint(l1, theta1);
|
|
Vector2 endpoint1 = CalculatePendulumEndPoint(l1, theta1);
|
|
DrawRectanglePro((Rectangle){ CENTER_X + endpoint1.x, CENTER_Y + endpoint1.y, 10 * l2, lineThick },
|
|
DrawRectanglePro((Rectangle){ CENTER_X + endpoint1.x, CENTER_Y + endpoint1.y, 10 * l2, lineThick },
|
|
- (Vector2){0, lineThick * 0.5}, 90 - DEG(theta2), RAYWHITE);
|
|
|
|
|
|
+ (Vector2){0, lineThick * 0.5}, 90 - RAD2DEG * theta2, RAYWHITE);
|
|
|
|
|
|
EndDrawing();
|
|
EndDrawing();
|
|
//----------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------
|