高手!请进来救命!!!!求关于二面角的VB原代码 我已知道A面上a1(x1,y1,z1),a2(x2,y2,z2),a3(x3,y3,z3)三个点的座标位置,也知道B面上b1(x1,y1,z1),b2(x2,y2,z2),b3(x3,y3,z3)三个点的座标位置,我要求A面与B面之间的角度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 换了个思路:已知:面A上有a1(x1,y1,z1),a2(x2,y2,z2),a3(x3,y3,z3)面B上有b1(x4,y4,z4),b2(x5,y5,z5),b3(x6,y6,z6)求:A,B面二面角θ大小解:思路:求A,B面法向量α,β,然后由θ=arccos(αβ) '因为法向量模的乘积是1,故αβ=αβ/1方法:任求A面两个向量t1=<x1-x2,y1-y2,z1-z2>,t2=<x1-x3,y1-y3,z1-z3>设α=<e,f,g>,则可得方程组: e*(x1-x2)+f*(y1-y2)+g*(z1-z2)=0{ e*(x1-x3)+f*(y1-y3)+g*(z1-z3)=0 } e^2+f^2+g^2=1同理,求出B面法向量β<l,m,n>最后得到θ=arccos(αβ)=arccos(e*l+f*m+g*n)具体思路是这个,代码没时间写了,因为解方程组还得推,很麻烦,也许用大学的行列式解还方便些(不好意思,我只上高二,就这个水平了不要笑我*^_^*) 我已知道A面上a1(x1,y1,z1),a2(x2,y2,z2),a3(x3,y3,z3)三个点的座标位置,也知道B面上b1(x1,y1,z1),b2(x2,y2,z2),b3(x3,y3,z3)三个点的座标位置,我要求A面与B面之间的角度?解: A--> a1*x1+a2*y1+a3*z1=1 a1*x2+a2*y2+a3*z2=1 a1*x3+a2*y3+a3*z3=1 用三阶行列式解三元一次方程得A(a1,a2,a3),非常容易的。 同理 B--> b1*x1+b2*y1+b3*z1=1 b1*x2+b2*y2+b3*z2=1 b1*x3+b2*y3+b3*z3=1 用三阶行列式解三元一次方程得B(b1,b2,b3)。 则两个平面法线夹角α,两个平面二面角β, cosα=A·B/(|A|·|B|)=(a1*b1+a2*b2+a3*b3)/(sqr(a1^2+a2^2+a3^2)·sqr(b1^2+b2^2+b3^2)) 由于α+β=180,则β=180-α 兄弟。此处“(sqr(a1^2+a2^2+a3^2)·sqr(b1^2+b2^2+b3^2))”的点我不明白应该怎样运算 (a1的平方+a2的平方+a3的平方)开方 然后 乘 (b1的平方+b2的平方+b3的平方)的开方 水晶报表嵌入OLE WORD,文字显示有点问题 大哥们帮我看刚才一位高人给我写的连数据库的代码,我拿来一试,显示编译错误,完全不明白!!! 利用MSComm控件点对点串行传送数据 vb 能在 窗体上 自动 创建一个 控件吗? 在线 等待 急!! 初学者叫help!捡分了 菜鸟问题dataGrid使用 一个关于recordset的find方法的问题 wo cuo le xing ma 怎么样强制关掉某个进程?? 问一个VB的问题啦,请教、请教…… 急急急!!!如何实现与摄像头交互?重酬!!! 关于SQL语句.....
已知:
面A
上有a1(x1,y1,z1),a2(x2,y2,z2),a3(x3,y3,z3)
面B
上有b1(x4,y4,z4),b2(x5,y5,z5),b3(x6,y6,z6)
求:
A,B面二面角θ大小
解:
思路:求A,B面法向量α,β,然后由θ=arccos(αβ) '因为法向量模的乘积是1,故αβ=αβ/1方法:
任求A面两个向量
t1=<x1-x2,y1-y2,z1-z2>,t2=<x1-x3,y1-y3,z1-z3>
设α=<e,f,g>,则可得方程组:
e*(x1-x2)+f*(y1-y2)+g*(z1-z2)=0
{ e*(x1-x3)+f*(y1-y3)+g*(z1-z3)=0 }
e^2+f^2+g^2=1
同理,求出B面法向量β<l,m,n>
最后得到θ=arccos(αβ)=arccos(e*l+f*m+g*n)具体思路是这个,代码没时间写了,因为解方程组还得推,很麻烦,也许用大学的行列式解还方便些(不好意思,我只上高二,就这个水平了不要笑我*^_^*)
A-->
a1*x1+a2*y1+a3*z1=1
a1*x2+a2*y2+a3*z2=1
a1*x3+a2*y3+a3*z3=1 用三阶行列式解三元一次方程得A(a1,a2,a3),非常容易的。 同理
B-->
b1*x1+b2*y1+b3*z1=1
b1*x2+b2*y2+b3*z2=1
b1*x3+b2*y3+b3*z3=1 用三阶行列式解三元一次方程得B(b1,b2,b3)。 则两个平面法线夹角α,两个平面二面角β,
cosα=A·B/(|A|·|B|)=(a1*b1+a2*b2+a3*b3)/(sqr(a1^2+a2^2+a3^2)·sqr(b1^2+b2^2+b3^2)) 由于α+β=180,则β=180-α
的点我不明白应该怎样运算