From d2111a84680aa84ca8d2cd0e852b1279c0f62011 Mon Sep 17 00:00:00 2001 From: Jopestpe <47086979+Jopestpe@users.noreply.github.com> Date: Fri, 17 Oct 2025 13:18:24 -0300 Subject: [PATCH] added comments and reorganized UI labels --- examples/shapes/shapes_math_sine_cosine.c | 97 +++++++++++++------- examples/shapes/shapes_math_sine_cosine.png | Bin 22497 -> 22098 bytes 2 files changed, 63 insertions(+), 34 deletions(-) diff --git a/examples/shapes/shapes_math_sine_cosine.c b/examples/shapes/shapes_math_sine_cosine.c index 5ec355ec7..f285ff7e9 100644 --- a/examples/shapes/shapes_math_sine_cosine.c +++ b/examples/shapes/shapes_math_sine_cosine.c @@ -84,51 +84,80 @@ int main(void) //---------------------------------------------------------------------------------- BeginDrawing(); ClearBackground(RAYWHITE); + + // Cotangent (orange) + DrawLineEx((Vector2){ center.x , limitMin.y }, (Vector2){ cotangentPoint.x, limitMin.y }, 2.0f, ORANGE); + DrawLineDashed(center, cotangentPoint, 10.0f, 4.0f, ORANGE); + // Side background + DrawLine(580, 0, 580, GetScreenHeight(), (Color){ 218, 218, 218, 255 }); + DrawRectangle(580, 0, GetScreenWidth(), GetScreenHeight(), (Color){ 232, 232, 232, 255 }); + + // Base circle and axes DrawCircleLinesV(center, radius, GRAY); - DrawCircleSectorLines(center, radius*0.4f , -angle, -360.f , 36.0f, PINK); - DrawCircleSectorLines(center, radius*0.5f , -angle, -180.f , 36.0f, DARKBLUE); - DrawCircleSectorLines(center, radius*0.6f , -angle, -90.f , 36.0f, BEIGE); - DrawCircleSectorLines(center, radius*0.7f , -angle, 0.f, 36.0f, LIME); DrawLineEx((Vector2){ center.x, limitMin.y }, (Vector2){ center.x, limitMax.y }, 1.0f, GRAY); DrawLineEx((Vector2){ limitMin.x, center.y }, (Vector2){ limitMax.x, center.y }, 1.f, GRAY); - DrawLineEx((Vector2){ center.x, center.y }, (Vector2){ center.x, point.y }, 2.0f, RED); - DrawLineDashed((Vector2){ point.x, center.y }, (Vector2){ point.x, point.y }, 10.0f, 4.0f, RED); - DrawLineEx((Vector2){ center.x, center.y }, (Vector2){ point.x, center.y }, 2.0f, BLUE); - DrawLineDashed((Vector2){ center.x , point.y }, (Vector2){ point.x, point.y }, 10.0f, 4.0f, BLUE); - DrawLineEx((Vector2){ center.x , limitMin.y }, (Vector2){ cotangentPoint.x, limitMin.y }, 2.0f, ORANGE); - DrawLineEx((Vector2){ limitMax.x , center.y }, (Vector2){ limitMax.x, tangentPoint.y }, 2.0f, PURPLE); - DrawLineDashed(center, cotangentPoint, 10.0f, 4.0f, ORANGE); - DrawLineDashed(center, tangentPoint, 10.0f, 4.0f, PURPLE); - DrawLineEx((Vector2){ center.x , center.y }, point, 2.0f, BLACK); - DrawCircleV(point, 4.0f, BLACK); + + // Wave graph axes DrawLineEx((Vector2){ start.x , start.y }, (Vector2){ start.x , start.y + start.height }, 2.0f, GRAY); DrawLineEx((Vector2){ start.x + start.width, start.y }, (Vector2){ start.x + start.width, start.y + start.height }, 2.0f, GRAY); DrawLineEx((Vector2){ start.x, start.y + start.height/2 }, (Vector2){ start.x + start.width, start.y + start.height/2 }, 2.0f, GRAY); - DrawCircleV((Vector2){ start.x + (angle/360.0f)*start.width, start.y + ((-sinRad + 1)*start.height/2.0f) }, 4.0f, RED); - DrawCircleV((Vector2){ start.x + (angle/360.0f)*start.width, start.y + ((-cosRad + 1)*start.height/2.0f) }, 4.0f, BLUE); - DrawSplineLinear(sinePoints, wavePoints, 1.0f, RED); - DrawSplineLinear(cosPoints, wavePoints, 1.0f, BLUE); - DrawLine(580, 0, 580, GetScreenHeight(), (Color){ 218, 218, 218, 255 }); - DrawRectangle(580, 0, GetScreenWidth(), GetScreenHeight(), (Color){ 232, 232, 232, 255 }); - // Draw GUI controls - //------------------------------------------------------------------------------ - GuiSetStyle(LABEL, TEXT_COLOR_NORMAL, ColorToInt(GRAY)); - GuiToggle((Rectangle){ 640, 100, 120, 20}, TextFormat("Pause"), &pause); - GuiSetStyle(LABEL, TEXT_COLOR_NORMAL, ColorToInt(LIME)); - GuiSliderBar((Rectangle){ 640, 70, 120, 20}, "Angle", TextFormat("%.0f°", angle), &angle, 0.0f, 360.f); - DrawText(TextFormat("Supplementary %0.f°",supplementary), 640, 130, 6, DARKBLUE); - DrawText(TextFormat("Complementary %0.f°",complementary), 640, 150, 6, BEIGE); - DrawText(TextFormat("Explementary %0.f°",explementary), 640, 170, 6, PINK); - DrawText(TextFormat("Sine %.2f", sinRad), 640, 190, 6, RED); - DrawText(TextFormat("Cosine %.2f", cosRad), 640, 210, 6, BLUE); - DrawText(TextFormat("Tangent %.2f", tangent), 640, 230, 6, PURPLE); - DrawText(TextFormat("Cotangent %.2f", cotangent), 640, 250, 6, ORANGE); + + // Wave graph axis labels DrawText("1", start.x - 8, start.y, 6, GRAY); DrawText("0", start.x - 8, start.y + start.height/2 - 6, 6, GRAY); DrawText("-1", start.x - 12, start.y + start.height - 8, 6, GRAY); DrawText("0", start.x - 2, start.y + start.height + 4, 6, GRAY); - DrawText("360", start.x + start.width - 8, start.y + start.height + 4, 6, GRAY); + DrawText("360", start.x + start.width - 8, start.y + start.height + 4, 6, GRAY); + + // Sine (red - vertical) + DrawLineEx((Vector2){ center.x, center.y }, (Vector2){ center.x, point.y }, 2.0f, RED); + DrawLineDashed((Vector2){ point.x, center.y }, (Vector2){ point.x, point.y }, 10.0f, 4.0f, RED); + DrawText(TextFormat("Sine %.2f", sinRad), 640, 190, 6, RED); + DrawCircleV((Vector2){ start.x + (angle/360.0f)*start.width, start.y + ((-sinRad + 1)*start.height/2.0f) }, 4.0f, RED); + DrawSplineLinear(sinePoints, wavePoints, 1.0f, RED); + + // Cosine (blue - horizontal) + DrawLineEx((Vector2){ center.x, center.y }, (Vector2){ point.x, center.y }, 2.0f, BLUE); + DrawLineDashed((Vector2){ center.x , point.y }, (Vector2){ point.x, point.y }, 10.0f, 4.0f, BLUE); + DrawText(TextFormat("Cosine %.2f", cosRad), 640, 210, 6, BLUE); + DrawCircleV((Vector2){ start.x + (angle/360.0f)*start.width, start.y + ((-cosRad + 1)*start.height/2.0f) }, 4.0f, BLUE); + DrawSplineLinear(cosPoints, wavePoints, 1.0f, BLUE); + + // Tangent (purple) + DrawLineEx((Vector2){ limitMax.x , center.y }, (Vector2){ limitMax.x, tangentPoint.y }, 2.0f, PURPLE); + DrawLineDashed(center, tangentPoint, 10.0f, 4.0f, PURPLE); + DrawText(TextFormat("Tangent %.2f", tangent), 640, 230, 6, PURPLE); + + // Cotangent (orange) + DrawText(TextFormat("Cotangent %.2f", cotangent), 640, 250, 6, ORANGE); + + // Complementary angle (beige) + DrawCircleSectorLines(center, radius*0.6f , -angle, -90.f , 36.0f, BEIGE); + DrawText(TextFormat("Complementary %0.f°",complementary), 640, 150, 6, BEIGE); + + // Supplementary angle (darkblue) + DrawCircleSectorLines(center, radius*0.5f , -angle, -180.f , 36.0f, DARKBLUE); + DrawText(TextFormat("Supplementary %0.f°",supplementary), 640, 130, 6, DARKBLUE); + + // Explementary angle (pink) + DrawCircleSectorLines(center, radius*0.4f , -angle, -360.f , 36.0f, PINK); + DrawText(TextFormat("Explementary %0.f°",explementary), 640, 170, 6, PINK); + + // Current angle - arc (lime), radius (black), endpoint (black) + DrawCircleSectorLines(center, radius*0.7f , -angle, 0.f, 36.0f, LIME); + DrawLineEx((Vector2){ center.x , center.y }, point, 2.0f, BLACK); + DrawCircleV(point, 4.0f, BLACK); + + // Draw GUI controls + //------------------------------------------------------------------------------ + GuiSetStyle(LABEL, TEXT_COLOR_NORMAL, ColorToInt(GRAY)); + GuiToggle((Rectangle){ 640, 70, 120, 20}, TextFormat("Pause"), &pause); + GuiSetStyle(LABEL, TEXT_COLOR_NORMAL, ColorToInt(LIME)); + GuiSliderBar((Rectangle){ 640, 40, 120, 20}, "Angle", TextFormat("%.0f°", angle), &angle, 0.0f, 360.f); + + // Angle values panel + GuiGroupBox((Rectangle){ 620, 110, 140, 170}, "Angle Values"); //------------------------------------------------------------------------------ DrawFPS(10, 10); diff --git a/examples/shapes/shapes_math_sine_cosine.png b/examples/shapes/shapes_math_sine_cosine.png index c1dcb1413a23312c02915093b95ffe9a8de649a5..b561f74fbbd06ab006df7e5789e79a6cba255b07 100644 GIT binary patch literal 22098 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 PL%{ExzL{Pr&L#SP=KmFB literal 22497 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 Tq9$v<2>5e#KHzj8?RVk7`*^Bi