己知三点坐标,求这三点连成三角形的三个夹角角度

lorl2 2010-08-21 09:26:27
如题,己经知道三个点的坐标,怎么分别求出这三个点连线成的三角形的三个内度的角度?
...全文
1003 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxq19851204 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 lorl2 的回复:]
引用 29 楼 gooore 的回复:
我写了。我翻书写的。楼主还是多看看空间解析几何和向量代数。交流固然重要,但自己找解决的办法也是一种技能,必须的。


VB code

Private x1 As Double, y1 As Double, z1 As Double
Private x2 As Double, y2 As Double, z2 As Double
Privat……
[/Quote]
真他妈的傻,真把自己当根葱了。
lorl2 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 gooore 的回复:]
我写了。我翻书写的。楼主还是多看看空间解析几何和向量代数。交流固然重要,但自己找解决的办法也是一种技能,必须的。


VB code

Private x1 As Double, y1 As Double, z1 As Double
Private x2 As Double, y2 As Double, z2 As Double
Private x3 As Double, y3 As……
[/Quote]



多谢代码。


书我是找不到的了,十几年前就没了。
但是我极不爽那些恨不把B装在脸的垃圾,问个小问题罢了,懂就吱一声,不清楚就路过一下,提个想法建议。动不动叫别人回去翻书,你TMD算老几?
真拿点有难度的东西出来问,未必有几个能做得出来。
gooore 2010-08-24
  • 打赏
  • 举报
回复
我写了。我翻书写的。楼主还是多看看空间解析几何和向量代数。交流固然重要,但自己找解决的办法也是一种技能,必须的。


Private x1 As Double, y1 As Double, z1 As Double
Private x2 As Double, y2 As Double, z2 As Double
Private x3 As Double, y3 As Double, z3 As Double
Const PI = 3.1415927

Private Sub Command1_Click()
Dim a1 As Double, b1 As Double, c1 As Double
Dim a2 As Double, b2 As Double, c2 As Double
Dim a3 As Double, b3 As Double, c3 As Double

a1 = x1 - x2: b1 = y1 - y2: c1 = z1 - z2
a2 = x2 - x3: b2 = y2 - y3: c2 = z2 - z3
a3 = x3 - x1: b3 = y3 - y1: c3 = z3 - z1

Dim a As Double, b As Double, c As Double
Dim angle1 As Double, angle2 As Double, angle3 As Double
Dim x As Double

VectorCross a1, b1, c1, a2, b2, c2, a, b, c
x = Sqr(a ^ 2 + b ^ 2 + c ^ 2) / (Sqr(a1 ^ 2 + b1 ^ 2 + c1 ^ 2) * Sqr(a2 ^ 2 + b2 ^ 2 + c2 ^ 2))
angle1 = Asin(x)

VectorCross a2, b2, c2, a3, b3, c3, a, b, c
x = Sqr(a ^ 2 + b ^ 2 + c ^ 2) / (Sqr(a3 ^ 2 + b3 ^ 2 + c3 ^ 2) * Sqr(a2 ^ 2 + b2 ^ 2 + c2 ^ 2))
angle2 = Asin(x)

VectorCross a3, b3, c3, a1, b1, c1, a, b, c
x = Sqr(a ^ 2 + b ^ 2 + c ^ 2) / (Sqr(a1 ^ 2 + b1 ^ 2 + c1 ^ 2) * Sqr(a3 ^ 2 + b3 ^ 2 + c3 ^ 2))
angle3 = Asin(x)
Asin -1.0004
End Sub


Private Sub VectorCross(m1 As Double, n1 As Double, k1 As Double, _
m2 As Double, n2 As Double, k2 As Double, _
a As Double, b As Double, c As Double)

a = n1 * k2 - n2 * k1
b = m2 * k1 - m1 * k2
c = m1 * n2 - m2 * n1

End Sub

Private Function Asin(x As Double) As Double
If Round(x, 3) = 1 Then
Asin = PI / 2
ElseIf Round(x, 3) = -1 Then
Asin = -PI / 2
Else
Asin = Atn(x / Sqr(-x * x + 1))
End If

If Asin < 0 Then
Asin = PI + Asin
End If

Asin = Asin * 180 / PI

End Function

Private Sub Form_Load()
x1 = 0: y1 = 0: z1 = 0
x2 = 1: y2 = 0: z2 = 0
x3 = 0: y3 = 1: z3 = 0
End Sub
贝隆 2010-08-24
  • 打赏
  • 举报
回复
内事不决,上Baidu
外事不决,上Google
taotong1984 2010-08-24
  • 打赏
  • 举报
回复
楼主应该放底点姿态,另给你个方法:

如果你学过向量,设A(x1,y1)B(x2,y2)C(x3,y3)
则 向量AB=(x2-x1,y2-y1) 向量AC=(x3-x1,y3-y1)
cos∠A=AB*AC/(|AB|*|AC|)
=[(x2-x1)*(x3-x1)+(y2-y1)*(y3-y1)]/{√[(x2-x1)²+(y2-y1)²]+
√[(x3-x1)²+(y3-y1)²]}

同理可求出其他的角
用户 昵称 2010-08-24
  • 打赏
  • 举报
回复
gooore 2010-08-24
  • 打赏
  • 举报
回复
我的书也丢了,我上百度找了一本电子版,很好用。

有问题查书很正常,没书找书更正常。楼主这样也就没啥好说的了。
[Quote=引用 30 楼 lorl2 的回复:]
引用 29 楼 gooore 的回复:
我写了。我翻书写的。楼主还是多看看空间解析几何和向量代数。交流固然重要,但自己找解决的办法也是一种技能,必须的。


VB code

Private x1 As Double, y1 As Double, z1 As Double
Private x2 As Double, y2 As Double, z2 As Double
Privat……
[/Quote]
reggiekiller 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 nxslwh 的回复:]

我要一直围观到没有人说话。。
[/Quote]
我要一直围观到没有人引用你
嗷嗷叫的老马 2010-08-23
  • 打赏
  • 举报
回复
K-dash 2010-08-23
  • 打赏
  • 举报
回复
楼主这种态度,社交会很糟糕的哎
ZHENNIUBILE 2010-08-23
  • 打赏
  • 举报
回复
楼主的这种态度,生活幸福吗?
用户 昵称 2010-08-23
  • 打赏
  • 举报
回复
反正也被骂了,使劲围观。
icansaymyabc 2010-08-21
  • 打赏
  • 举报
回复
装S遭雷劈
lorl2 2010-08-21
  • 打赏
  • 举报
回复
装B遭雷劈
icansaymyabc 2010-08-21
  • 打赏
  • 举报
回复
我喜欢管,你管得着吗
lorl2 2010-08-21
  • 打赏
  • 举报
回复
我喜欢,你管得着吗
icansaymyabc 2010-08-21
  • 打赏
  • 举报
回复
有现成的数学公式的。你还是自己翻书去吧。难道连翻书都要人代劳吗?
zzyong00 2010-08-21
  • 打赏
  • 举报
回复
围观......................
thegodofwar 2010-08-21
  • 打赏
  • 举报
回复
Your fucking temper is so bad that I could not say anything including "I scorn you".
用户 昵称 2010-08-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 nxslwh 的回复:]
我要一直围观到没有人说话。。
[/Quote]
加载更多回复(11)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧