生成圆柱坐标
回答
如果您需要可用于数值模拟的网格,那是一个中等难度的问题。如果你只需要一个表面网格的图形,这很容易。在每个圆形面的中心放置一个顶点。使用一个圆的参数方程(x = r cos t,y = r sin t)计算一系列围绕人脸边缘的节点。然后,您使用该中心节点和一对边缘节点制作一堆长长的三角形以覆盖两端。最后,想象一下围绕圆柱体两侧缠绕的一束长而瘦的矩形,由相同的节点定义;将每个对角线分成两半以形成一对三角形。
从最低的多边形圆柱开始 - 想象顶部的三角形和底部的三角形,每个顶点都有顶点#1,2和3.调用顶部的三角形A和底部的三角形B.创建以下多边形:
- A1,A2,B1
- B1,B2,A2
- A2,A3,B2
- B2,B3,A2
- A3,A1,B3
- B3,B1,A 1
换句话说:
for(int i = 0; i < vertices; i++)
{
polyList.add(circleVertices1[i], circleVertices1[(i+1) % vertices], circleVertices2[i]);
polyList.add(circleVertices2[i], circleVertices2[(i+1) % vertices], circleVertices1[(i+1) % vertices]);
}
这只是我的头顶部,但它似乎是有道理的。这不包括结尾的圈子,但我现在假设你可以找出圈子。
如果我们假设你真的想有良好的纵横比的三角形(各方互相成比例),要做就做最好的办法是遵循EF山的最后一个建议:
鸿沟每一个半对角地做一对三角形。
沿着圆柱体的长度会有几排三角形;它不会只是一组矩形。
关键是要从围绕周围选择你想要的数量开始。周边十周是指每个周边覆盖36度; 20将意味着每个涵盖18度。一旦你有了,选择长度的数字,以便间距等于第一维的和弦的长度。然后沿每个对角线切片以制作三角形。
顶部和底部圆柱体由三角形平铺,从圆心画出线条以满足由圆周上第一行和最后一行矩形创建的点。
根据您如何忠实地再现圆柱表面来选择数字。
你可以通过计算几何图形在程序上绘制一个圆柱体。如果你想用它来渲染(大多数情况下),你应该使它支持triangle stripping如果性能很重要,你也可以计算映射坐标和可能的法线。所以从头开始需要一些思考,但如果你理解数学,这是可行的。
我已经在C#中为Unity3D创建了一个模块,它完全可以做到这一点,并允许您调整参数。观看video了解详情,并从GitHub下载代码。
- 1. 图像变换坐标,圆柱坐标系
- 2. Maple:如何将圆柱坐标转换为笛卡尔坐标?
- 3. 生成KML中坐标的圆半径的坐标
- 4. 在网格中生成坐标在一个圆内的坐标
- 5. 如何与Scipy进行圆柱坐标集成?
- 6. 在圆柱体中生成随机点
- 7. 我如何知道圆柱体两端的坐标
- 8. 在Polygon中生成坐标
- 9. 生成坐标网格
- 10. 生成坐标立方体
- 11. hough圆圈opencv圆心坐标
- 12. 圆霍夫中心坐标
- 13. 在圆柱体内部生成随机点?
- 14. 圆柱算法
- 15. 将图像排列成圆柱体?
- 16. 纬度/经度转换为图像x/y坐标(米勒圆柱投影)
- 17. 圆柱坐标系统的哪个部分是用户正在看
- 18. 如何在原点和VRML中的某些坐标之间创建圆柱体
- 19. OpenCV的:包装图像柱面坐标
- 20. 脊柱二维坐标系统libgdx
- 21. 生成路径从2坐标
- 22. Matlab - 为矩阵生成随机坐标
- 23. 从GPS坐标生成行政区划?
- 24. 如何生成法线坐标?
- 25. 在编译时生成坐标
- 26. 获取numpy Linspace生成的坐标
- 27. 存储卡游戏的坐标生成
- 28. 生成地球的所有坐标?
- 29. 生成不同的随机坐标
- 30. Tippecanoe生成的mbtiles坐标不正确