Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 09:52
Оценка: 62 (7)
Идеальная программа всегда имеет код возврата OK, потому что всегда работает правильно (при этом она, к сожалению, почти не встречается).
Хорошая программа имеет код возврата OK, если справилась с задачей, а ERR, если не справилась.

А желаемый компромис такой: если справилась, то OK, а иначе — подробная диагностика: почему не вышло, на каком этапе пошли косяки и так далее. Причём, хочется это всё получить одним числом, как обычно

Что характерно, такое бывает не только в программировании, но и в жизни. Следующая задачка по геометрии прикольна тем, что разные люди дают разные ответы И настаивают на них. А самое смешное, что по ответу можно весьма точно указать на ошибку. Поэтому данная задачка является образцом и примером "эталонной изящной геометрической задачки"

Итак, сама задача:

Два одинаковых конуса с равносторонними треугольниками со стороной 1 в осевых сечениях лежат на плоскости (т.е. в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними). При этом конусы касаются друг друга так, что их вершины совпадают. Надо найти расстояние от плоскости до самой далёкой точки касания одного конуса другим.

Пожалуйста, не пишите здесь решение, чтобы не лишать других удовольствия справиться самостоятельно.

11.03.09 19:31: Перенесено модератором из 'О жизни' — Кодт
11.03.09 19:31: Перенесено модератором из 'О жизни' — Кодт
Re: Код возврата и геометрия :)
От: Mr.Cat  
Дата: 11.03.09 09:57
Оценка:
Здравствуйте, Iso, Вы писали:
Iso>Итак, сама задача:

Рисунок в студию.
Re[2]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 10:11
Оценка:
MC>Рисунок в студию.


За качество прошу не ругать, так как пишу из горящего танка
Re: Код возврата и геометрия :)
От: Kluev  
Дата: 11.03.09 10:17
Оценка:
Здравствуйте, Iso, Вы писали:

Iso>Пожалуйста, не пишите здесь решение, чтобы не лишать других удовольствия справиться самостоятельно.


sin(pi/6)
Re[2]: Код возврата и геометрия :)
От: Kluev  
Дата: 11.03.09 10:23
Оценка:
Здравствуйте, Kluev, Вы писали:

K>Здравствуйте, Iso, Вы писали:


Iso>>Пожалуйста, не пишите здесь решение, чтобы не лишать других удовольствия справиться самостоятельно.


K>sin(pi/6)


вернее sqrt(5/4)*sin(pi/6)
Re[3]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 10:30
Оценка:
K>sqrt(5/4)*sin(pi/6)

sin(pi/6) = 0.5 Это позволит упростить выражение.
Re[3]: Код возврата и геометрия :)
От: Mr.Cat  
Дата: 11.03.09 10:55
Оценка: +2
Здравствуйте, Iso, Вы писали:
MC>>Рисунок в студию.
Iso>http://www.imageup.ru/img12/conepic106804.gif

Ок, теперь понятно. Потому как по тексту я лично понял, что конусы соприкасаются в единственной точке — вершине, на расстоянии 0 от плоскости.
Re[4]: Код возврата и геометрия :)
От: vb-develop  
Дата: 11.03.09 10:58
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Iso, Вы писали:

MC>>>Рисунок в студию.
Iso>>http://www.imageup.ru/img12/conepic106804.gif

MC>Ок, теперь понятно. Потому как по тексту я лично понял, что конусы соприкасаются в единственной точке — вершине, на расстоянии 0 от плоскости.


По тексту понял примерно тоже самое (ну разве что с поправкой что касаться друг друга они могут только в точке, лежащей в плоскости).
По рисунку вообще ничего не понял.
Re[4]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 11:10
Оценка:
MC>Ок, теперь понятно. Потому как по тексту я лично понял, что конусы соприкасаются в единственной точке — вершине, на расстоянии 0 от плоскости.

Ну да, формулировать такие штуки сложнее всего.
В условии хоть и сказано "в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними", но понять это сходу сложно. Если умеете сделать хороший рисунок, то спасёте многих, я думаю
Re[4]: Код возврата и геометрия :)
От: Kluev  
Дата: 11.03.09 11:22
Оценка:
Здравствуйте, Iso, Вы писали:

K>>sqrt(5/4)*sin(pi/6)


Iso>sin(pi/6) = 0.5 Это позволит упростить выражение.


так правильно или нет?
Re: Код возврата и геометрия :)
От: alex_mah Россия www.elsy.ru
Дата: 11.03.09 11:36
Оценка:
Здравствуйте, Iso, Вы писали:

Iso>...


sqrt(1/2) ?
Re[5]: Код возврата и геометрия :)
От: Mr.Cat  
Дата: 11.03.09 11:36
Оценка: +1
Здравствуйте, Iso, Вы писали:
Iso>В условии хоть и сказано "в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними", но понять это сходу сложно.

Да не, с этим-то как раз все ок. Тут проблема в том, что в условии не указано, что конусы соприкасаются друг с другом по линии, а не в одной точке.
Re[2]: Код возврата и геометрия :)
От: alex_mah Россия www.elsy.ru
Дата: 11.03.09 11:40
Оценка:
Здравствуйте, alex_mah, Вы писали:

_>Здравствуйте, Iso, Вы писали:


Iso>>...


_>sqrt(1/2) ?


В смысле, поскольку в условии не уточнено, то либо 0, если касаются только вершинами, либо sqrt(1/2) если касаются по линии.
Re[3]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 11:58
Оценка:
_>В смысле, поскольку в условии не уточнено, то либо 0, если касаются только вершинами, либо sqrt(1/2) если касаются по линии.
Всё без обмана, ответ 0 неинтересен, нужно именно максимальное расстояние от плоскости до точки касания конусов.
Но корень из половины — неверный ответ
Re[4]: Код возврата и геометрия :)
От: alex_mah Россия www.elsy.ru
Дата: 11.03.09 12:06
Оценка:
Здравствуйте, Iso, Вы писали:

_>>В смысле, поскольку в условии не уточнено, то либо 0, если касаются только вершинами, либо sqrt(1/2) если касаются по линии.

Iso>Всё без обмана, ответ 0 неинтересен, нужно именно максимальное расстояние от плоскости до точки касания конусов.
Iso>Но корень из половины — неверный ответ

Почему? Могу обосновать свой ответ, но сам просил решение тут не постить...
Re: Код возврата и геометрия :)
От: anonymous Россия http://denis.ibaev.name/
Дата: 11.03.09 12:07
Оценка:
Здравствуйте, Iso, Вы писали:

Iso>Надо найти расстояние от плоскости до самой далёкой точки касания одного конуса другим.


sqrt(3) / 4
Re[5]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 12:09
Оценка:
_>Почему? Могу обосновать свой ответ, но сам просил решение тут не постить...
Хорошо, можете написать в личку — я постараюсь указать на ошибку.
Re[2]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 12:10
Оценка:
A>
A>sqrt(3) / 4
A>

Тоже очень распространённый ответ
Re[6]: Код возврата и геометрия :)
От: alex_mah Россия www.elsy.ru
Дата: 11.03.09 12:17
Оценка:
Здравствуйте, Iso, Вы писали:

_>>Почему? Могу обосновать свой ответ, но сам просил решение тут не постить...

Iso>Хорошо, можете написать в личку — я постараюсь указать на ошибку.

Гы. Нарисовал на бумажке, маленько пописал, получил sqrt(1/8)
Re[7]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 12:31
Оценка:
_>Гы. Нарисовал на бумажке, маленько пописал, получил sqrt(1/8)
Да, бумажка рулит, Вы на верном пути.
Но надо ещё решать, если хотите верный ответ
Re[5]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 13:16
Оценка:
K>так правильно или нет?
Извините, пропустил Ваше сообщение, поэтому долго не отвечал
Увы, до правильного ответа ещё не очень близко.
Удачи!
Re: Надо бы чертеж, да лень. Попробую в уме
От: Eudj  
Дата: 11.03.09 13:39
Оценка:
У меня получился корень из трех деленный на 4
Re[3]: Код возврата и геометрия :)
От: cvetkov  
Дата: 11.03.09 14:01
Оценка:
ну правильный ответ должен быть распространенным
Re[8]: Код возврата и геометрия :)
От: alex_mah Россия www.elsy.ru
Дата: 11.03.09 14:05
Оценка:
Здравствуйте, Iso, Вы писали:

_>>Гы. Нарисовал на бумажке, маленько пописал, получил sqrt(1/8)

Iso>Да, бумажка рулит, Вы на верном пути.
Iso>Но надо ещё решать, если хотите верный ответ

0,43
Re: 1/2
От: SergeCpp Россия http://zoozahita.ru
Дата: 11.03.09 14:06
Оценка:
1/2
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[9]: Код возврата и геометрия :)
От: alex_mah Россия www.elsy.ru
Дата: 11.03.09 14:09
Оценка:
Здравствуйте, alex_mah, Вы писали:

_>Здравствуйте, Iso, Вы писали:


_>>>Гы. Нарисовал на бумажке, маленько пописал, получил sqrt(1/8)

Iso>>Да, бумажка рулит, Вы на верном пути.
Iso>>Но надо ещё решать, если хотите верный ответ

_>0,43

Ну в смысле там после 0,43 еще много чего, но если по другому ответ написать, он и решением будет.
Re[4]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 14:20
Оценка:
C>ну правильный ответ должен быть распространенным
увы, это бывает не только с правильными ответами
как в данном случае, например.

Задачка хорошая, содержит продуманные ловушки.
Но Вы на верном пути.
Re[10]: Код возврата и геометрия :)
От: Iso  
Дата: 11.03.09 14:30
Оценка:
_>>0,43
_>Ну в смысле там после 0,43 еще много чего, но если по другому ответ написать, он и решением будет.
Вы далеко продвинулись, но до верного ответа ещё осталось несколько шагов.
Re[2]: 1/2
От: Iso  
Дата: 11.03.09 14:34
Оценка:
SC>1/2
Тоже хороший ответ.
Я знаю два разных неправильных способа его получения
Re: Код возврата и геометрия :)
От: Whiteman  
Дата: 11.03.09 15:43
Оценка:
cos(PI/3)
Правильно?
Re[2]: Код возврата и геометрия :)
От: VEAPUK  
Дата: 11.03.09 15:56
Оценка:
Здравствуйте, Whiteman, Вы писали:

W>cos(PI/3)

Чем отличается от sin(PI/6) ?
W>Правильно?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Код возврата и геометрия :)
От: Whiteman  
Дата: 11.03.09 16:02
Оценка:
Здравствуйте, VEAPUK, Вы писали:

VEA>Здравствуйте, Whiteman, Вы писали:


W>>cos(PI/3)

VEA>Чем отличается от sin(PI/6) ?
W>>Правильно?

Да сорри... понял уже..
Re: 1/sqrt(3)
От: SergeCpp Россия http://zoozahita.ru
Дата: 11.03.09 16:52
Оценка: 12 (1)
1/sqrt(3)
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re: Код возврата и геометрия :)
От: subdmitry Россия  
Дата: 11.03.09 16:59
Оценка:
1/2.
Да, куча ловушек.
And if you listen very hard the alg will come to you at last.
Re: Код возврата и геометрия :)
От: Аноним  
Дата: 11.03.09 17:00
Оценка:
0,25
Re[2]: Код возврата и геометрия :)
От: Аноним  
Дата: 11.03.09 17:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>0,25


пардон,
sqrt(3)/4
Re[2]: Код возврата и геометрия :)
От: subdmitry Россия  
Дата: 11.03.09 17:17
Оценка:
Здравствуйте, subdmitry, Вы писали:

S>1/2.


Нет. Искомая величина БОЛЬШЕ 1/2. Рассчитать пока не получается.
And if you listen very hard the alg will come to you at last.
Re[3]: Код возврата и геометрия :)
От: subdmitry Россия  
Дата: 11.03.09 17:43
Оценка:
Здравствуйте, subdmitry, Вы писали:

S>Нет. Искомая величина БОЛЬШЕ 1/2. Рассчитать пока не получается.


Так, кажется поймал. 1/sqrt(2).
And if you listen very hard the alg will come to you at last.
Re[4]: Код возврата и геометрия :)
От: subdmitry Россия  
Дата: 11.03.09 17:50
Оценка:
Здравствуйте, subdmitry, Вы писали:

S>Так, кажется поймал. 1/sqrt(2).


Нет, не правильно. Блин, как же это рассчитать?
And if you listen very hard the alg will come to you at last.
Re[5]: Код возврата и геометрия :)
От: subdmitry Россия  
Дата: 11.03.09 18:06
Оценка: 12 (1)
Здравствуйте, subdmitry, Вы писали:

1/sqrt(3)

На сий раз вроде правильно.
And if you listen very hard the alg will come to you at last.
Re: Код возврата и геометрия :)
От: nikov США http://www.linkedin.com/in/nikov
Дата: 11.03.09 18:18
Оценка: 12 (1)
расстояние от вершины до центра основания = srqt(3)/2
расстояние от вершины до проекции центра основания на плоскость = 3/4
расстояние между центрами оснований = srqt(3)/2
расстояние между проекциями центров оснований = srqt(3)/2
расстояние от вершины до середины отрезка, соединяющего проекции центров оснований = sqrt(6)/4
расстояние от вершины до середины отрезка, соединяющего центры оснований = 3/4
косинус угла между плоскостью и отрезком, по которому касаются конусы = sqrt(6)/3
синус того же угла = sqrt(3)/3
расстояние от плоскости до дальнего конца отрезка, по которому касаются конусы = sqrt(3)/3
Re[2]: Ещё способ
От: SergeCpp Россия http://zoozahita.ru
Дата: 11.03.09 18:47
Оценка:
Из соображений симметрии (аналогичная плоскость сверху) следует, что отрезки "вершина — центры оснований" и отрезок касания лежат в одной плоскости. Также известна высота центра основания (любого). Дальше расчёт.
Аналогичное применимо и к конусам с разным диаметром оснований. При расчёте тогда нужно будет учесть высоты обоих оснований. Угол 60 сначала ошибочно считал (ответ 1/2), но он больше, т.к. конусы раздвинуты.
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[3]: Пояснение
От: SergeCpp Россия http://zoozahita.ru
Дата: 11.03.09 18:57
Оценка:
SC>Угол 60 сначала ошибочно считал (ответ 1/2)...

Между нижней и верхней плоскостями касания.
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[2]: Код возврата и геометрия :)
От: VEAPUK  
Дата: 11.03.09 19:13
Оценка:
Здравствуйте, nikov, Вы писали:

N>
N>расстояние от вершины до центра основания = srqt(3)/2
N>расстояние от вершины до проекции центра основания на плоскость = 3/4
N>расстояние между центрами оснований = srqt(3)/2
Разве из этого не следует (или наоборот), конусы касаются по прямой проходящей через вершину и точку пересечения "горизонтальный диаметров оснований"? Из чего последняя и является максимально удаленной от плоскости на sqrt(3)/4  :xz: 
N>расстояние между проекциями центров оснований = srqt(3)/2
N>расстояние от вершины до середины отрезка, соединяющего проекции центров оснований = sqrt(6)/4
N>расстояние от вершины до середины отрезка, соединяющего центры оснований = 3/4
N>косинус угла между плоскостью и отрезком, по которому касаются конусы = sqrt(6)/3
N>синус того же угла = sqrt(3)/3
N>расстояние от плоскости до дальнего конца отрезка, по которому касаются конусы = sqrt(3)/3
N>
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
tg (pi/3) / 3
От: dimgel Россия https://github.com/dimgel
Дата: 11.03.09 19:33
Оценка: 3 (1)
Здравствуйте, Iso, Вы писали:

Сабж. ~0.577. Если неверно, проверю все выкладки в четвёртый раз (первые два получалась фигня, сейчас вроде бы похоже на правду).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Код возврата и геометрия :)
От: Beam Россия  
Дата: 11.03.09 19:48
Оценка:
Здравствуйте, Iso, Вы писали:

Iso>Два одинаковых конуса с равносторонними треугольниками со стороной 1 в осевых сечениях лежат на плоскости (т.е. в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними). При этом конусы касаются друг друга так, что их вершины совпадают. Надо найти расстояние от плоскости до самой далёкой точки касания одного конуса другим.


Iso>Пожалуйста, не пишите здесь решение, чтобы не лишать других удовольствия справиться самостоятельно.


У меня тоже получилось sqrt(3) / 4

Почему-то это не является правильным ответом, хотя выше говорилось, что решение приблизительно равно 0.43...
sqrt(3) / 4 = 0.4330127018922193
... << RSDN@Home 1.2.0 alpha 4 rev. 1136>>
Best regards, Буравчик
Re[2]: Код возврата и геометрия :)
От: Beam Россия  
Дата: 11.03.09 19:50
Оценка:
Здравствуйте, Beam, Вы писали:

B>У меня тоже получилось sqrt(3) / 4


B>Почему-то это не является правильным ответом, хотя выше говорилось, что решение приблизительно равно 0.43...

B>sqrt(3) / 4 = 0.4330127018922193

Ой! Автор задачи про 0,43 ничего такого не говорил... Сорри
... << RSDN@Home 1.2.0 alpha 4 rev. 1136>>
Best regards, Буравчик
Re: Код возврата и геометрия :)
От: Beam Россия  
Дата: 11.03.09 20:50
Оценка:
Здравствуйте, Iso, Вы писали:

Iso>Два одинаковых конуса с равносторонними треугольниками со стороной 1 в осевых сечениях лежат на плоскости (т.е. в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними). При этом конусы касаются друг друга так, что их вершины совпадают. Надо найти расстояние от плоскости до самой далёкой точки касания одного конуса другим.


sqrt(1/5). Да?
... << RSDN@Home 1.2.0 alpha 4 rev. 1136>>
Best regards, Буравчик
Re[3]: 1/2
От: Erop Россия  
Дата: 11.03.09 21:03
Оценка:
Здравствуйте, Iso, Вы писали:

SC>>1/2

Iso>Тоже хороший ответ.
Iso>Я знаю два разных неправильных способа его получения

А обещал, что по ответу можешь указать ошибку...

Вот у меня ответ 0,42. И какая ошибка?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: tg (pi/3) / 3 --- решение
От: dimgel Россия https://github.com/dimgel
Дата: 11.03.09 21:59
Оценка: 15 (1) +1
D>Сабж. ~0.577. Если неверно, проверю все выкладки в четвёртый раз (первые два получалась фигня, сейчас вроде бы похоже на правду).

Ну раз выше уже алгоритмы решений пошли, то и я отмечусь: http://dimgel.ru/rsdn/etude.png (вид сбоку и вид сверху). Касательная на втором рисунке — проекция вертикальной плоскости, разделяющей два конуса.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Код возврата и геометрия :)
От: volk  
Дата: 11.03.09 22:30
Оценка: 14 (2)
Здравствуйте, nikov, Вы писали:

N>sqrt(3)/3


Благодаря тому, что конусы особенные -- построены на равносторонних треугольниках -- тот же расчет можно сделать проще, без записей.

Легко заметить, что высоты конусов (обе длиной sin60) составляют равносторонний треугольник. Его третья сторона соединяет центры конусов и поднята над опорной плоскостью на 0.5sin60.

Медиана этого треугольника (та из медиан, которая разбивает третью сторону пополам) лежит в отрезке касания конусов. Ее длина sin60^2.

То есть медиана длиной sin60^2 возвышается над плоскостью на 0.5sin60.
Значит, отрезок касания длиной 1, который ее включает, "поднимется" над плоскостью на высоту 0.5sin60 / sin60^2 = 0.5 / sin60 = 1/sqrt3.
Тот, кто желает, но не делает, распространяет чуму.
Re[3]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 06:34
Оценка:
А>пардон,
А>sqrt(3)/4
Это обычно второй или третий неправильный ответ, который получают
Но Вы на верном пути, удачи!
Re[2]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 06:37
Оценка:
B>sqrt(1/5). Да?
Увы.

Напишите, пожалуйста, как решали.
Уже второй раз вижу такую версию ответа, поэтому интересно разобраться, где ошибка
(первый раз показалось, что просто арифметический обсчёт)

Заранее спасибо!
Re[4]: 1/2
От: Iso  
Дата: 12.03.09 07:09
Оценка:
Здравствуйте, Erop

SC>>>1/2

Iso>>Тоже хороший ответ.
Iso>>Я знаю два разных неправильных способа его получения
E>А обещал, что по ответу можешь указать ошибку...
Да, есть такой косяк, что 0.5 неоднозначно указывает на ошибку.
Но если знать, сколько времени человек решал задачу, то можно весьма точно указать
Потому что одна ошибка получается на первых минутах решения, а другая — минут через 10-15.

E>Вот у меня ответ 0,42. И какая ошибка?

Sqrt(3)/4?
Это весьма типичный ответ.
И ошибку можно характеризовать как "неверный чертёж"
В том смысле, что рисуется не очень корректная картинка, которая навязывает неправильные алгебраические действия.
Re[3]: Код возврата и геометрия :)
От: Spiceman  
Дата: 12.03.09 08:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>>0,25


А>пардон,

А>sqrt(3)/4

Получил такой же ответ. Подвоха только не нашел. Задача показалась очень простой. Наверное, ошибся.
0.5 * sin(pi/3) = sqrt(3)/4
Re[4]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 09:11
Оценка:
S>Получил такой же ответ. Подвоха только не нашел. Задача показалась очень простой. Наверное, ошибся.
S>0.5 * sin(pi/3) = sqrt(3)/4

В этом и прелесть задачки, что она кажется простой
Более того, она простая, только обманки раскиданы вокруг решения, поэтому получаются неверные ответы (как и в Вашем случае).

Так и хочется сказать про задачку "сейчас таких не делают"... увы, это правда.
А было время, когда такая задача считалась нормальной вступительной в ВУЗ...
Re[5]: Код возврата и геометрия :)
От: Spiceman  
Дата: 12.03.09 09:28
Оценка: 1 (1)
Здравствуйте, Iso, Вы писали:

S>>Получил такой же ответ. Подвоха только не нашел. Задача показалась очень простой. Наверное, ошибся.

S>>0.5 * sin(pi/3) = sqrt(3)/4

Iso>В этом и прелесть задачки, что она кажется простой

Iso>Более того, она простая, только обманки раскиданы вокруг решения, поэтому получаются неверные ответы (как и в Вашем случае).

Iso>Так и хочется сказать про задачку "сейчас таких не делают"... увы, это правда.

Iso>А было время, когда такая задача считалась нормальной вступительной в ВУЗ...

Да. Я осознал правильное решение. Только осознал своим сопособом. Представил, что конусы развернуты вершинами в противоположные стороны. Тогда они касаются основанием в самой нижней точке. Если их начинать поворачивать вершинами друг к другу, то точка касания начнет подниматься. Решение sqrt(3)/4 получится в момент, когда конусы лежат параллельно (их высоты параллельны). Поворачивая их дальше, получаем еще большую высоту. и Максимум получим, когда вершины сомкнуться.

При поступлении в ВУЗ все таки голова лучше работает, чем через N лет после его окончания. Я уже к 5-му курсу не решил бы и половины вступительных задач.
Re[3]: Код возврата и геометрия :)
От: Beam Россия  
Дата: 12.03.09 09:33
Оценка: 1 (1)
Здравствуйте, Iso, Вы писали:

B>>sqrt(1/5). Да?

Iso>Увы.

Iso>Напишите, пожалуйста, как решали.

Iso>Уже второй раз вижу такую версию ответа, поэтому интересно разобраться, где ошибка
Iso>(первый раз показалось, что просто арифметический обсчёт)

Iso>Заранее спасибо!


1. По условию, вершины обоих конусов лежат на плоскости. Представим немного другую картину — вершина находится на расстоянии 1/2 от плоскости. В этом случае оси конусов будут параллельны плоскости.

2. Обозначим вершину конусов как B, точку соприкосновения оснований конусов как A. Опустим из точки А перпендикуляр на плоскость. Получим точку C на плоскости. У нас получился прямоугольный треугольник ABC с прямым углом в точке A. AB = 1, AC = 1/2. Откуда BC = sqrt(5) / 2

3. Теперь вернем вершину на место — на плоскость — "повернем" конусы При этом треугольник ABC ляжет на плоскость своей гипотенузой BC. Опустим из точки A высоту AD на гипотенузу BC. AD — это и есть искомая величина.
Т.к. ACD и ADB — прямоугольные треугольник, составляем уравнения:
CD^2 + AD^2 = AC^2 = 1/4
BD^2 + AD^2 = AB^2 = 1
BD + CD = CB = sqrt(5) / 2

Из первых двух: BD^2 — CD^2 = (BD-CD)(BD+CD) = 3/4
Далее находим (BD-CD), BD, а затем и AD = sqrt(5) / 2

Мне тоже интересно, где ошибка...
Best regards, Буравчик
Re[6]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 09:37
Оценка:
S>Да. Я осознал правильное решение. Только осознал своим сопособом. Представил, что конусы развернуты вершинами в противоположные стороны. Тогда они касаются основанием в самой нижней точке. Если их начинать поворачивать вершинами друг к другу, то точка касания начнет подниматься.
Спасибо, что так подробно записали. Я иногда работаю со школьниками, поэтому мне важны различные взгляды на одинаковые вещи Чтобы их лучше понимать.

S>При поступлении в ВУЗ все таки голова лучше работает, чем через N лет после его окончания. Я уже к 5-му курсу не решил бы и половины вступительных задач.

Это верно, если Вы говорите о тех задачах, что пришлось решать "тогда давно". А нынешние вступительные стали совсем простыми. Иногда не понятно, как замотивировать ребёнка учиться, если школьные выпускные и ВУЗовские вступительные варианты больше похоже на отбор из подготовительной группы детского сада в первый класс
Re[4]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 09:42
Оценка:
B>Далее находим (BD-CD), BD, а затем и AD = sqrt(5) / 2
B>Мне тоже интересно, где ошибка...

Спасибо большое, что так подробно всё записали.
Ошибка у Вас в чертеже, если хотите, то укажу точнее.
Но полагаю, что гораздо интереснее найти её без чьих-то помех
Удачи!
Re[5]: Код возврата и геометрия :)
От: Beam Россия  
Дата: 12.03.09 09:46
Оценка:
Здравствуйте, Iso, Вы писали:

Iso>Ошибка у Вас в чертеже, если хотите, то укажу точнее.


Хочу...
Best regards, Буравчик
Re[6]: Код возврата и геометрия :)
От: dimgel Россия https://github.com/dimgel
Дата: 12.03.09 10:08
Оценка:
Здравствуйте, Spiceman, Вы писали:

S>Представил, что конусы развернуты вершинами в противоположные стороны. Тогда они касаются основанием в самой нижней точке. Если их начинать поворачивать вершинами друг к другу, то точка касания начнет подниматься. Решение sqrt(3)/4 получится в момент, когда конусы лежат параллельно (их высоты параллельны). Поворачивая их дальше, получаем еще большую высоту. и Максимум получим, когда вершины сомкнуться.


Во! Я тоже два пятака на столе крутил, чтобы понять неверность гипотезы о срединной точке касания.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 10:45
Оценка:
Iso>>Ошибка у Вас в чертеже, если хотите, то укажу точнее.
B>Хочу...
Хорошо.
Давайте посмотрим на третий шаг:
"3. Теперь вернем вершину на место — на плоскость — "повернем" конусы При этом треугольник ABC ляжет на плоскость своей гипотенузой BC."

Если честно нарисовать, то часть конуса уйдёт "под" плоскость (Вы же повернули относительно точки C?).
Если же повернуть относительно точки с основания конуса, то точка C оторвётся от плоскости.
В обоих случаях дальнейшие вычисления имеют не очень много смысла.

Успехов в поиске верного ответа!
Re: Код возврата и геометрия :)
От: cvetkov  
Дата: 12.03.09 12:13
Оценка:
ну и какой правильный ответ
Re: Код возврата и геометрия :)
От: cvetkov  
Дата: 12.03.09 12:33
Оценка:
а когда будет правильный ответ
Re[7]: Код возврата и геометрия :)
От: Аноним  
Дата: 12.03.09 12:39
Оценка:
А у меня получилось (2*sqrt(3)+3)/8
Re[2]: Код возврата и геометрия :)
От: Spiceman  
Дата: 12.03.09 14:18
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>а когда будет правильный ответ


Правильный ответ уже дали, например, здесь
Автор: nikov
Дата: 11.03.09
и здесь
Автор: volk
Дата: 12.03.09
Re[8]: Код возврата и геометрия :)
От: Iso  
Дата: 12.03.09 14:51
Оценка:
А>А у меня получилось (2*sqrt(3)+3)/8
Да, знакомая картинка
Это, скорее всего, ошибка в понимании чертежа на последнем этапе.
Вы близки к верному решению.
Re[5]: 1/2
От: Erop Россия  
Дата: 12.03.09 21:34
Оценка:
Здравствуйте, Iso, Вы писали:

E>>Вот у меня ответ 0,42. И какая ошибка?

Iso>Sqrt(3)/4?
Iso>Это весьма типичный ответ.
Это было бы 0,43, ну 0,44, на крайняк, если совсем неточно прикинуть
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: 1/2
От: Iso  
Дата: 13.03.09 07:10
Оценка:
E>>>Вот у меня ответ 0,42. И какая ошибка?
Iso>>Sqrt(3)/4?
Iso>>Это весьма типичный ответ.
E>Это было бы 0,43, ну 0,44, на крайняк, если совсем неточно прикинуть
Ух ты, и правда.
Тогда делитесь своим решением — буду знать, как 0.42 получить!
Заранее спасибо.
Re: sin(Pi/3)
От: lost_guadelenn  
Дата: 13.03.09 08:36
Оценка:
sin(Pi/3)
Неожиданный вариант.
Re[2]: sin(Pi/3)
От: Iso  
Дата: 13.03.09 10:09
Оценка:
_>sin(Pi/3)
_>Неожиданный вариант.
Вполне типичный. Обычно это означает неправильный чертёж.
Это начало пути от одного неправильного ответа к другому, пока не будет достигнут правильный.
В теме выше было уже подробно записано два решения, но особенно интересно решить самому, нарвавшись на все ошибки Или увернувшись от них. Удачи!
Re[3]: sin(Pi/3)
От: lost_guadelenn  
Дата: 13.03.09 10:40
Оценка:
Здравствуйте, Iso, Вы писали:

_>>sin(Pi/3)

_>>Неожиданный вариант.
Iso>Вполне типичный. Обычно это означает неправильный чертёж.
Iso>Это начало пути от одного неправильного ответа к другому, пока не будет достигнут правильный.
Iso>В теме выше было уже подробно записано два решения, но особенно интересно решить самому, нарвавшись на все ошибки Или увернувшись от них. Удачи!
Я имел ввиду случай, когда конусы совпадают.
Правильный ответ видел выше в теме и с ним согласен. -)
Re[4]: sin(Pi/3)
От: Iso  
Дата: 19.03.09 08:05
Оценка:
_>Я имел ввиду случай, когда конусы совпадают.
Да, это явная ошибка при формулировании условия

Лучше было мне написать яснее, как касаются конусы, чтобы не порождать эту путаницу.
Вышел хороший урок на будущее по подготовке текстов
Re: Найдите ошибку в рассуждениях
От: Garrett Россия  
Дата: 19.03.09 09:37
Оценка:
Помнится, в школе такие хитрые стереометрические задачи? которые еще хрен представишь, решали через векторы

Введем базис X — линия касания первого конуса с плоскостью, Y — линия каcания второго конуса, Z — перпендикулярно плоскости. Центр координат — в вершине конусов.
Вектор из вершины в центр основания первого конуса O1 длиной sqr(3)/2 как высота конуса.
выразим через базис. O1 лежит в плоскости XZ, и является катетом прямоугльного треугольника вершина-центр основания-точка касания конуса и плоскости. Его высота sqr(3)/4, высота делит гипотенузу на отрезки 3/4 и 1/4. O1 = 3/4*X + sqr(3)/4 * Z

Вектор, по которому касаются конусы — L. вектор из центра первого конуса в точку касания оснований R1. L = O1 + R1. z-коэффициент в разложении L по базису — L_z и будет искомой величиной.

вектор R1 из соображений симметрии перпендикулярен плоскости XZ, поэтому его z-коэффициент R1_z = 0.
получаем, что L_z = O1_z = sqr(3)/4.

Где ошибка?
в борьбе со здравым смыслом победа будет за нами!
Re[2]: Найдите ошибку в рассуждениях
От: nikov США http://www.linkedin.com/in/nikov
Дата: 19.03.09 10:31
Оценка: 1 (1) +1
Здравствуйте, Garrett, Вы писали:

G>вектор R1 из соображений симметрии перпендикулярен плоскости XZ


Каких таких соображений?
Здесь и кроется ошибка.
Re: Код возврата и геометрия :)
От: vadimcher  
Дата: 19.03.09 23:13
Оценка: 12 (1)
Здравствуйте, Iso, Вы писали:

Iso>Идеальная программа всегда имеет код возврата OK, потому что всегда работает правильно (при этом она, к сожалению, почти не встречается).

Iso>Хорошая программа имеет код возврата OK, если справилась с задачей, а ERR, если не справилась.

Iso>А желаемый компромис такой: если справилась, то OK, а иначе — подробная диагностика: почему не вышло, на каком этапе пошли косяки и так далее. Причём, хочется это всё получить одним числом, как обычно


Iso>Что характерно, такое бывает не только в программировании, но и в жизни. Следующая задачка по геометрии прикольна тем, что разные люди дают разные ответы И настаивают на них. А самое смешное, что по ответу можно весьма точно указать на ошибку. Поэтому данная задачка является образцом и примером "эталонной изящной геометрической задачки"


Iso>Итак, сама задача:


Iso>Два одинаковых конуса с равносторонними треугольниками со стороной 1 в осевых сечениях лежат на плоскости (т.е. в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними). При этом конусы касаются друг друга так, что их вершины совпадают. Надо найти расстояние от плоскости до самой далёкой точки касания одного конуса другим.


Iso>Пожалуйста, не пишите здесь решение, чтобы не лишать других удовольствия справиться самостоятельно.


Да уж, задачка с кучей подводных камней. Сначала кажется, что точка касания "в силу симметрии" на расстоянии 1/2, затем хочется как-то сопоставить точку касания конусов или ее проекцию на плоскость, а также точки касания конусов с плоскостью и их центры оснований между собой -- тоже ни к чему хорошему не приводит.

Возникает простая картинка: приподнимем оба конуса за вершину над плоскостью так, чтобы их оси оказались параллельны плоскости. Теперь действительно в силу симметрии расстояние от точки касания до плоскости равно одной второй. Начнем теперь изменять угол плоскости так, чтобы конусы по-прежнему касались плоскости своими основаниями, а их общая вершина становилась все ближе к плоскости. Т.е. вместо того, чтобы класть вершины конусов на плоскость, мы оставляем их в зафиксированном положении и "поднимаем" плоскость с одной стороны. Сконцентрируемся на трех точках. Одна -- интересующая нас точка касания конусов M. Две другие -- точки A и B касания оснований конусов и плоскости. Изначально точки A и B -- проекции центров оснований конусов на плоскость, так как мы установили плоскость параллельно осям конусов. Сами основания находятся под каким-то углом друг к другу и перпендикулярны плоскости. Т.е. проекция точки M на плоскость и точки A и B образуют треугольник на плоскости. Поворот плоскости мы осуществляем вокруг прямой AB, т.к. нам надо, чтобы конусы продолжали касаться плоскости. Т.е. мы как бы поворачиваем треугольник ABM. При таком повороте, проекция точки M на плоскость сначала приблизится к отрезку AB, затем пересечет его и уедет с обратной стороны. В тот момент когда проекция точки M падает на AB, расстояние от M до плоскости наибольшее. Т.е. что происходит с расстоянием. Изначально 1/2, затем увеличивается до какого-то значения, которое можно, в принципе посчитать, оно равно высоте треугольника 1/sqrt(2), 1/sqrt(2), sqrt(3)/2, т.е. равно sqrt(5)/4, а затем обратно уменьшается. Так? Нет, не так. Оказывается, что при повороте плоскости точки касания меняют расстояние! Т.е. это уже не точки A и B. Проще всего это понять, если представить только два сцепленных основания (такие "очки" с погнутой душкой нулевой длины). Изначально душка на расстоянии 1/2 от плоскости. Теперь, когда мы изменяем угол плоскости, это тоже самое, что "покатить" очки по плоскости, при этом обе точки касания изменятся, они разъедутся.

Можно было бы в начальном положении накрыть конусы другой плоскостью с противоположной стороны так, что изначально обе параллельны осям конусов (и параллельны друг другу). Теперь наклоняем обе плоскости одновременно к вершине. В итоге получится симметричная картинка. Симметричная-то симметричная, но если соединить точки касания одного основания с двумя плоскостями, то такой отрезок не будет диаметром (как раз из-за того эффекта "катания очков", описанного выше, т.к. изначально это диаметр, а при изменении угла плоскостей, точки уезжают, причем симметрично).

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

Вот так это выглядит (на правом основании показаны точки касания основания и двух плоскостей, отрезок между ними и центр основания):

А вот зайца кому, зайца-выбегайца?!
Re: Код возврата и геометрия :)
От: zubr Россия  
Дата: 20.03.09 17:05
Оценка: 1 (1)
Здравствуйте, Iso, Вы писали:

Iso>Два одинаковых конуса с равносторонними треугольниками со стороной 1 в осевых сечениях лежат на плоскости (т.е. в плоскости находится вершина каждого конуса, ровно одна точка с окружности и отрезок между ними). При этом конусы касаются друг друга так, что их вершины совпадают. Надо найти расстояние от плоскости до самой далёкой точки касания одного конуса другим.


Без вашего рисунка они могут лежать на плоскости с разных сторон, то тогда 0.
Re[2]: Код возврата и геометрия :)
От: Iso  
Дата: 21.03.09 06:01
Оценка:
Z>Без вашего рисунка они могут лежать на плоскости с разных сторон, то тогда 0.
В самом деле. Спасибо!
В следующий раз буду тщательнее проверять условие на однозначность его понимания.
Re[2]: Код возврата и геометрия :)
От: Iso  
Дата: 22.03.09 11:17
Оценка: 5 (1)
V>Да уж, задачка с кучей подводных камней. Сначала кажется, что точка касания "в силу симметрии" на расстоянии 1/2, затем хочется как-то сопоставить точку касания конусов или ее проекцию на плоскость, а также точки касания конусов с плоскостью и их центры оснований между собой -- тоже ни к чему хорошему не приводит.
[skipped...]

Спасибо за такой детальный разбор!

Могу предложить ещё одну версию, рассматривающую более подробно некоторые типичные ошибки.
Re[7]: Код возврата и геометрия :)
От: serge_levin Россия  
Дата: 24.03.09 09:54
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Во! Я тоже два пятака на столе крутил, чтобы понять неверность гипотезы о срединной точке касания.


У меня были не пятаки, а копейки . Поэтому в процессе их верчения я пришёл к неверному ответу 3*sqrt(3)/8
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.