Вы определитесь, вам
дифференциальную геометрию или компьютерную 3D графику. Топология это в математике настолько абстрактный раздел, что совсем не обязательно, что вам вообще придётся в нём рисовать.
Для визуализации каких-то сложных поверхностей по аналитическому описанию обычно не программируют на таком низком уровне. Есть готовые математические пакеты типа Matlab, Mathematica, Maxima, на питоне рисуют в Jupyter Notebooks.
Если вам из принципа нужно вот чтобы именно код на C++ рисовал вам графики, то очень много разных библиотек предоставляют канву и средства рисования. Поищите их в Сети самостоятельно по фразам "C++ graphic library". Можно рисовать непосредственно через API OpenGL, DirectX или Vulkan, можно использовать обёртки типа
raylib. Очень часто в качестве канвы используют
libsdl или его альтернативу
SFML.
3D
моделированием обычно не занимаются напрямую из кода, потому что зачем?.. Ближе всего к C++ забесплатно вы в 3D-моделировании приблизитесь, если будете использовать
Blender.