Как найти середину квадрата
Перейти к содержимому

Как найти середину квадрата

  • автор:

Как найти центр квадрата если есть линейка чуть длиннее стороны квадрата?

Пусть есть квадрат со стороной 10 см и линейка длиной 11 см, как найти центр квадрата?

в избранное
Забыл сказать, что линейка без делений, фото больше для красоты — более года назад
комментировать
Nasos [201K]
более года назад

Мало того что вставили снимок линейки с делениями, так ещё это какая несуразная линейка, связывающая неверно соотношение сантиметров и дюймов.

У линейки, кроме длины, есть ещё и какая=то ширина, не важно, какая, главное, что она есть.

Прикладывая линейку поочерёдно вдоль каждой стороны исходного квадрата, можно внутри его построить маленький квадрат, со сторонами, параллельными сторонам исходного квадрата и диагональю, короче, чем 11см.

Линейка узкая и диагональ маленького квадрата всё ещё длиннее линейки? Не беда, делаем тоже самое, но уже с внутренним квадратом.

В итоге, так, или иначе, получим квадрат, в котором можно провести диагонали, пересечение которых и даст нам искомую точку.

автор вопроса выбрал этот ответ лучшим
в избранное ссылка отблагодарить

+ да у меня было аналогичное решение, именно для того чтобы показать, что у линейки есть ширина и прилепил фото — более года назад

комментировать
julie­ tka [139K]
более года назад

Если наша линейка длиннее стороны квадрата, значит на сторонах этого квадрата мы можем построить прямоугольные треугольники. Один катет — 10см — вся сторона квадрата, другой катет — часть соседней стороны. А гипотенуза — полностью длина нашей линейки -11см. И так строим 4 одинаковых прямоугольных треугольника.

Рисунок неточный, но суть понятна. Точки пересечения гипотенуз соединяем по диагонали. Точка пересечения этих диагоналей и будет центр изначального квадрата.

комментировать
в избранное ссылка отблагодарить
Сырро­ жа [197K]
более года назад

Ну и чо, что линейка короткая и без разметки? В условии ведь умалчивается, что линейка металлическая?

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

Теперь со смежных (рядом стоящих углов квадрата) отчертить два радиуса. Тоже самое проделать с противоположной стороной квадрата. Соединить точки пересечения противоположных дуг. Точка пересечения двух соединительных линий и укажет вам на центр квадрата.

Извините, циркуля под рукой не оказалось, потому слепил его из того что было (пинцет и карандаш). Рисунок получился не красивый, но суть решения передает достаточно понятно:

Как найти внутренний квадрат в квадрате?

Добрый день! Задался таким вопросом: допустим у нас имеется поле например 6×6 = 36 ячеек.
И имеется «внутренний квадрат» размером 5×5 = 25 ячеек. Так вот как найти этот внутренний квадрат при клике на одну из ячеек поля? Все ячейки хранятся в массиве. Допустим я кликаю по ячейке «21»(клик всегда будет расцениваться как центр внутреннего квадрата, и длина стороны внутреннего квадрата всегда будет нечетной) 5bb37c85c2fb1690014346.png
И мой внутренний квадрат будет [7,8,9,10,11,13,14,15,16,17,19,20,21,22,23,25,26,27,28,29,31,32,33,34,35];
Больше примеров:
5bb37dc71ed4c659372551.png
Если я кликаю по ячейке под индексом 0, то внутренним квадратом будет [0,1,2,6,7,8,12,13,14], а если по ячейке под индексом 35 то [21,22,23,27,28,29,33,34,35];
Как такое реализовать на js, мб имеется какой то алгоритм или формула?
p.s. на рисунках клик обведен красным, внутренний квадрат черным.

  • Вопрос задан более трёх лет назад
  • 353 просмотра

5 комментариев

Простой 5 комментариев

как найти центр квадрата?

Доброго времени суток.Есть такая картинка http://www.delphisources.ru/forum/at. d=133026497 6
Прямоугольник (на картинке он обозначен зеленым) может менятся как по вертикали так и по горизонтали. Возникает вопрос как найти центр прямоугольника? Поиском пикселей пользуюсь scanline-ом.

Изображения

1.jpg (1.9 Кбайт, 36 просмотров)

26.02.2012, 20:47
Профессионал
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Вы сказали Спасибо: 52
Поблагодарили 346 раз(а) в 319 сообщениях
Версия Delphi: XE3/VS12/FASM
Репутация: 14665

Находим первый зеленый пиксел (лево верх). Находим также право низ (последний зеленый). Получаем 2 точки. Складываем координаты X и делим пополам, складываем Y и делим пополам. Получаем центр.

__________________
jmp $ ; Happy End!
The Cake Is A Lie.
26.02.2012, 22:52
Регистрация: 07.01.2012
Сообщения: 90
Вы сказали Спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10

Так ну допустим нахожу я левый верхний пиксель, но по пути будут поподатся другие пиксели этого цвета. Как мне их отсортировать до последнего подходящего пикселя?

26.02.2012, 23:03
Профессионал
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Вы сказали Спасибо: 52
Поблагодарили 346 раз(а) в 319 сообщениях
Версия Delphi: XE3/VS12/FASM
Репутация: 14665

На приведенной картинке задача решается элементарно.
Проходим по строкам, запоминаем первый пиксель, который попался зеленого цвета. Потом проходим дальше, и запоминаем зеленые пиксели с максимальными X или Y, сохраняя в переменные XMax и YMax соответствующие координаты. Доходим до конца картинки. Получим 2 точки: одна — первая, другая — с координатами XMax и YMax.
Если же картинка другая — то надо выкладывать реальную картинку и думать.

__________________
jmp $ ; Happy End!
The Cake Is A Lie.
27.02.2012, 10:06
Регистрация: 07.01.2012
Сообщения: 90
Вы сказали Спасибо: 5
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10

Здесь получается такая проблема.Максимальные значения нахожу но при переходе с одного модуля в другой у сохраненные данные стираются.Вот код:

unit center; interface uses windows,sysutils; type TCustomer = Record xmax,ymax : integer; end; procedure kvadrat(x,y:integer); var custRecPtr : ^TCustomer; implementation uses boot; procedure kvadrat(x,y:integer); begin new(custRecPtr); custRecPtr.xmax:=x; custRecPtr.ymax:=y; end; end.

Через процедуру new данные сохраняются, но когда снова вызывается процедура kvadrat снова вызывается процедура new и данные в xmax и ymax стираются.Помогите решить Задачу.

Вычислить диагональ квадрата

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

Содержимое

  1. Диагональ квадрата через длину стороны.
  2. Диагональ квадрата через площадь квадрата.
  3. Диагональ квадрата через периметр квадрата.
  4. Диагональ квадрата через радиус описанной окружности.
  5. Диагональ квадрата через диаметр описанной окружности.
  6. Диагональ квадрата через радиус вписанной окружности.
  7. Диагональ квадрата через диаметр вписанной окружности.
  8. Диагональ квадрата через линию, котороя выходит из угла на середину стороны квадрата.

Диагональ квадрата

  1. Диагональ квадрата – соединяет две вершины противоположных углов квадрата.
  2. Диагонали квадрата одинаковы. AB = CD.
  3. Диагонали квадрата расположены перпендикулярно друг другу.
  4. В точке пересечения диагоналей квадрата, диагонали делятся пополам. AO = BO = CO = DO.
  5. Угол между диагональю и стороной квадрата равен 45 градусам.
  6. Диагонали квадрата делят углы пополам.
  7. Одна из диагоналей делит квадрат на два одинаковых равнобедренных прямоугольных треугольника.
  8. Две диагонали делят квадрат на четыре одинаковых равнобедренных прямоугольных треугольников.
  9. Точка пересечения диагоналей называется центром квадрата и также является центром вписанной и описанной окружности.

Диагональ квадрата через длину стороны.

Диагональ квадрата через длину стороны

Формула диагонали квадрата через длину стороны

Где: a — длина стороны.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *