收录日期:2021/01/26 16:56:16 时间:2016/05/27 00:58:12 标签:图形处理/算法
我想用opengl画一个螺旋体。该螺旋体是由一个圆沿着圆柱螺旋线移动一定距离形成的(螺旋线方程已知)。我想过用z-map离散的方法来做,可是螺旋体不是回转体。
望各位赐教。

rainfield
我想有两种方法:1.一个是自己离散, 该螺旋体的表面是一根根螺旋现组成, 用螺旋线的参数化方程可以方便的将其三角网或者四角网离散,应该不很难.2.二是有个叫tube的gl库可以实现你要的功能.去google一下.例如库中的函数: 
void gleLathe (int ncp,        /* number of contour points */
             gleDouble contour[][2],    /* 2D contour */
             gleDouble cont_normal[][2], /* 2D contour normals */
             gleDouble up[3],           /* up vector for contour */
             gleDouble startRadius, /* spiral starts in x-y plane */
             gleDouble drdTheta,        /* change in radius per revolution */
             gleDouble startZ, /* starting z value */
             gleDouble dzdTheta,        /* change in Z per revolution */
             gleDouble startXform[2][3], /* starting contour affine xform */
             gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
             gleDouble startTheta, /* start angle in x-y plane */
             gleDouble sweepTheta); /* degrees to spiral around */

Sweep an arbitrary contour along a helical path. The sweep will be performed as a shear along the z-axis, so that the orientation of the contour is displaced, rather than translated, as the contour is swept. 
The axis of the helix lies along the modeling coordinate z-axis. 

An affine transform can be applied as the contour is swept. For most ordinary usage, the affines should be given as NULL.


void gleHelicoid (gleDouble rToroid, /* circle contour (torus) radius */
             gleDouble startRadius, /* spiral starts in x-y plane */
             gleDouble drdTheta,        /* change in radius per revolution */
             gleDouble startZ, /* starting z value */
             gleDouble dzdTheta,        /* change in Z per revolution */
             gleDouble startXform[2][3], /* starting contour affine xform */
             gleDouble dXformdTheta[2][3], /* tangent change xform per revoln */
             gleDouble startTheta, /* start angle in x-y plane */
             gleDouble sweepTheta); /* degrees to spiral around */



sos!!高分请教!!! 如何在paradox数据库中倒入图像? 怎么清空浏览器的历史纪录!让他无法后退! 调查一下中国程序员的眼睛视力问题!! 白菜继续求助 !!! 我在JBUILDER4作的APPLICATION有数据访问时的错误,积极给分 关于用nmake来makefile的问题 还是关于FILELISTBOX显示指定路径的多个文件!!!!!!谢谢我给加分!!!! 几个VC的小问题,请惦记 pb与那一个数据库配合使用比较好? 对话框最大化的问题,承蒙指点!! 请问订阅电子杂志的技术解决方案是怎样的? 注册ORACLE数据源 用于工控方面的组态软件,哪一位有研究能否请教 将JTree的一个实例保存入文件,结果出现界面全乱了的错误,谁来解决? 谁来帮我!!! 一个初学者的问题,请关照. 有谁知道怎么读取被加密光盘的内容呀? 谁知道jpadpro4.0build486的注册码?请速告知,定重谢 邮箱自动申请机的软件原理 如何将float型转换为integer型 请Windows系统编程高手看一下,还会加分的!!! win98与win2000双系统的问题? 请问“err3265 这个集合中找不到此项目”是什么原因? 在MDI窗体中,如何使某子窗体总在最前面? 怎样做出像WORD中的Drag&Dock工具栏,看仔细了 EnumChildWindows的用法? win2000的信使服务 怎麽在KDE桌面上作個快解方式? 请教各位,我该怎样做一个帮助文挡?