Вроде при создании объекта через конструктор значению поля id должно передаваться значение статического поля $id_next, т.е. 0, но это не происходит. Почему?
echo $Rectangle->id."<br />"; - это строка ничего не выдает.
echo $Rectangle; выдает параметры объекта и последнее значение в скобках после ; пустое
Функция идентична последовательному вызову функций fopen(), fwrite() и fclose(). Возвращаемым функцией значением является количество записанных в файл байтов.
Спасибо. Убрал слово return из кода и теперь так как мне надо
К сожалению, для понимания ООП, нужно прежде всего понять его в абстракции от самой реализации в коде - а это достаточно комплексный подход. Многое зависит от опыта - причём тренировки как логики, так и проектирования и самого абстрактного мышления. Краткий совет - делайте пока так, как получается, со временем сможете осознать парадигму ООП полностью.
Начать с того, что Ваш код - не следует ООП-принципам.
По поводу же самого кода - в этой строке Вы вызываете метод без указания самого объекта (подозреваю, второе условие должно быть не GetDistance, а $this->GetDistance)
lawer85 пишет:
if (($this->r + $circle->r) > $this->GetDistance($circle_1) and GetDistance($circle_1) < $this->r) return "true";
к Вашим услугам также всегда http://phpfaq.ru/debug
Да действительно там нужно было написать $this->GetDistance моя невнимательность. Интересно что за принципы такие. Я просто новичок и для меня код что я написал если он выполняет то, что от него жду, уже большой прогресс. Но очень интересно было бы услышать какой(ие) принци(ы) он нарушает.
- в коде я ввёл ещё один частный случай пересечения (поскольку не совсем корректно относить его ко внутреннему или внешнему) - INTERSECTION_LIMIT - то есть центр одной окружности лежит на другой, предельный случай между внутренним и внешним состоянием.
Большое спасибо, что помогаете!
Но можно именно на моем примере, почему php ругается на мой код. Просто я новичок. С ООП только что познакомился, а кое-что из Вашего примера вообще не знаю еще.
Нет. Может быть так, что сумма радиусов больше расстояния между центрами, но расстояние между центрами меньше большего радиуса. Это будет означать пункт 3.2 (в обоих случаях два пересечения, но в первом случае окружности пересекаются извне, во втором - центры окружностей лежат друг в друге (центры в окружностях, разумеется))
Понял. Спасибо. (Добавление)
Вообщем сделал так
но почему-то ругается, хотя эта функция используется и 29-30 строках
Цитата:
Fatal error: Call to undefined function GetDistance() in Z:\home\site.local\www\index.php on line 31
Эх а когда то у меня по геометрии 5 было, а теперь почти все забыл. (Добавление)
EuGen пишет:
Пусть радиусы окружностей равны P и Q, P>=Q, а расстояние между их центрами равно S
Тогда:
0. P+Q<S - нет пересечений (обе окружности лежат снаружи друг друга)
1. P+Q=S - пересечение ровно в одной точке (касаются друг друга снаружи)
2. P+Q>S>P - пересечение ровно в двух точках
3.0 P>S - если S+Q=P, то пересечение ровно в одной точке (вложенные, касаются друг друга изнутри)
3.1 P>S - если S+Q<P, то нет пересечений (окружности вложены одна в другую)
3.2 P>S - если S+Q>P, то пересечение в двух точках (окружности имеют центры друг в друге, но не вмещаются друг в друга)
4. P=Q, S=0 - бесконечное множество пересечений (окружности совпадают)
Мелкий пишет:
Найти расстояние между центрами окружностей, если оно меньше радиуса любой из окружностей - они пересекаются.
Помогите составить алгоритм, который проверяет пересекаются ли окружности или нет. Можно даже не в виде кода а на словах, а в код постараюсь сам перевести.