Геометрия.

и задачки для интервью.
ora-07445
Уже с Приветом
Posts: 217
Joined: 01 Feb 2007 21:01
Location: DC area

Геометрия.

Post by ora-07445 » 02 Jan 2016 08:16

Понадобилось тут посчитать немного, будучи в прошлом (достаточно давнем, увы) математиком, думал что "ща я быстренько". Через час сдался :) К счастью, для прикладного применения особой точности не нужно, потому я просто нарисовал в масштабе и получил нужные цифры измерениями, но заноза осталась.. Насколько сильно я отупел, на ваш взгляд, посмотрите картинку (эта картинка - не в масштабе):

Image

Черным цветом - начальное состояние, серым - конечное. Точки A и B - шарниры. Известные размеры - красным цветом. Все сегменты (отрезки) конструкции - жесткие. Сегмент DC поворачивается вокруг точки B, два сегмента, DC и AB поворачиваются вокруг точки A так, чтобы точка D1 оказалась на "старой" прямой DC и угол C1D1C - 15 градусов. Нужно найти координаты точки C1 относительно чего нибудь начального, например точки C. Вроде данных достаточно. Как считаем? Другое описание поворота, на случай если не понятно - DC поворачивается вокруг B на 15 градусов против часовой, и далее перемещается параллельно себе, так чтобы D1 оказалась на "старой" прямой DC и расстояние AB1 сохранилось равным AB.

DropAndDrag
Уже с Приветом
Posts: 4346
Joined: 11 Mar 2011 05:36

Re: Геометрия.

Post by DropAndDrag » 02 Jan 2016 09:34

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

Сентябрь
Уже с Приветом
Posts: 731
Joined: 03 Feb 2011 20:58

Re: Геометрия.

Post by Сентябрь » 29 Jan 2016 07:12

Перемещение точки С по вертикали считается элементарно: DC*sin15 = 62 * 0.259 = 16.05.

С горизонталью сложнее. Перемещение точки B по вертикали 20*0.259=5.176
Ралиус AB в квадрате равен (42+8)**2 + 70**2 = 7400 а значит координата точки B1 по горизонтали = sqrt(7400 -(70+5.176)**2) = 41.816.
Координата точки C1 по горизонтали = 41.816 - 42*cos15 = 1.247

Значит перемещение точки С по горизонтали 8 - 1.247 = 6.753

Борис Гин
Уже с Приветом
Posts: 113
Joined: 03 Dec 2012 01:35
Location: Московская обл.Люберцы

Re: Геометрия.

Post by Борис Гин » 13 Jun 2016 19:06

Самая простая задача.В равносторонний треугольник вписать три окружности касающихся друг друга и сторон треугольника.
Конечно только при помощи циркуля и линейки

Борис Гин
Уже с Приветом
Posts: 113
Joined: 03 Dec 2012 01:35
Location: Московская обл.Люберцы

Re: Геометрия.

Post by Борис Гин » 13 Jun 2016 19:08

Самая простая задача.В равносторонний треугольник вписать три окружности касающихся друг друга и сторон треугольника.
Конечно только при помощи циркуля и линейки

ora-07445
Уже с Приветом
Posts: 217
Joined: 01 Feb 2007 21:01
Location: DC area

Re: Геометрия.

Post by ora-07445 » 24 Aug 2016 23:54

Сентябрь wrote:Перемещение точки С по вертикали считается элементарно: DC*sin15 = 62 * 0.259 = 16.05.
Давно не заглядывал, извините что опозданием - да, вроде все правильно, спасибо.

User avatar
Dweller
Уже с Приветом
Posts: 10530
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

Re: Геометрия.

Post by Dweller » 25 Aug 2016 19:29

Борис Гин wrote:Самая простая задача.В равносторонний треугольник вписать три окружности касающихся друг друга и сторон треугольника.
Конечно только при помощи циркуля и линейки
Ну тут все просто. Если считать что делить отрезки и углы пополам мы умеем легко, то все что нужно это провести перпендикуляры P через середину каждой стороны, провести биссектрисы B из каждого угла треугольника и из каждого прямого угла С образованного перпендикулярами Р. Тогда центры окружностей будут на пересечении B и С.

Борис Гин
Уже с Приветом
Posts: 113
Joined: 03 Dec 2012 01:35
Location: Московская обл.Люберцы

Re: Геометрия.

Post by Борис Гин » 28 Aug 2016 22:13

В принципе задача решена правильно.Попробуем немного усложнить задачу.Нужно вписать три окружности в равнобедренный
треугольник.Желаю удачи

Борис Гин
Уже с Приветом
Posts: 113
Joined: 03 Dec 2012 01:35
Location: Московская обл.Люберцы

Re: Геометрия.

Post by Борис Гин » 03 Sep 2016 21:05

Предлагаю слегка изменить условие задачи ,заданной пользователем ora-07455 от 02 января 2016 г.Порядок работы выполним в
два этапа: 1.Сегмент ДС вращается вокруг точки В против часовой стрелки на 15 градусов.
2.Сегмент АВ вращается вокруг точки А так,чтобы точка Д1 оказалась на "старой" прямой ДС.Сегмент д1с1 вокруг
точки В1 не вращается и поэтому уголСД1С1 не будет равен 15 градусов..
Задание остается старым:найти координаты точки С1 относительно точки С

Сентябрь
Уже с Приветом
Posts: 731
Joined: 03 Feb 2011 20:58

Re: Геометрия.

Post by Сентябрь » 09 Sep 2016 05:39

После первого этапа точка D будет иметь координаты: по горизонтали 8+42+20*cos15=69.3185, по вертикали 70-20*sin15=64.8236
Таким образом расстояние от точки А до этой новой D будет sqrt(69.3185**2+64.8236**2)= 94.906,
угол же между AD и вертикалью будет arctg (69.3185/64.8236)=46.9192 градуса

После второго этапа угол между AD и вертикалью будет arcos(70/94.906)=42.4750 градусов. Т.е. второй этап - это поворот всей конструкции на 46.9192-42.4750 = 4.4445 градусов по часовой стрелке.

И таким образом угол C1D1C будет равен 15-4.4445 = 10.5555 градусов.

Теперь решение свелось к предыдущей задаче с другим углом :-)

Борис Гин
Уже с Приветом
Posts: 113
Joined: 03 Dec 2012 01:35
Location: Московская обл.Люберцы

Re: Геометрия.

Post by Борис Гин » 11 Sep 2016 14:22

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

User avatar
Dweller
Уже с Приветом
Posts: 10530
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

Re: Геометрия.

Post by Dweller » 11 Sep 2016 19:00

Борис Гин wrote:В принципе задача решена правильно.Попробуем немного усложнить задачу.Нужно вписать три окружности в равнобедренный
треугольник.Желаю удачи
ну это тоже несложно, придумал в уме :) Пусть равные углы будут А, другой угол В
2 окружности в равных углах А вписываются тем же методом: сначала биссектрисы, потом делим основание треугольника на 2 части, делаем прямые углы с помощью перпендикуляра через середину, делаем биссектрисы в прямых углах, потом 2 окружности на пересечении этих биссектрис

Третий треугольник делается тоже просто - проводятся касательные к (дальним) окружностям из углов А. Это можно сделать удвоением угла между центром окружности и основанием.
И потом вписать окружность в образованный четырехугольник (там опять биссектрисы углов)

Борис Гин
Уже с Приветом
Posts: 113
Joined: 03 Dec 2012 01:35
Location: Московская обл.Люберцы

Re: Геометрия.

Post by Борис Гин » 14 Sep 2016 19:40

Dweller вы молодец!Придумать такое решение,да еще в уме.Это здорово.Особенно решение с третьим треугольником.

User avatar
Dweller
Уже с Приветом
Posts: 10530
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

Re: Геометрия.

Post by Dweller » 14 Sep 2016 22:43

Борис Гин wrote:Dweller вы молодец!Придумать такое решение,да еще в уме.Это здорово.Особенно решение с третьим треугольником.
Мое решение кстати неправильное (скорее приблизительное из разряда quick & dirty), т.к. 3я окружность впишется но не обязательно будет касаться двух других :(
Для правильного решения нужна бумажка, и время. Там будет несколько связанных друг с другом шагов, в уме уже трудно отследить.
Надо будет построить точку на высоте треугольника, равноудаленую от 2х окружностей и сторон треугольника. Можно пойти от обратного, т.е. взять любую точку на высоте и построить как бы новую сторону треугольника параллельно имеющейся, так чтобы была равноудаленность. Параллельность позволит сохранить угол, который надо будет использовать чтобы найти центр 3й окружности. Грубо говоря, надо будет ужать (гомотетия) всю новую конструкцию так чтобы "новая сторона" легла обратно на имеющуюся, тогда и угол перенесется в правильное место и его можно будет использовать.

Return to “Головоломки”