кто нить знает алгоритм расположения обьктов как на скрине(красные квадраты),да и надо вообразить что там нету моей криворукости и все ровненько
черных квадратов может быть и 2х3,5х19,100х500,2х4 на скрине 2х2

Принятый ответ

8gabriel8, Я полагал, что чёрные - юниты/объекты внутри, а красные - юниты/объекты вокруг, вот собственно его задача была расстановка юнитов/объектов вокруг, но ты прав, нужно больше информации.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
27
5 лет назад
0
8gabriel8, Я полагал, что чёрные - юниты/объекты внутри, а красные - юниты/объекты вокруг, вот собственно его задача была расстановка юнитов/объектов вокруг, но ты прав, нужно больше информации.
Принятый ответ
1
17
5 лет назад
Отредактирован ledoed
1
PrincePhoenix:
8gabriel8, , нужно больше информации.
черных квадратов может быть и 2х3,5х19,100х500,2х4
мне самому кажется нужны 2 независимых цикла
for(int i=0;i<size.x;i++)
{
	posup = (-size.x/2 , 0)+(i,size.y)
	posdown =(-size.x/2 , 0)+(i,-size.y)
}
и тоже самое заполнение по "y",только размер увеличить на 2 так как заполнить углы над,но это какойто костыльный метод
возможно есть алгоритм на полярных координатах за 1 цикл где учитываться прямоугольность конструкции
0
27
5 лет назад
Отредактирован Феникс
0
ledoed, Ты же понимаешь, что для полного понимания картины нужно уточнить о чём собственно идёт речь, какие исходные данные есть и т.д. Подробнее опиши задачу.
Есть вариант:
x = номер углового квадрата
size = размер квадрата
countL = количество квадратов по длине //между угловыми
countH = количество квадратов по высоте //между между угловыми
length = DistanceBetweenPoints(x1, x2) - size
height = DistanceBetweenPoints(x1, x4) - size
countL =  lenght / size
countH = height / size
1
17
5 лет назад
Отредактирован ledoed
1
PrincePhoenix:
ledoed, Ты же понимаешь, что для полного понимания картины нужно уточнить о чём собственно идёт речь, какие исходные данные есть и т.д. Подробнее опиши задачу.
не учитываем смешение,в 0,0 координатах создаем прямоугольник из блоков,условно блок равен (1,1) тоесть чтобы создать поле 3х2 нужно затратить 6 блоков,и вокруг этого прямо-ка создать рамку ещё из квадратов тоесть стена,блок стены тоже размера (1,1)
DistanceBetweenPoints это x1*x1+x2*x2 под корнем?
0
27
5 лет назад
0
ledoed, вроде да, сейчас блокнот соображу открою
Уточни, имеются ли данные о количестве чёрных квадратов?
1
17
5 лет назад
Отредактирован ledoed
1
PrincePhoenix:
Так сказать пища для размышления
от 1-го 2 смещения вправо
от 2-го 2 смещения вниз
от 3-го 2 смещения влево
от 4-го 2 смещения вверх
Алгоритмов может быть несколько, от циклов с проверкой текущего номера куба, до простого назначения переменных
хаха как сам додумал до это вспомнил что гдето этот алгоритм видел
PrincePhoenix:
ledoed, вроде да, сейчас блокнот соображу открою
Уточни, имеются ли данные о количестве чёрных квадратов?
конечно есть они же строються 2м циклом
for(j)
	for(i)
		pos(-size.x/2+i,-size.y/2+j)
кол красных квадратов считаеться по формуле size.x * 2 + size.y * 2 + 4
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.