游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2975|回复: 4

请教关于OpenGL 曲面编程问题???谢谢!

[复制链接]

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2005-10-11 11:32:00 | 显示全部楼层 |阅读模式

已知:曲面上网格的点坐标,想用OpenGL中函数的曲面进行拟合,要求曲面经过这这些网格点!望各位高手指点谢谢!
网格点的坐标如下:(形状类似于圆柱状;坐标的规律为,每个切面36各点,共4个切面)
附件为该对象的网格图形
        X坐标               Y坐标           Z坐标
        0.000021,      16.202921,   -26.933998
       1.734384,      15.921248,   -26.933998
       3.528684,      15.772727,   -26.933998
       5.296133,      15.223372,   -26.933998
       6.982949,      14.327156,   -26.933998
       8.611653,      13.173288,   -26.933998
      10.015794,      11.653539,   -26.933998
      11.388852,       9.929522,   -26.933998
      12.491981,       7.884253,   -26.933998
      13.307647,       5.565081,   -26.933998
      13.482960,       3.061929,   -26.933998
      12.884762,       0.107288,   -26.933998
      11.747651,      -1.576154,   -26.933998
      10.024239,      -3.291121,   -26.933998
       7.867477,      -4.306893,   -26.933998
       5.653750,      -4.745384,   -26.933998
       3.603870,      -4.860065,   -26.933998
       1.748186,      -4.873497,   -26.933998
       0.000021,      -4.898122,   -26.933998
      -1.748088,      -4.873497,   -26.933998
      -3.603773,      -4.860065,   -26.933998
      -5.653654,      -4.745385,   -26.933998
      -7.867379,      -4.306894,   -26.933998
     -10.024142,      -3.291121,   -26.933998
     -11.747555,      -1.576154,   -26.933998
     -12.884666,       0.107288,   -26.933998
     -13.482864,       3.061928,   -26.933998
     -13.307551,       5.565082,   -26.933998
     -12.491885,       7.884255,   -26.933998
     -11.388756,       9.929524,   -26.933998
     -10.015697,      11.653539,   -26.933998
      -8.611557,      13.173288,   -26.933998
      -6.982853,      14.327156,   -26.933998
      -5.296038,      15.223372,   -26.933998
      -3.528587,      15.772727,   -26.933998
      -1.734288,      15.921248,   -26.933998
       0.000000,      16.808744,   -23.933998
       1.558563,      16.725831,   -23.933998
       3.120318,      16.418075,   -23.933998
       4.668597,      15.854999,   -23.933998
       6.206411,      15.057111,   -23.933998
       7.756397,      14.029728,   -23.933998
       9.376594,      12.763252,   -23.933998
      11.031684,      11.145612,   -23.933998
      12.310866,       9.011932,   -23.933998
      12.861443,       6.500820,   -23.933998
      12.484435,       3.954306,   -23.933998
      11.395343,       1.702915,   -23.933998
      10.168876,      -0.001854,   -23.933998
       8.602654,      -1.849524,   -23.933998
       6.845095,      -2.935972,   -23.933998
       5.046924,      -3.611386,   -23.933998
       3.216016,      -3.720591,   -23.933998
       1.539717,      -3.600553,   -23.933998
       0.000000,      -3.796580,   -23.933998
      -1.539716,      -3.600553,   -23.933998
      -3.216016,      -3.720591,   -23.933998
      -5.046924,      -3.611386,   -23.933998
      -6.845094,      -2.935973,   -23.933998
      -8.602654,      -1.849523,   -23.933998
     -10.168876,      -0.001854,   -23.933998
     -11.395343,       1.702915,   -23.933998
     -12.484435,       3.954306,   -23.933998
     -12.861443,       6.500823,   -23.933998
     -12.310866,       9.011933,   -23.933998
     -11.031684,      11.145613,   -23.933998
      -9.376594,      12.763252,   -23.933998
      -7.756396,      14.029728,   -23.933998
      -6.206411,      15.057111,   -23.933998
      -4.668598,      15.854998,   -23.933998
      -3.120318,      16.418075,   -23.933998
      -1.558562,      16.725831,   -23.933998
       0.000000,      16.506456,    -20.036102
       1.706956,      16.425975,    -20.036102
       3.417409,      16.127249,    -20.036102
       5.113103,      15.580694,    -20.036102
       6.797335,      14.806217,    -20.036102
       8.494897,      13.808979,    -20.036102
      10.269356,      12.579662,    -20.036102
      12.082030,      11.009484,    -20.036102
      13.483005,       8.938409,    -20.036102
      14.086003,       6.500975,    -20.036102
      13.673100,       4.029177,    -20.036102
      12.480314,       1.843844,    -20.036102
      11.137072,       0.128723,    -20.036102
       9.421728,      -1.604364,    -20.036102
       7.496829,      -2.658935,    -20.036102
       5.527451,      -3.314531,    -20.036102
       3.522219,      -3.420533,    -20.036102
       1.686316,      -3.304017,    -20.036102
       0.000000,      -3.494292,    -20.036102
      -1.686315,      -3.304017,    -20.036102
      -3.522219,      -3.420533,    -20.036102
      -5.527451,      -3.314531,    -20.036102
      -7.496828,      -2.658936,    -20.036102
      -9.421728,      -1.604363,    -20.036102
     -11.137072,       0.128723,    -20.036102
     -12.480314,       1.843844,    -20.036102
     -13.673100,       4.029177,    -20.036102
     -14.086003,       6.500977,    -20.036102
     -13.483005,       8.938410,    -20.036102
     -12.082030,      11.009485,    -20.036102
     -10.269356,      12.579662,    -20.036102
      -8.494896,      13.808979,    -20.036102
      -6.797335,      14.806217,    -20.036102
      -5.113104,      15.580693,    -20.036102
      -3.417409,      16.127249,    -20.036102
      -1.706955,      16.425975,    -20.036102
      -0.000000,      16.422717,    -16.217903
       1.958212,      16.325936,    -16.217903
       3.922565,      15.988197,    -16.217903
       5.873074,      15.366343,    -16.217903
       7.893612,      14.579405,    -16.217903
      10.130625,      13.647042,    -16.217903
      12.474283,      12.311622,    -16.217903
      14.368162,      10.283208,    -16.217903
      15.531466,       7.721562,    -16.217903
      15.952620,       4.905239,    -16.217903
      15.419225,       2.109269,    -16.217903
      14.162800,       0.111292,    -16.217903
      12.502314,      -2.517789,    -16.217903
      10.519079,      -4.171763,    -16.217903
       8.307751,      -5.276484,    -16.217903
       6.069540,      -5.905809,    -16.217903
       3.913591,      -6.152365,    -16.217903
       1.896823,      -6.157424,    -16.217903
      -0.000000,      -6.111471,    -16.217903
      -1.896828,      -6.157424,    -16.217903
      -3.913596,      -6.152365,    -16.217903
      -6.069544,      -5.905810,    -16.217903
      -8.307754,      -5.276485,    -16.217903
     -10.519084,      -4.171763,    -16.217903
     -12.502320,      -2.517788,    -16.217903
     -14.162805,       0.111292,    -16.217903
     -15.419230,       2.109268,    -16.217903
     -15.952625,       4.905241,    -16.217903
     -15.531472,       7.721564,    -16.217903
     -14.368168,      10.283210,    -16.217903
     -12.474287,      12.311623,    -16.217903
     -10.130631,      13.647042,    -16.217903
      -7.893617,      14.579405,    -16.217903
      -5.873081,      15.366342,    -16.217903
      -3.922570,      15.988197,    -16.217903
      -1.958217,      16.325936,    -16.217903
sf_20051011113156.bmp

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2005-10-11 11:47:00 | 显示全部楼层

Re: 请教关于OpenGL 曲面编程问题???谢谢!

希望各位高手,能采用VC++实现,本人刚入门,只对VC比较熟,谢谢!

1

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2005-10-11 15:48:00 | 显示全部楼层

Re:请教关于OpenGL 曲面编程问题???谢谢!

能不能先用"空洞" 算法或"网格前沿法"建立三角形网格, 然后用OpenGL函数画三角形?

1

主题

3

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2005-10-11 16:39:00 | 显示全部楼层

Re: 请教关于OpenGL 曲面编程问题???谢谢!

很感谢你的建议!对于采用三角平面建模,我试过,可以!但不精确,而且不好调整!
我查过资料,我的问题是已知曲面上的型值点,现在要求曲面的控制点,然后再用控制点去进行NURBS曲面拟合!但不知程序代码的实现,本人编程有限,望高手指点,谢谢!!!

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-10-12 17:56:00 | 显示全部楼层

Re:请教关于OpenGL 曲面编程问题???谢谢!

此题难度超出本人知识范围
哈哈.......不过用三角形做了后一样可以调整的。你一定要用nurbs曲面来做的话那就要查点资料了.解方程是死办法,应该有比较好的近似取值方法.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-28 03:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表