Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
MoozE
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 7
1

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

20.01.2014, 19:36. Просмотров 589. Ответов 3
Метки нет (Все метки)

Доброго времени суток. Пытаюсь решить задачку. Нужна программа, определяющая, сколько точек с целочисленными координатами лежат в окружности с центром в точке с координатами (X, Y) и радиусом R, x,y,r - натуральные числа. Вот как я думаю всё сделать:
Вводим с клавиатуры x,y,r. Начинаем проверять координаты внутри окружности, взяли координату, проверили целочисленная-ли, записали в массив. Потом вывели длину массива. Вот вопрос:
Как именно генерировать эту координату внутри окружности? Проверить её можно по уравнению (y - Y)^2 + (x - X)^2 <= R. Очень нужна помощь =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 19:36
Ответы с готовыми решениями:

Определить какая из точек лежит внутри а какая - снаружи треугольника
Пытаюсь разобраться помогите пожалуйста .Створиты класс Triangle и класс Point....

Выделить из заданных точек вершины квадрата, на сторонах которого лежит наибольшее количество заданных точек
Нужна помощь, срочно ! На плоскости задано множество точек. Выделить из этих...

Создать класс и методы с заданными параметрами
Помогите пожалуйста, надо создать класс &quot;Компьютер&quot; со свойствами: Частота...

Быстрый алгоритм проверки лежит ли точка внутри многоугольника
На плоскости заданы координаты вершин многоугольника (x1, y1, x2, y2,..., xn,...

Сколько точек лежит внутри окружности
1)Задана окружность (x-a)2 + (y-b)2 = R2 и точки Р(р1, р2), F(f1, f2), L(l1,...

3
Skipy
1996 / 1419 / 91
Регистрация: 25.11.2010
Сообщений: 3,611
20.01.2014, 20:05 2
Цитата Сообщение от MoozE Посмотреть сообщение
Как именно генерировать эту координату внутри окружности?
1. Нарисовать круг
2. Нарисовать квадрат, в который вписан круг. Он будет иметь сторону 2R и координаты от X-R до X+R и от Y-R до Y+R.
3. Проверить все точки в этом квадрате
1
MoozE
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 7
20.01.2014, 20:53  [ТС] 3
Был такой вариант, но там же лишние вычисления есть. Не будет ли это похоже на г-код? Опыта в программировании на таких языках мало, привыкать к таким способам не хочется.

Добавлено через 41 минуту
В общем, я сделал примерный цикл выборки координат:
Java
1
2
3
4
5
6
7
8
for(int i = x-r; i<=x+r; i++){
            for(int k = x-r; k<=x+r; k++){
                x1 = x + k;
                System.out.println("(" + x1 + ";" + y1 + ")");
            }
            y1 = y + i;
            System.out.println("(" + x1 + ";" + y1 + ")");
        }
А есть ли геометрические функции чтобы это покрасивее выглядело?
0
Севак
любитель покушать
682 / 634 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
20.01.2014, 22:32 4
MoozE,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.sevak_avet.Test;
 
public class Test {
    private double x0;
    private double y0;
    private double R;
 
    public Test(double x0, double y0, double R) {
        this.x0 = x0;
        this.y0 = y0;
        this.R = R;
    }
 
    private int solve() {
        int count = 0;
 
        for (int x = (int) (x0 - R); x <= (int) (x0 + R); ++x) {
            for (int y = (int) (y0 - R); y <= (int) (y0 + R); ++y) {
                System.out.printf("x: %d y: %d ", x, y);
                
                if (insideInCircle(x, y)) {
                    System.out.println(" YES");
                    ++count;
                } else {
                    System.out.println(" NO");
                }
            }
        }
 
        return count;
    }
 
    private boolean insideInCircle(int x, int y) {
        return (x - x0) * (x - x0) + (y - y0) * (y - y0) <= R * R;
    }
 
    public static void main(String[] args) {
        Test test = new Test(0, 0, 5);
        System.out.println(test.solve());
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 22:32

Определить, сколько точек лежит внутри окружности
Задана окружность (x - a) 2 +(y - b) 2 =r и две точки P= (p1,p2) и F= (f1,f2)....

Выяснить и напечатать, сколько точек лежит внутри окружности
Помогите с задачей пожалуйста, программа написана, но выдает ошибку и не знаю...

Определить какая из точек лежит на окружности, какая внутри окружности, а какая вне окружности
Не могу не как понять какую формулу писать Вот задания Заданы координаты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru