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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 literal 22497 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 AVgLXD