отрицательные значения

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
tatarin
Новичок
Новичок
Аватара пользователя
 
Сообщения: 48
Зарегистрирован: 21.09.2005 (Ср) 12:30
Откуда: Russia

отрицательные значения

Сообщение tatarin » 23.11.2005 (Ср) 10:12

приветствую всех !
есть такая проблемка:
R01 = Sqr((Xp1 - Xp0) ^ 2 - (Yp1 - Yp0) ^ 2 - (Zp1 - Zp0) ^ 2)
где
Xp0 = 0
Yp0 = 0
Zp0 = 0
Xp1 = 0
Yp1 = -(a0)
Zp1 = 0
так вот этот минус все портит! :evil: не хочет решать R01 и все тут!
и чем только я его не пробовал...
люди добрые помогите пожалуйста!
хочется ведь как - и того и другого и можно без хлеба!

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 23.11.2005 (Ср) 10:45

Так под корнем отрицательное же число. Поставь модуль Abs(), но ответ будет соответственно...
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 23.11.2005 (Ср) 12:06

Или сначала считай (Xp1 - Xp0) ^ 2 - (Yp1 - Yp0) ^ 2 - (Zp1 - Zp0) ^ 2
и проверяй на >=0
Если всё делать своими ручками, они скоро отвалятся !

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 23.11.2005 (Ср) 12:12

Так тут во всех случаях когда (Yp1 - Yp0)^2 + (Zp1 - Zp0)^2 больше чем (Xp1 - Xp0)^2 будет отрицательное число под знаком корня. Посему спасет тебя только проверка на отрицательность подкоренного выражения. А уж что с ним делать это зависит от алгоритма.

З.Ы. А что ента формула собственно должна вычислить? оченно уж она модуль 3D-вектора напоминает ... с ошибкой
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 175

    TopList