24小时热门版块排行榜    

查看: 1870  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xunrou

铁虫 (初入文坛)

[求助] 几何题 圆柱体相交条件 已有4人参与

如题,两个有限高度和半径的圆柱体,相交(即有接触)的条件是啥?我个人考虑了好多情况,总感觉考虑不全,求各位大神给个思路,给圆面和圆柱相交的思路也行
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

感谢参与,应助指数 +1
首先,圆柱如何表达,比如用轴线的方向和中点向量表示轴,再加上半径;圆柱的两个法向量跟轴同向的底面也能确定;其它形式的圆柱可以转换成这种方式表示;

其次,算法设计。可以变成一个带有线性约束的最小二乘问题,找一个在圆柱底面之间的点,它到圆柱两轴的距离的平方和最小; 这就是一个带有线性约束的最小二乘问题,在matlab中用 lsqlin 就能方便求解。找到这个解之后,检验它到两个圆柱轴线的距离是不是小于各自的半径。这样就能判断了。

5个金币只能帮你到这里了。
ส็็็็็็็็็็็็็็็็็็็็
9楼2015-08-31 07:29:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

shenyxtata

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
把两个圆柱的范围都写成参数式(各两个参数),然后求此约束条件下的最短距离,如果此距离为0的话相交或接触。
其实不管哪种方法,快接触和真正接触都很难区分的。
2楼2015-08-29 11:30:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xunrou

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by shenyxtata at 2015-08-29 11:30:23
把两个圆柱的范围都写成参数式(各两个参数),然后求此约束条件下的最短距离,如果此距离为0的话相交或接触。
其实不管哪种方法,快接触和真正接触都很难区分的。

圆柱体参数方程不好写吧,我之前看过一篇论文推导任意对称轴的圆柱参数方程,有点复杂,有三角函数,而且还要求距离,求极值点,真说不定会有解析解
3楼2015-08-29 11:48:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shenyxtata

金虫 (正式写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by xunrou at 2015-08-29 11:48:32
圆柱体参数方程不好写吧,我之前看过一篇论文推导任意对称轴的圆柱参数方程,有点复杂,有三角函数,而且还要求距离,求极值点,真说不定会有解析解...

对,一个参数沿轴向,另一个是角度,肯定有三角函数。但应该很快收敛的。

如果非要解析解,或者说,通过简单的程序实现,可以考虑先把两个圆柱扩为好处理的几何如球或者三个轴都分别平行的长方体,如果扩大后的几何也不相交,就直接pass了,省去后面麻烦的步骤。

否则,可以先求两个无限圆柱是否相交,相交的话看公共部分是否同时属于两个有限圆柱。相交的充要条件是轴的距离小于等于半径之和。细节楼主应该可以搞定了吧。
4楼2015-08-29 15:32:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见