Тема: Угол между прямой и плоскостью

Простите за лаймерский вопрос, но как узнать угол между прямой и плоскостью?

Re: Угол между прямой и плоскостью

> Михаил
Очевидно построить плоскость B проходящую через интересующую нас прямую Line и перпендикулярную к интересующей нас плоскости А и затем измерить угол в плоскости B между прямой Line и линией пересечения плоскостей А и B.
Либо спроецировать прямую Line на плоскость А и измерить угол между и прямой и ее проекцией.

Re: Угол между прямой и плоскостью

Спасибо, я сам разобрался, может это и не венец програмиссткой мысли, но всеже работает в 2d

Function GetAngle(p1, p2) As Double
' угол между прямой и плоскостью zox результат в градусах
    Dim height  As Double
    Dim width   As Double
    Dim tmpAng  As Double
    ' если первая точка не находится в 0,0, то смещаем 1 и 2 точки на величину смещения
    p2(0) = p2(0) - p1(0)
    p2(1) = p2(1) - p1(1)
    p1 = Array(0, 0)
    ' ширина и высота треугольника
    width = Abs(p2(0) - p1(0))
    height = Abs(p2(1) - p1(1))
    ' полюбому что то вернем
    tmpAng = 0
    ' вычисляем угол
    If width > 0 And height > 0 Then
        tmpAng = Atn(height / width)  * 180 / 3.14'
    Else
        If width = 0 Then tmpAng = 90
        If height = 0 Then tmpAng = 0
    End If
    ' 4 четверть
    If p2(1) < 0 And p2(0) >= 0 Then tmpAng = 360 - tmpAng
    ' 3 четверть
    If p2(1) < 0 And p2(0) < 0 Then tmpAng = 270 - tmpAng
    ' 2 четверть
    If p2(1) >= 0 And p2(0) < 0 Then tmpAng = 180 - tmpAng
    GetAngle = tmpAng
End Function