查看: 2257|回复: 5

求助OSG绘制圆柱面问题

[复制链接]

该用户从未签到

发表于 2010-7-19 23:11:37 | 显示全部楼层 |阅读模式
用shape类可以画出圆柱体,但是现在我只想画出圆柱的外表面,我是不是应该用Geometry类来画?我想得方法是通过圆心与半径,生成上下表面圆的一些点,然后用上表面2个点,对应下表面2个点,绘制一个方形,这样来生成一个圆柱面。但是这样的话,我应该怎样设置圆柱面的初始角度呢?(比如:横柱,竖柱,斜柱),希望指点一下~~我实在是菜得不行了~~

该用户从未签到

发表于 2010-7-20 10:56:04 | 显示全部楼层
先生成一个竖的,计算出顶点。然后用四元数,旋转上面得到的顶点,这样就得到了各种角度的圆柱

该用户从未签到

发表于 2010-7-20 11:55:41 | 显示全部楼层
好像有osgShape库可以直接画吧

该用户从未签到

 楼主| 发表于 2010-7-20 23:17:35 | 显示全部楼层
2# qele
就是先生成一个数制的圆柱吗?那我利用什么来确定各个点旋转地位置啊?请再详细指点一下我,谢谢~~

该用户从未签到

发表于 2010-7-21 00:45:05 | 显示全部楼层
您可以通过上下两个柱面的圆心来确定各顶点位置

该用户从未签到

发表于 2010-7-21 10:04:09 | 显示全部楼层
本帖最后由 qele 于 2010-7-21 10:06 编辑

4# wyh123

方向向上的圆柱,其方向是v0(0,0,1);若是旋转到方向为 v 1 的圆柱,可以计算出四元数Q=rotate(v0,v1)
然后所有点P = P * Q;
这需要原始的圆柱中心在原点;因此您可以先做旋转,然后再平移到想要的位置

也可以使用osg的Cylinder,使用matrixTransform节点,先旋转后平移。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表