求教:STEP文件解析出的曲面数据用gluNurbsSurface绘画的问题 10C

利用空闲时间自己写了一个STEP文件解析。可是解析出来的数据用gluNurbsSurface函数绘不出图形。

这是解析出来的数据:

GLfloat CtrlPoint[15][11][3] =
{
{ { 0.396180,55.420753,-0.339999 },
{ -4.653235,55.420746,-0.340001 },
{ -9.621811,55.420780,-0.339775 },
{ -14.050525,55.420662,-0.364466 },
{ -16.463245,55.420780,-0.395637 },
{ -18.554060,55.420628,-0.431171 },
{ -20.763857,55.420708,-0.485464 },
{ -23.641211,55.420509,-0.628331 },
{ -27.128616,55.421169,-1.045857 },
{ -29.227036,55.420670,-1.575200 },
{ -30.188053,55.420795,-1.934166 } },

{ { 0.391862,55.915108,-0.340013 },
{ -4.602001,55.915131,-0.340019 },
{ -9.544586,55.915169,-0.339743 },
{ -13.987616,55.915241,-0.363895 },
{ -16.416355,55.915390,-0.394920 },
{ -18.516788,55.915371,-0.430465 },
{ -20.733881,55.915504,-0.484327 },
{ -23.617601,55.915447,-0.626374 },
{ -27.116173,55.915535,-1.043046 },
{ -29.223436,55.915161,-1.573819 },
{ -30.189358,55.914875,-1.934648 } },

{ { 0.384358,56.851002,-0.339657 },
{ -4.512877,56.851021,-0.339631 },
{ -9.421076,56.851048,-0.339272 },
{ -13.906471,56.851311,-0.362722 },
{ -16.371767,56.851555,-0.393841 },
{ -18.492149,56.851772,-0.429611 },
{ -20.722265,56.851925,-0.483436 },
{ -23.612581,56.852146,-0.625561 },
{ -27.116095,56.852062,-1.042340 },
{ -29.223709,56.853149,-1.573360 },
{ -30.188852,56.852924,-1.934337 } },

{ { 0.372935,58.179333,-0.353692 },
{ -4.376973,58.179798,-0.353618 },
{ -9.245570,58.180267,-0.353281 },
{ -13.818981,58.180782,-0.376462 },
{ -16.353870,58.181198,-0.408418 },
{ -18.512518,58.181751,-0.444851 },
{ -20.767103,58.181908,-0.500031 },
{ -23.666553,58.182644,-0.644998 },
{ -27.157047,58.184246,-1.063828 },
{ -29.238558,58.190113,-1.588565 },
{ -30.184488,58.192352,-1.941806 } },

{ { 0.360575,59.413937,-0.394705 },
{ -4.229746,59.415619,-0.394698 },
{ -9.055145,59.417278,-0.394600 },
{ -13.726094,59.418381,-0.418016 },
{ -16.339619,59.419086,-0.451076 },
{ -18.543598,59.419952,-0.488196 },
{ -20.828815,59.420158,-0.545257 },
{ -23.742640,59.421547,-0.693872 },
{ -27.216085,59.426136,-1.113946 },
{ -29.261786,59.438492,-1.626709 },
{ -30.181005,59.445297,-1.966521 } },

{ { 0.347430,60.579803,-0.476209 },
{ -4.073054,60.583607,-0.476508 },
{ -8.849333,60.587418,-0.476947 },
{ -13.620145,60.590111,-0.500861 },
{ -16.316299,60.591545,-0.534941 },
{ -18.569221,60.592880,-0.572488 },
{ -20.888618,60.593521,-0.631266 },
{ -23.820963,60.596081,-0.782867 },
{ -27.279118,60.604572,-1.201117 },
{ -29.289598,60.624355,-1.696387 },
{ -30.182413,60.637894,-2.018497 } },

{ { 0.335411,61.673443,-0.611145 },
{ -3.929763,61.680119,-0.612128 },
{ -8.664754,61.687119,-0.613495 },
{ -13.531279,61.692574,-0.637932 },
{ -16.304022,61.695259,-0.672570 },
{ -18.600494,61.697304,-0.709939 },
{ -20.948824,61.698704,-0.769575 },
{ -23.894472,61.702702,-0.922069 },
{ -27.335758,61.715443,-1.333270 },
{ -29.318361,61.742729,-1.805597 },
{ -30.192587,61.764133,-2.107212 } },

{ { 0.323835,62.690128,-0.806288 },
{ -3.792035,62.699791,-0.808431 },
{ -8.484427,62.710270,-0.811183 },
{ -13.436935,62.718651,-0.835980 },
{ -16.279263,62.722790,-0.870511 },
{ -18.614668,62.725616,-0.906930 },
{ -20.988556,62.727757,-0.966152 },
{ -23.946426,62.733250,-1.116681 },
{ -27.377441,62.751457,-1.514939 },
{ -29.346308,62.787239,-1.959615 },
{ -30.213768,62.817215,-2.239034 } },

{ { 0.311956,63.630329,-1.068795 },
{ -3.650888,63.642754,-1.072714 },
{ -8.289282,63.656456,-1.077406 },
{ -13.312265,63.667461,-1.102242 },
{ -16.216412,63.672909,-1.135769 },
{ -18.587200,63.676319,-1.170238 },
{ -20.985466,63.679043,-1.227325 },
{ -23.959078,63.685894,-1.372183 },
{ -27.395077,63.709705,-1.750528 },
{ -29.371222,63.753456,-2.163080 },
{ -30.247601,63.791500,-2.419285 } },

{ { 0.295965,64.786026,-1.506171 },
{ -3.461175,64.800629,-1.512817 },
{ -8.012814,64.816757,-1.520406 },
{ -13.105686,64.829529,-1.544819 },
{ -16.079136,64.835854,-1.575963 },
{ -18.490387,64.839409,-1.606755 },
{ -20.917952,64.842476,-1.658949 },
{ -23.916044,64.850700,-1.791643 },
{ -27.380297,64.881157,-2.134801 },
{ -29.396799,64.933273,-2.499629 },
{ -30.307966,64.979561,-2.724183 } },

{ { 0.276334,66.030304,-2.205175 },
{ -3.226525,66.043480,-2.215111 },
{ -7.642716,66.058044,-2.226399 },
{ -12.771455,66.069916,-2.250023 },
{ -15.801824,66.076218,-2.277041 },
{ -18.247419,66.079742,-2.302287 },
{ -20.702587,66.083542,-2.345565 },
{ -23.735643,66.093933,-2.455723 },
{ -27.277956,66.130859,-2.740284 },
{ -29.406607,66.187813,-3.038391 },
{ -30.406221,66.236511,-3.222476 } },

{ { 0.252621,67.186798,-3.268190 },
{ -2.947218,67.195946,-3.279870 },
{ -7.172223,67.206093,-3.293343 },
{ -12.290011,67.214943,-3.314248 },
{ -15.357754,67.219788,-3.334449 },
{ -17.827532,67.222710,-3.352131 },
{ -20.305820,67.226532,-3.382119 },
{ -23.383739,67.236305,-3.457649 },
{ -27.060328,67.267227,-3.653424 },
{ -29.380144,67.309601,-3.858564 },
{ -30.523331,67.342438,-3.986731 } },

{ { 0.232510,67.876495,-4.346978 },
{ -2.714065,67.880211,-4.353499 },
{ -6.767012,67.884476,-4.361573 },
{ -11.853099,67.888840,-4.375108 },
{ -14.939553,67.891464,-4.387467 },
{ -17.422377,67.893379,-4.398559 },
{ -19.914835,67.895996,-4.416266 },
{ -23.028887,67.902039,-4.458865 },
{ -26.829449,67.918930,-4.568076 },
{ -29.325071,67.940041,-4.685094 },
{ -30.597101,67.955116,-4.759522 } },

{ { 0.220774,68.164368,-5.096286 },
{ -2.573260,68.165863,-5.099390 },
{ -6.533067,68.167656,-5.103587 },
{ -11.618490,68.169785,-5.111461 },
{ -14.726694,68.171204,-5.118582 },
{ -17.222906,68.172356,-5.125169 },
{ -19.726410,68.173920,-5.135098 },
{ -22.859045,68.177422,-5.158138 },
{ -26.716221,68.186806,-5.216928 },
{ -29.292234,68.198242,-5.281814 },
{ -30.623497,68.206230,-5.324024 } },

{ { 0.216830,68.245834,-5.360061 },
{ -2.525938,68.246780,-5.362195 },
{ -6.456790,68.247948,-5.365202 },
{ -11.546170,68.249435,-5.371111 },
{ -14.664030,68.250473,-5.376442 },
{ -17.166023,68.251350,-5.381429 },
{ -19.673941,68.252533,-5.388788 },
{ -22.812376,68.255165,-5.405632 },
{ -26.684931,68.262115,-5.448541 },
{ -29.282665,68.270523,-5.496467 },
{ -30.630068,68.276352,-5.527918 } }};

GLint u_degree = 3;
GLint v_degree = 3;
GLint u_multiplicities[13] = { 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4 };
GLint v_multiplicities[9] = { 4, 1, 1, 1, 1, 1, 1, 1, 4 };
GLfloat u_knots[13] =
{ 0., 0.071307130996859, 0.137595256562749, 0.203883382128597,
0.270171507694445,0.336459633260292, 0.40274775882614,
0.469035884392094, 0.535324009957942, 0.667900261089637,
0.800476512221333, 0.933052763353134, 1. };
GLfloat v_knots[9] =
{ 0., 0.252050094115983, 0.374749611013778,0.497449127911572,
0.55879888636047, 0.620148644809465,0.74284816170726, 0.865547678605054,1. };

下面是调用方法:
void Draw()
{
。。。
int S = 15; //CtrlPoint[15][11][3]
int T = 11; //CtrlPoint[15][11][3]
GLint S_ORDER = u_degree;
GLint T_ORDER = v_degree;
GLint S_NUMKNOTS = 13;
GLint T_NUMKNOTS = 9;
GLfloat *u_Knots = &u_knots[0];
GLfloat *v_Knots = &v_knots[0];
GLfloat *CtrlPoints = &(CtrlPoint[0][0][0]);
if (!FUnurbsObj)
{
FUnurbsObj = gluNewNurbsRenderer();
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_COLOR_MATERIAL);
GLfloat specular[] = { 0.7f, 0.7f, 0.7f, 1.0f };
GLfloat shine[] = { 100.0f };
glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
glMaterialfv(GL_FRONT, GL_SPECULAR, specular);
glMaterialfv(GL_FRONT, GL_SHININESS, shine);
glEnable(GL_AUTO_NORMAL);
gluNurbsProperty(FUnurbsObj, GLU_SAMPLING_TOLERANCE, 10.0f);//定义显示误差精度
gluNurbsProperty(FUnurbsObj, GLU_DISPLAY_MODE, (GLfloat)GLU_FILL);//填充
}
gluBeginSurface(FUnurbsObj);
gluNurbsSurface(
FUnurbsObj,
S_NUMKNOTS,
u_Knots,
T_NUMKNOTS,
v_Knots,
3 * T,
3,
CtrlPoints,
S_ORDER,
T_ORDER,
GL_MAP2_VERTEX_3);
gluEndSurface(FUnurbsObj);
。。。
}

路过的大牛们看看问题出在哪里?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
新手求教:freemarker视图解析器优势在哪?
-
新手求教:如何用lua解析json电报
-
求教:jq获取第二个div的z-index属性
-
求教:CT课程的成绩是采用记录数组的形式存放的,请设计这样一个数组,并写出求班级平均成绩的命令式程序
-
求教:搜索页如何提交表单后再跳转回提交页?
-
求教:有哪个大神知道怎么使用vue的render函数写一个拖放接口,返回虚拟dom节点
-
求教:SAX解析中法语的重音符号怎么处理?
-
求教:Android锁屏弹出消息
-
求教:关于对于m=4阶B-树
-
小白求教:OpenGL如何在一个窗口同时绘制两个图形啊
-
求教: java移动文件(移动ftp上的文件)
-
新手求教:求一个android,ios,java服务器都可以解析的json
-
求教:在ssm框架下如何获取设备api接口传输的json数据并保存到mysql数据里?
-
c语言函数执行过程求教:
-
新人求教:关于freeboard
-
求教java解析infopath,xsn文件
-
求教:C++中怎么在一个对话框中输入数据后在另一个对话框中的表格中显示出相应的数据?
-
外行求教:vb.net MDI父窗体与子窗体之间的界线怎么隐藏
-
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收集私人信息,保...
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
别再翻了,面试二叉树看这 11 个就够了~
写在前边 数据结构与算法: 不知道你有没有这种困惑,虽然刷了很多算法题,当我去面试的时候,面试官让你手写一个算法,可能你对此算法很熟悉,知道实现思路,但是总是不知道该在什么地方写,而且很多边界条件想不全面,一紧张,代码写的乱七八糟。如果遇到没有做过的算法题,思路也不知道从何寻找。面试吃了亏之后,我就慢慢的做出总结,开始分类的把数据结构所有的题型和解题思路每周刷题做出的系统性总结写在了 Github...
Java泛型 通配符详解
对于<? super 类型>,编译器将只允许写操作,不允许读操作。即只可以设值(比如set操作),不可以取值(比如get操作)。 对于<? extends 类型>,编译器将只允许读操作,不允许写操作。即只可以取值,不可以设值。 以上两点都是针对于源码里涉及到了类型参数的函数而言的。比如对于List而言,不允许的写操作有add函数,因为它的函数签名是boolean add(E e);,此时这个形参E就变成了一个涉及了通配符的类型;而不允许的读操作有get函数,因为它的函数签名是E get(int index)
代码整洁 vs 代码肮脏
写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。 WTF/min是衡量代码质量的唯一标准,Uncle Bob在书中称糟糕的代码为沼泽(wading),这只突出了我们是糟糕代码的受害者。国内有一个更适合的词汇:屎山,虽然不是很文雅但是更加客观,程序员既是受害者也是加害者。 对...
让程序员崩溃的瞬间(非程序员勿入)
今天给大家带来点快乐,程序员才能看懂。 来源:https://zhuanlan.zhihu.com/p/47066521 1. 公司实习生找 Bug 2.在调试时,将断点设置在错误的位置 3.当我有一个很棒的调试想法时 4.偶然间看到自己多年前写的代码 5.当我第一次启动我的单元测试时 ...
接私活必备的 10 个开源项目!
点击蓝色“GitHubDaily”关注我加个“星标”,每天下午 18:35,带你逛 GitHub!作者 | SevDot来源 | http://1t.click/VE8W...
阿里资深工程师教你如何优化 Java 代码!
作者 | 王超 责编 | 伍杏玲 明代王阳明先生在《传习录》谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层。着实用功,便见道无终穷,愈探愈深,必使精白无一毫不彻方可。 代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白无一毫不彻"。这里,整理了日常工作中的一...
周杰伦新歌《说好不哭》上线,程序员哭了......
欢迎添加华为云小助手微信(微信号:HWCloud002或HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩! 前些天,场主的朋友圈被一首歌刷屏了。 数据有多牛逼?除了揽获各大新闻头条,新歌发售3小时,数字专辑就在QQ音乐卖了360万张。以单价3元计算,一首《说好不哭》已狂揽千万...
GitHub开源的10个超棒后台管理面板
目录 1、AdminLTE 2、vue-Element-Admin 3、tabler 4、Gentelella 5、ng2-admin 6、ant-design-pro 7、blur-admin 8、iview-admin 9、material-dashboard 10、layui 项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、...
Java中创建对象的5种方法
将会列举5种方法去创建 Java 对象,以及他们如何与构造函数交互,并且会有介绍如何去使用这些方法的示例。 作为一个 Java 开发人员,我们每天都会创建大量的 Java 对象,但是我们通常会使用依赖管理系统去创建这些对象,例如 Spring 。然而,我们可以有更多的方式去创建对象,让我们一起在文章中去学习这些方法吧。 这里列举在 Java 中创建对象的五种方式,下面将介绍它们的示例,以及创建对象...
100 个网络基础知识普及,看完成半个网络高手
欢迎添加华为云小助手微信(微信号:HWCloud002或HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩! 1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理...
动画:面试如何轻松手写链表?
写在前边 暑假参加的第一个公司的就让我手写一个双向链表,并完成插入数据和删除数据的操作。当时我很蒙蔽,懵逼的不是思路,而是手写,虽然写出来了,但是很多边界条件和代码规范自我感觉不好,所以有了这些细心的总结。那么今天的主题就是徒手写链表,应聘者该如何下手? 我们通常写链表准备应聘的时候,通常背加上理解,但是过了几天又让你写。就会陌生了,虽然有点思路。还是模模糊糊,小鹿也有这个记性的“毛病”,“有毛病...
栈和队列:面试题(Java)
两个队列实现一个栈 使用两个队列完成栈的功能, 思路: 如上图,入队顺序为:1 2 3 4 5,如果要模拟栈的功能,那么就要上5先弹出来,因为是队列,所以只能从1开始出,把1 2 3 4存到另外一个队列中,这样就可以把5弹出来了: 这样就完成了一次出栈,这下上面的队列为空,所有的数据存储在下面这个队列中: 如果要继续出栈,那么就把1 2 3 挪到空的队列中,弹出4,到这里已经明白了如何模拟出...
Google离开我们快十年了
2010年1月13日,Google离开中国。掐指算来,Google已经离开我们快十年了。2010年是个特殊的年份,这一年还发生了3Q大战。为什么诸多大事都发生在2010年...
中国最顶级的一批程序员,从首富到首负!
过去的20年是程序员快意恩仇的江湖时代通过代码,实现梦想和财富有人痴迷于技术,做出一夜成名的产品有人将技术变现,创办企业成功上市这些早一代的程序员们创造的奇迹引发了一浪高...
为什么面向对象糟透了?
又是周末,编程语言“三巨头”Java, Lisp 和C语言在Hello World咖啡馆聚会。服务员送来咖啡的同时还带来了一张今天的报纸, 三人寒暄了几句, C语言翻开了...
分享靠写代码赚钱的一些门路
作者 mezod,译者 josephchang10如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。今天给大家分享一个精彩...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
程序员该如何把 Windows 系统打造的跟 Mac 一样牛逼?
起因:之前一直用Mac开发,换了家公司,只许用Windows下开发,说实话,一开始我是拒绝的,可自从看到了这几个工具以后......1、终端工具:item2 VS Cmd...
技术人员要拿百万年薪,必须要经历这9个段位
很多人都问,技术人员如何成长,每个阶段又是怎样的,如何才能走出当前的迷茫,实现自我的突破。所以我结合我自己10多年的从业经验,总结了技术人员成长的9个段位,希望对大家的职...
世界上最好的学习法:费曼学习法
你是否曾幻想读一遍书就记住所有的内容?是否想学习完一项技能就马上达到巅峰水平?除非你是天才,不然这是不可能的。对于大多数的普通人来说,可以通过笨办法(死记硬背)来达到学习的目的,但效率低下。当然,也可以通过优秀的学习法来进行学习,比如今天讲的“费曼学习法”,可以将你的学习效率极大的提高。 费曼学习法是由加拿大物理学家费曼所发明的一种高效的学习方法,费曼本身是一个天才,13岁自学微积分,24岁加入曼...
相关热词 c#可被js调用的函数 c# 日志文件 c# mvc中间件 c#爬虫路径中文件名过长 c# mutex 延时 c# mysql 功能码 c# 多态 封装 c# 校园一卡通接口 c#本地帮助文档 c#两个table左联接