3D弯曲管道 ,以一条平滑的样条曲线为中心,生成一个3D样条曲管。
网上有不少朋友说要这个,于是就写了个DEMO,当然只是个指导入门,其实里面计算曲管顶点的算法不是很好,有些情况下会出像扭曲的现像,我一直没找到最好的解决方案,只有折中的方法。可能如果有数理系的高手在的话,或许能给我一些理论上的指点。
网上有不少朋友说要这个,于是就写了个DEMO,当然只是个指导入门,其实里面计算曲管顶点的算法不是很好,有些情况下会出像扭曲的现像,我一直没找到最好的解决方案,只有折中的方法。可能如果有数理系的高手在的话,或许能给我一些理论上的指点。
代码: |
//一个用来绘制样条曲管的类,3D弯曲管道 //float ctrlPoint[8][3] ={{0.2f,0.00f,0.0f},{0.3f,0.00f,0.0f}, {0.4f,0.10f,0.0f},{0.5f,0.20f,0.0f},{0.6f,0.10f,0.0f}, {0.7f,0.00f,0.0f},{0.8f,0.10f,0.0f},{0.90f,0.0f,0.0f}}; // //m_Tube.PutPointData(point,0.02f,0.05f); // // //m_Tube.Draw(FACE); FACE:面显卡,LINE:线显示 // // // // |
示例代码下载:http://www.physdev.com/phpbb/viewtopic.php?t=121