Developer knowledge network ยท moderated exchange

Onbetrouwbare Code-gemeenschap

Ontwikkelaarsonderzoek, reverse engineering en coderingsgemeenschap

Knowledge indexLive
4Categories
919Threads
2.8KBerichten
Tutorial

Minimap Radar math: converting 3D World coordinates to 2D UI coordinates

matrix_math_guy
Math Specialist
MEMBER
Vertegenwoordiger: 105
Datum van deelname: Aug 2018
Berichten: 52
Bedankt: 41
1 maanden geleden ยท Jul 18, 2026 8:32 PM
#1

Formula for projecting 3D player coordinates onto a 2D rotating top-down radar:

CPP
Vector2 WorldToRadar(Vector3 localPos, Vector3 targetPos, float localYaw, float radarRadius, float zoomScale) {
    float dx = targetPos.x - localPos.x;
    float dy = targetPos.y - localPos.y;
    
    // Convert local yaw to radians
    float yawRad = localYaw * (3.14159265f / 180.0f);
    
    // Rotate vector by camera orientation
    float rotatedX = dx * cosf(yawRad) - dy * sinf(yawRad);
    float rotatedY = dx * sinf(yawRad) + dy * cosf(yawRad);
    
    // Scale distance
    float screenX = rotatedX * zoomScale;
    float screenY = rotatedY * zoomScale;
    
    // Clamp to radar circular boundary
    float dist = sqrtf(screenX * screenX + screenY * screenY);
    if (dist > radarRadius) {
        screenX = (screenX / dist) * radarRadius;
        screenY = (screenY / dist) * radarRadius;
    }
    return Vector2(screenX, screenY);
}
imgui_artisan
UI Designer
MEMBER
Vertegenwoordiger: 202
Datum van deelname: Apr 2019
Berichten: 54
Bedankt: 28
1 maanden geleden ยท Jul 19, 2026 3:18 AM
#2

Rendered with ImGui::GetWindowDrawList()->AddCircleFilled on an ImGui overlay window. Very responsive!

raycast_ryan
Ballistics Dev
MEMBER
Vertegenwoordiger: 72
Datum van deelname: Sep 2019
Berichten: 32
Bedankt: 16
1 maanden geleden ยท Jul 19, 2026 6:22 PM
#3

Clean 2D rotation matrix formula. Works for any top-down minimap projection.