24小时热门版块排行榜    

查看: 1657  |  回复: 8

fangdian

木虫 (正式写手)

[求助] 空间平面截已知六面体求截面 已有1人参与

各位大侠:
    请教一个问题:一个空间平面截一个已知的平行六面体(限定为长方体也行),能得到两半的体积。假设该空间平面的法向量已知{a,b,c},六面体的6个面的法向量以及六面体的8个顶点坐标已知,并且得到的两半体积的体积比也是已知的,如何较快速的求出该平面截这个六面体得到的截面积大小?谢谢

ps:我是学工科的,这个问题的方法会在我编程的时候用到,所以希望回答使得我具有可操作性,谢谢哈
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weft

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
fangdian: 金币+20, 有帮助, 谢谢参与,我认真学习了 2015-01-27 08:55:11
我给个思路,不一定对,没来得及细想,如有不对请版上大神补充。
首先,这个问题的答案可能不唯一,可能有三个答案(理由见下面的分析);
其次,“体积比”这个条件可能是多余的,不需要这个条件似乎也能解(理由同样见下);
解释一下我的思路:方法是体积法,
第一步,因为顶点坐标全都知道,所以很容易用空间解析几何的向量混合积算出平行六面体的体积,记为V.
第二步,利用高中的技巧,将该平行六面体沿截面切开,重新拼接成一个平行六面体,显然体积不会变化。设截面面积为S,新的平行六面体的高为h,则S=V/h,可见关键在于求出h.
第三步,求h. 这个h应该是原平行六面体的棱在截平面的法方向的投影长度,由于平行六面体的棱的长度有三个,所以投影长度也应该有三种可能性,从而截面积有三种答案。
第四步,求投影长度很容易,向量的内积而已。每条棱都是两个顶点决定的一个向量,它在法方向的投影长度用内积很容易计算。
我能想到的就这么多,不知道是不是有遗漏或者错误。从这个方案来看不需要用到体积比。其实你想象一下用平行平面去截一个长方体,虽然截出来的体积比不一样,但显然截面面积都是一样的,所以体积比应该不构成问题答案的参数。
2楼2015-01-26 01:59:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fangdian

木虫 (正式写手)

引用回帖:
2楼: Originally posted by weft at 2015-01-26 01:59:26
我给个思路,不一定对,没来得及细想,如有不对请版上大神补充。
首先,这个问题的答案可能不唯一,可能有三个答案(理由见下面的分析);
其次,“体积比”这个条件可能是多余的,不需要这个条件似乎也能解(理由 ...

有个疑问:
   你求投影长度的时候,由于截平面的位置没有确定,所以它在法方向的投影长度也是不固定的?
   给定体积比,这样是不是就是让这个投影长度固定?
谢谢
3楼2015-01-26 19:48:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fangdian

木虫 (正式写手)

引用回帖:
2楼: Originally posted by weft at 2015-01-26 01:59:26
我给个思路,不一定对,没来得及细想,如有不对请版上大神补充。
首先,这个问题的答案可能不唯一,可能有三个答案(理由见下面的分析);
其次,“体积比”这个条件可能是多余的,不需要这个条件似乎也能解(理由 ...

而且还有一个问题:
   界面分为5类,如下图:
空间平面截已知六面体求截面

不知道需要在算法上分类不?
4楼2015-01-26 22:27:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fangdian

木虫 (正式写手)

如果已知一个多面体的每个面的法向以及该切面的法向方向,以及切后的体积比,不知道这种好做不?
5楼2015-01-27 09:31:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fangdian

木虫 (正式写手)

目前我能想到的一个可能的思路:
   1 通过已知的空间平面的法向量{a,b,c},表示出该平面方程(E为常数):
  ax+by+cz=E     (1)
2 将六面体的8个坐标代入该方程,得出最大的Emax和最小的Emin值,并记录对应的顶点坐标值,顶点分别记为
  A(xmin,ymin,zmin),B(xmax,ymax,zmax)
3 设置循环程序,采用二分法在AB点循环(如第一步求出A和B的中点,带入方程1,得到相应的E1),于是得到相应的平面方程。
4 求平面方程和六面体的各个棱的交点,得到形成截面的多边形的各个顶点坐标,记为(xi,yi),利用多边形面积公式,求出该多边形的面积:
  Si=∑(xi*yi+1-xi+1*yi)
同时利用凸多面体的体积公式,求出该多面体的体积:
   Vi=1/6*∑d(A0,A1,A2,......An)
其中,A0,A1,A2,......An为多面体的各个顶点坐标,d(A0,A1,A2,......An)表示由各个顶点坐标组成的行列式。

5 如果该多面体的体积和该平行六面体的体积(同样可以采用多面体体积公式求出)比等于题目设定的体积比(适当换算一下),停止二分法的循环,输出该多边形的面积,否则,继续循环,直到找到相应的E为止。

以上是一个思路。
  但是上述思路中,有几个问题:
  (1)只是知道六面体的各个顶点的坐标的话,怎么知道哪两点组成一条棱?(如果是长方体的话,能否按照某个坐标轴值相等作为组成棱的条件??)
   (2)即使知道了通过解方程得到的多边形的各个顶点的话,怎么知道各个顶点在顺序?其实也是哪两个点组成边的问题,同样的问题还存在于求多面体的体积的时候。不知道上述多边形公式以及多面体体积公式中的坐标点是否有顺序?

  当然,总的感觉,这个思路存在很多问题,要是能有可以实现的方法就好了,谢谢大家
6楼2015-01-27 10:21:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weft

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
fangdian: 金币+20, ★★★很有帮助, 基本是可以实现的,太谢谢你了。 2015-01-28 23:07:06
引用回帖:
4楼: Originally posted by fangdian at 2015-01-26 22:27:00
而且还有一个问题:
   界面分为5类,如下图:


不知道需要在算法上分类不?...

看附件
空间平面截已知六面体求截面-1
截面.png

7楼2015-01-27 17:22:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weft

木虫 (正式写手)

【答案】应助回帖

引用回帖:
6楼: Originally posted by fangdian at 2015-01-27 10:21:52
目前我能想到的一个可能的思路:
   1 通过已知的空间平面的法向量{a,b,c},表示出该平面方程(E为常数):
  ax+by+cz=E     (1)
2 将六面体的8个坐标代入该方程,得出最大的Emax和最小的Emin值,并记录对应的 ...

你这个方法跟我的想到一块去了,关键都是要用到所谓的高度函数. 不过我觉得不用二分法吧,我的补充方案中只要有限次比对就行了.另外,我的方法中还是没用上体积比.我觉得这个量应该是结果而不是条件.按照我的记号,体积比显然是参数\lambda的连续函数,而且应该还有某些可微性,我猜测不可微的地方发生在平面通过平行六面体的顶点的时候.
8楼2015-01-27 17:29:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李家小欣

银虫 (初入文坛)

【答案】应助回帖

实际问题可以看做是将一个密度为ρ1的平行六面体放进密度为ρ2的液体中液体处于上下面积恒定且足够大的容器中。液体平面为空间已知平面;求六面体排开液体时,液体表面的面积的减少量
9楼2015-03-08 18:04:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fangdian 的主题更新
信息提示
请填处理意见