0

嗨,我正在尝试在亲爱的 imgui 中画四分之一圈,为此我需要一个弧形功能

void ImDrawList::PathArcTo(const ImVec2& centre, float radius, float a_min, float a_max, int num_segments)
{
    if (radius == 0.0f)
    {
        _Path.push_back(centre);
        return;
    }
    _Path.reserve(_Path.Size + (num_segments + 1));
    for (int i = 0; i <= num_segments; i++)
    {
        const float a = a_min + ((float)i / (float)num_segments) * (a_max - a_min);
        _Path.push_back(ImVec2(centre.x + ImCos(a) * radius, centre.y + ImSin(a) * radius));
    }
}

问题是这个http://prntscr.com/rsyaaf我也想要这个http://prntscr.com/rsybsj我该如何解决上面的代码来自亲爱的 imgui

4

1 回答 1

0

在所有情况下添加 _Path.push_back(centre);以提供以弧中心而不是弦为中心的直角

于 2020-04-04T16:48:12.570 回答