Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Mikle
-
- Изобретатель велосипедов
-
-
- Сообщения: 4148
- Зарегистрирован: 25.03.2003 (Вт) 14:02
- Откуда: Туапсе
Mikle » 23.06.2007 (Сб) 16:38
StimorolD3DX
Atn((x1-x2)/(y1-y2))
С учетом того, что на 0 делить нельзя и функция Atn определена не на всей числовой оси, то есть сделай соответствующий Select Case.
-
iGrok
-
- Артефакт VBStreets
-
-
- Сообщения: 4272
- Зарегистрирован: 10.05.2007 (Чт) 16:11
- Откуда: Сетевое сознание
iGrok » 23.06.2007 (Сб) 16:59
- Код: Выделить всё
Public Const pi As Double = 3.14159265358979
Function RTG(Rad As Double) As Double
RTG = (180 * Rad) / pi
End Function
Function GTR(Grd As Double) As Double
GTR = (Grd * pi) / 180
End Function
Function XAngle(x1 As Long, y1 As Long, x2 As Long, y2 As Long) As Double
Dim tn As Double
If x2 - x1 = 0 Then XAngle = IIf(y2 < y1, 0, 180): Exit Function
tn = -(y1 - y2) / (x2 - x1)
XAngle = RTG(Atn(tn)) + 90
If x2 < x1 Then XAngle = XAngle + 180
End Function
label:
cli
jmp label
-
StimorolD3DX
-
- Бывалый
-
-
- Сообщения: 293
- Зарегистрирован: 03.04.2007 (Вт) 18:19
- Откуда: Kiev city
-
StimorolD3DX » 23.06.2007 (Сб) 21:20
Спасибо всем
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 90