作者puberty (飘泊)
看板ck47th320
标题Re: [问题] 空间几何的问题
时间Mon Apr 25 11:51:14 2005
※ 引述《changkh (留学生涯)》之铭言:
: 我有一个空间几何的问题:
: 在三度空间中给定两个线段,以(x, y, z)来表示端点,所以有四个点。
: 已知这两个线段在x-y平面的投影相交,所以有"上""下"的关系。
: 问如何"不用除法"决定哪个线段在上哪个线段在下?
: 一个简单的解法是用 x-y平面解交点,代入线段方程式解z。
: 但是这个方法会用到除法。
: 印象中好像可以用外积来做,但是高中数学课本没带来。
: 有没有人知道怎麽做的呢?
暴力硬算! :(
第一个线段 : x = x1 + a1 * s 第二个线段 : x = x2 + a2 * t
y = y1 + b1 * s y = y2 + b2 * t
z = z1 + c1 * s z = z2 + c2 * t
u = ( a1, b1, c1 ), v = ( a2, b2, c2 )
A = ( x1, y1, z1 ), B = ( x2, y2, z2 )
解两线间最短距离点的坐标 :
F(s,t)=(su+A-tv-B).(su+A-tv-B)
dF/ds = 2(su+A-tv-B).u=0
dF/dt =-2(su+A-tv-B).v=0 解得 Qs=[(B-A).u](v.v)-[(B-A).v](u.v)
Qt=[(B-A).u](u.v)-[(B-A).v](u.u)
其中 Q = (u.u)(v.v)-(u.v)^2 > 0
所以算 Q[ ( c1 * s + z1 ) - ( c2 * t + z2 ) ] 的符号
正就是第一个线段在上; 负就是第二个线段在上 :p
不想用除法....就只好把解硬算出来代了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.66.85
※ 编辑: puberty 来自: 140.112.66.85 (04/25 11:53)