|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2007, 18:33 | #1 |
Регистрация: 08.12.2007
Сообщений: 7
|
Программирование с отображением графической информации(Delphi).
Найти координаты точек пересечения двух окружностей радиуса R1 и R2 с центрами в точках (х1 , у1 ) и (х2 , у2 ) соответственно.
|
16.12.2007, 20:15 | #2 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Необходимо решить систему двух нелинейных уравнений
(x-x1)^2+(y-y1)^2=R1^2 (x-x2)^2+(y-y2)^2=R2^2 система имеет 2 корня если выполняется условие: sqrt(sqr(x2-x1)+sqr(y2-y1)) < (R1+R2) если левая часть = (R1+R2), то корень 1, окружности касаются друг друга, ну, а если левая часть > (R1+R2), то у окружностей нет общих точек. Последний раз редактировалось _Dmitry; 16.12.2007 в 20:20. |
18.12.2007, 18:46 | #3 |
Регистрация: 08.12.2007
Сообщений: 7
|
Программу написал: рисует 2 окружности если не пересекаются то выводит- нет общих точек. Если пересекаются выводит точки пересечения...(здесь как понимаю должны быть координаты) как их вывести ?
Вот мой код: Код:
|
18.12.2007, 19:01 | #4 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Чтоб найти координаты, надо найти решение системы.......
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
18.12.2007, 19:17 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А если пойти по другому пути?
Одну окружность нарисовать, допустим, красным цветом и залить, а в процессе рисования (поточечно) второй окружности (например, зеленым цветом) перед рисованием очередной точки проверять цвет в том месте, где она должна рисоваться. Ведь смысл задания, как я понимаю, не в проверке умения решать системы уравнений, а в проверке умения программировать... |
18.12.2007, 20:53 | #6 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Можно так, x - меняется через 1 пиксел, определяем y по обеим уравнениям и сравниваем, если разница между игреками <=1, то точку пересечения нашли. Затем тоже самое наоборот
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Системное программирование: Delphi или С++ | nazavrik | Свободное общение | 7 | 03.09.2008 11:12 |
Программирование на Delphi на ПКП | LeoN | Общие вопросы Delphi | 2 | 09.02.2008 03:40 |
Программирование Delphi | vrealmaker | Фриланс | 2 | 14.11.2007 09:33 |
Delphi. Программа, которая использует системные функции для получения информации о файловой системе | metamfetamin | Помощь студентам | 16 | 08.11.2007 13:24 |