Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2020, 16:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Порядок расположения блоков
Из массива описывающего координаты/размеры блоков требуется указать их размеры в порядке их расположения. Для этого, для №23 отсортировали вложенные массивы по минимуму координаты X с сохранением ключей, взяли их ширину, затем, берутся отсортированные по минимуму координаты Y и по ключам массива X получается высота.

Но блоки могут иметь и расположение сверху вниз как у №21, поэтому порядок их размеров будет указан неверно. Как минимумом проходов по массивам можно определить (по какому признаку/условию), что расположение блоков, назовем условно, альбомное или портретное?

Последний раз редактировалось laimas, 12.10.2020 в 16:58.
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2020, 17:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

laimas,
может взять вертикальную/горизонтальную линию по середине и проверить все блоки на пересечение, если половина блоков принадлежит линии то портретное/альбомное.
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2020, 17:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Почему половина и по какой из половин проверять? Ведь, допустим, определили, что половина сверху до оси X середины подпадает под определение "портрет", а ниже координаты X будет слева блок, то определение будет неверным. Или я не понял идеи.
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2020, 17:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

laimas,
определить прямоугольник в который входят все блоки, согнуть его напополам и смотреть количество блоков в месте сгиба, для надёжности можно согнуть по вертикали и горизонтали и смотреть что больше.
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2020, 17:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
определить прямоугольник в который входят все блоки
Это общая площадь, она определяется также. То есть взяли координаты этой пощади, затем определяем сколько вхождений координат блоков попадет в ее части слева/справа сверху/снизу?
Ответить с цитированием
  #6 (permalink)  
Старый 23.01.2020, 18:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

laimas,
может смотреть где следующий блок справа или снизу?
Ответить с цитированием
  #7 (permalink)  
Старый 23.01.2020, 18:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Последний раз редактировалось laimas, 12.10.2020 в 16:58.
Ответить с цитированием
  #8 (permalink)  
Старый 23.01.2020, 18:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
может смотреть где следующий блок справа или снизу?
Да, получается что так - больше, но нет смежных по другой оси.
Ответить с цитированием
  #9 (permalink)  
Старый 23.01.2020, 18:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Все, вот так будет самое выгодное - начинать проверку всегда по оси Y сверху вниз, как только обнаруживается другой блок по оси X, остановка, это "альбом", иначе считать порядок сверху вниз.
Ответить с цитированием
  #10 (permalink)  
Старый 23.01.2020, 18:53
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
Порядок расположения блоков
Сообщение от laimas
Из массива описывающего координаты/размеры блоков требуется указать их размеры в порядке их расположения.
Сообщение от laimas
Как минимумом проходов по массивам можно определить... что расположение блоков, назовем условно, альбомное или портретное?
Вы хотите отсортировать эти прямоугольники на плоскости или определить, что они все ориентированы одинаково?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Показывать по 5 блоков Meduzaweb Общие вопросы Javascript 2 29.03.2018 16:07
Скрипт карусели блоков rozmakc Работа 3 25.07.2016 21:35
Случайный порядок блоков при загрузке страницы samuil Общие вопросы Javascript 2 24.07.2014 21:56
Псевдо-toggle и изменение порядка расположения элементов по клику zeppeline jQuery 2 14.04.2014 14:37
Сохранение порядка расположения блоков potomuchto Элементы интерфейса 4 12.11.2013 00:04