查看: 2555|回复: 8

空间中的两点如何绘制圆柱

[复制链接]

该用户从未签到

发表于 2009-2-23 21:45:09 | 显示全部楼层 |阅读模式
空间中有两点,如何利用这两点决定的直线作为轴,绘制一个半径为r的圆柱体
多谢了

该用户从未签到

发表于 2009-2-23 22:12:43 | 显示全部楼层
首先确定圆柱的本体坐标系,比如以xy面为圆柱下底面,使用一个画圆周的循环,交替绘制上下两个圆周上的点(具体去多少点自己决定),就实现了圆柱,上下两个圆面绘制方法类似。gldraw(圆柱)。
然后关键就是找圆柱的轴线在原坐标系下的位置了,这个参考一下计算机图形坐标系转换的知识就可以想明白的。glPositionAttitude(轴线);
最后绘制过程就是:
glPositionAttitude(轴线);
gldraw(圆柱);
搞定。

该用户从未签到

发表于 2009-2-23 22:21:42 | 显示全部楼层
可以参看osgModeling中的Extrude算法以及Loft算法~~都可以实现您的想法,其中的数学运算请自行参看源代码吧,这个工程对国内的朋友们是完全公开和可随意摘录使用的~~

该用户从未签到

发表于 2009-2-24 00:37:46 | 显示全部楼层
这个只要你能够计算出一些关键点,,画法可以参考OSG中的shape啊~~~~~

该用户从未签到

发表于 2009-10-11 15:45:55 | 显示全部楼层
shape中cylinder参数只有中心点、半径、高度,怎么设定它的中心轴???

该用户从未签到

发表于 2009-10-11 17:47:46 | 显示全部楼层
shape中cylinder的中心在圆柱体的中间,如果要使用这个进行绘制的画,你需要知道三个姿态角进行变换,然后再进行位移变换

该用户从未签到

发表于 2009-10-11 20:29:11 | 显示全部楼层
要得到姿态角,需要知道当前绘制的圆柱体的方向吧~~请问楼上的,如果以空间两点连线的中点作为圆柱体的中心,如何得到当前圆柱体的方向(中心轴)?即shape中cylinder默认的中心轴是什么??我是一个初学者,翻了一点点资料,没找到,所以麻烦了~~

该用户从未签到

发表于 2009-10-11 23:15:48 | 显示全部楼层
任意母线的圆柱体建议自己实现,其实计算方法是很简单的,一想就明白

该用户从未签到

发表于 2009-10-14 12:46:43 | 显示全部楼层
7# wangsiman
你需要根据两个点的坐标来计算偏转角度,我当时做的时候都是在一个平面上作的,不知道你要求的是不是任意平面作的,如果是的话,你需要好好想想,不过应该还是可以做的,但是感觉那样做不如自己直接绘制,而不用圆柱体api
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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