Sidebar

Условие окружности

ComradeAndrew

๖ۣۜC++
Apr 2, 2010
1,062
28
7
0
Условие окружности

Дана координатная плоскость с окружностью:
sp1.png

Горизонтальная и вертикальная оси - оси абсцисс и ординат соответственно.
Как составить уравнение для x и y входящих в окружность, как на рисунке?
В данном случае координаты:
(1;6),(2;6),(2;5),(3;5),(4;5),(4;4),(5;4),(5;3),(5;2),(6;2),(6;1)
Они все должны попадать под одно условие. (x, y и r=6)
Задача состоит именно в том, чтобы вычислить координаты точек(скажем у нас пиксели) окружности на плоскости. В данном случае окружность вписанная в квадрат 12x12. На рисунке её четверть. И как можно заметить окружность имеет четкую грань и каждый пиксель такой окружности соприкасается со следующим вертикально или горизонтально, т.е. не по диагонали.
Если что-то не понятно объяснил, могу уточнить :)
Буду очень признателен за любые подсказки. А-то я не догоняю каким уравнением её составить %)
Наверное, надо как-то преобразовать (x^2 + y^2 == r^2)
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Тебе надо круг нарисовать процедурно чтоль?
Code:
	for( x = 0; x < 16; x++ )
	{
		dx2 = x - 8;
		dx2 = dx2 * dx2;

		for( y = 0; y < 16; y++ )
		{
			dy = y - 8;
			d = 255 - 35 * sqrt( dx2 + dy * dy );
// d это типо цвет пикселя.
		}
	}
 

DrTressi

Хрустик
Mar 6, 2010
6,380
31
Так а в чём трудность то? Ну бери и считай по этой формуле. Точнее (x-x0)^2+(y-y0)^2=R^2

P.S. Там клеточки могут немного не совпадать в зависимости от типа округления. Я Транком округлял.
 

Attachments

Last edited:

ComradeAndrew

&#3670;&#1763;&#1756;C++
Apr 2, 2010
1,062
28
7
0
2 Дядя Миша:
sphere.png

Это не то, что мне нужно. Мне бы окружность :)
Вот такую для радиуса 6
circle.png




2 DrTressi:
Как-то странно ты считаешь. Посмотри сам, у тебя не симметричная окружность на квадрате - как это может быть?
Из формулы x^2+y^2==r^2 - не получить окружность на такой дискретной плоскости.
 

ComradeAndrew

&#3670;&#1763;&#1756;C++
Apr 2, 2010
1,062
28
7
0
2 DrTressi:
Сейчас окружность очень неплохая. Но условию не соответствует :)
Нужно двойным тогда, что ли. Больше, меньше - делая доступ на какую-то размерность.
 

DrTressi

Хрустик
Mar 6, 2010
6,380
31
2 DarkEssence: Ещё раз говорю, пересчитай округляя Раундом и всё совпадёт)

P.S. Не хочешь по хорошему - ладно. Вот тебе ещё один приём. Через тригонометрию :D
 

Attachments

ComradeAndrew

&#3670;&#1763;&#1756;C++
Apr 2, 2010
1,062
28
7
0
2 DrTressi:
Это уже жесть какая-то.
Я сделал так - два условия:
x^2+y^2>=r^2 - min(|x|,|y|) &&
x^2+y^2<=r^2 + max(|x|,|y|)
Получилось следующее:
r=3
r_3.png

r=6
r_6.png

r=9
r_9.png

Вроде приемлемо, но на больших радиусах появляются пробелы. Этот вариант не на 100% отвечает задаче :)
Если у кого-то есть варианты получше, то я рассмотрю.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
>>Это не то, что мне нужно. Мне бы окружность :)
А это партикля из ксаша :)
Ничего мне когда-то тоже неанимированного хряка подсунули.
 

ComradeAndrew

&#3670;&#1763;&#1756;C++
Apr 2, 2010
1,062
28
7
0
2 Дядя Миша:
Сама партикля мне понравилась :drink:

2 FiEctro:
Отлично подходит, забираю. Спасибо :)
 

argoo

Забаненный
Dec 9, 2014
0
37
Древний город Фенхуан и красота Китая
Фенхуан — древний город в китайской провинции Хунань. Фенхуан в переводе с китайского языка означает "феникс". Поселение хорошо известно своим сохранившимся старым городом, воспетым во многих легендах. Фенхуан находится во власти деревянных зданий на сваях. Город уникален, изящен, окружен живописными реками и горами — время здесь словно остановилось, а сооружения украшены красными китайскими фонарями.
Это действительно волшебное место, которое многие считают самым красивым городом в Китае. Древний город Фенхуан является объектом Всемирного наследия ЮНЕСКО. Древнее сообщество, расположенное в западной части провинции Хунань, более походит на Венецию Востока, только не подверженную модернизации и современному влиянию. Деревянные лодки, простые речные перекрестки, китайские здания на сваях, традиционная еда и одежда — все выглядит так, как будто это место застыло во времени.
0_118832_5a370501_XL.jpg

Очарование Фенхуана — это нечто выше простой естественной красоты. Во время прогулки по городу можно бесконечно восхищаться красоте древней архитектуры. Большинство узких улочек вымощены булыжником, а в магазинах продают абсолютно странные продукты — от головы свиньи, до мяса полевых крыс.
подробнее тут
 
Last edited:

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord