gpt4 book ai didi

c - 如何使用带有 OpenGL 的 Nurbs 知道特定值的位置?

转载 作者:太空狗 更新时间:2023-10-29 15:39:02 26 4
gpt4 key购买 nike

我正在使用 OpenGL 创建一个 nurbs 曲面 (gluNurbSurface(...)),我想知道如何将控制点(黑点)的正常值作为红点到达曲面市场。有了这些信息,我就能计算出它们之间的距离。

Nurbs

已添加为了得到另外的答案或改进题目我想写部分代码,希望能得到更多的帮助:

在这部分你可以观察我是如何初始化 nurbs 的。

init_surface();

theNurb = gluNewNurbsRenderer();
gluNurbsProperty(theNurb, GLU_SAMPLING_TOLERANCE, 50.0);
gluNurbsProperty(theNurb, GLU_DISPLAY_MODE, GLU_FILL);
gluNurbsCallback(theNurb, GLU_ERROR,
(GLvoid (*)()) nurbsError);

接下来使用它们的参数创建表面。

gluBeginSurface(theNurb);
gluNurbsSurface(theNurb,
U+ordenU, knotsU,
V+ordenV, knotsV,
V * 3,
3,
&ctlpoints[0][0][0],
ordenU, ordenV,
GL_MAP2_VERTEX_3);

gluEndSurface(theNurb);

请记住我正在使用 C。此刻我正尝试将 nurbs 的值引入一个 vector 中,该 vector 具有 genpfault 在第一个答案中提出的函数,但我不知道在哪个函数中我必须添加它们的部分。

最佳答案

通过 gluNurbsCallback() 设置一个 GLU_NURBS_NORMAL_DATA 回调. GLU_NURBS_VERTEX_DATA 回调也很有用。

*userData (通过 gluNurbsCallbackData() )指向某种动态数组数据结构以保存点/法线。如果您使用的是 C++,我建议您使用 Eigen::Vector3fs 的 std::vector

关于c - 如何使用带有 OpenGL 的 Nurbs 知道特定值的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13572811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com