Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Определить точки круга - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить сложность алгоритма http://www.cyberforum.ru/cpp-beginners/thread764104.html
Ребята подскажите сложность алгоритма:) Функция ищет максимальный элемент в двухмерном массиве. Это будет n*m или n^2? int* max_c(int n, int m, int** a) { int i, j, fl = 0; int *b; b=new...
C++ рекурсивные алгоритмы помогите с задачкой пожалуйста надо разработать программную рекурсивную функцию, выводящую на пе-чать n символов латинского алфавита в возрастающем лексикографи-ческом порядке. Пример: ABCD при n... http://www.cyberforum.ru/cpp-beginners/thread764084.html
Структуры (пользователи библиотеки). Дописать C++
помогите пожалуйста дописать дальше не пойму что делать Используя информацию, про пользователей библиотеки, напечатать сообщение про пять пользователей за которыми числится наибольшее количество...
C++ Очистка потока
Так получается в программе, что приходится несколько раз открывать файл и закрывать, в ходе этого при очередном открытии файла в котором загружена матрица, при считывании число не записывается в...
C++ Нужно переделать под 2х мерный массив http://www.cyberforum.ru/cpp-beginners/thread764057.html
задача следующая, используя функции сортировки масcива, отсортировать строки матрицы есть вот такая прога, не пойму как переделать ее под N мерный массив( подправьте пожалуйста #include <iostream>...
C++ Имитация командной строки Написать программу на С++, имитирующую командную строку. Программа должна уметь запускать exe-файлы, имена/пути которых вводятся пользователем с терминала, с помощью функции CreateProcess. Если... подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,529
Завершенные тесты: 1
17.01.2013, 15:17
Цитата Сообщение от Winterad Посмотреть сообщение
А покажите пожалуйста пример кода, который определяет только точки по краю круга. Без заполнения середины.
Ну вот балуйся с этим условием:
C++
1
if( (pow((x-a),2) + pow((y-b),2)) <= pow(R,2) )
Если заместо <= поставить ==, тогда будут выведены точки, которые точно лежат на границе окружности. Но при такой малой дискретизации они врятли составят замкнутый круг. Так что надо использовать условие типа
C++
1
2
    if( (pow((x-a),2) + pow((y-b),2)) <= pow(R,2) &&
        (pow((x-a),2) + pow((y-b),2)) >= pow(R,2)-30)
То есть выводить точки, лежащие не точно на окружности, а в некотором абстрактном приближении (-30).
При чем в данном случае (когда вычитается только из второго условия) нарисованная таким образом окружность никогда не выйдет за пределы своего радиуса. А если, к примеру, к первому условию прибавить пятнадцать (+15), а из второго вычесть так же пятнадцать (-15), то окружность будет отображена без смещения вовнутрь, но при этом уже выйдет за границы первоначального радиуса. Это как толщина линии.
P.S. Для надежности уточню: само число 30 придумано из головы. Можно туда вписать любое другое.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru