crypto Начал уже писать, что легко и просто, но подумал о том, что в отсутствии системы координат мы можем произвольно повернуть график... то есть преобразование получится не только сдвиг, но и поворот... Короче, если беря произвольную систему координат для начала, мы "угадываем" параллельно оригинальным осям, то легко и просто восстанавливаем все, строя полином 2-го порядка по 3-м точкам и пересчитывая потом систему координат на первоначальные единичный отрезок и начало. А вот если не угадываем, так навскидку и не скажешь. Но нутром чую, что таки можно По "кривизне". Взять произвольную систему координат, построить к оставшемуся куску графика касательные (кажется, 2 шт достаточно), находим правильную систему координат, а потом восстанавливаем весь график. Но решать лень. Во, пока сочинял способ решения, flankerx уже сказал
crypto Можно наверное так попробовать: принимаем произвольную систему координат, по трем любым точкам на участке находим коэффициенты в ax^2+bx+c. Рисуем график целиком, потом кладем начало координат в экстремум. Для нахождения единичного отрезка сечем график прямой y=x. P.S. Когда писал, предыдущего сообщения не было Да, угол нужен, без касательной не получается обойтись..
Чисто геометрический способ. Пусть дана дуга параболы AB. Строим хорду AB. Берём на дуге точку C. Через неё проводим прямую, параллельную хорде AB, в пересечении с дугой параболы получаем точку D. Пусть середина AB есть K, середина CD есть L. Пусть точка пересечения KL с дугой параболы есть M. Строим хорду CB. Пусть её середина есть P. Через P проводим прямую, параллельную KL. Пусть она пересекает параболу в точке Q. Из точки M опускаем перпендикуляр на PQ, получаем точку T. Берём на PQ точку R так, чтобы равнялись вектора TQ и QR. Через точку M проводим прямую, параллельную AB, а через точку R - прямую, параллельную CB. Эти прямые пересекутя в точке F. Через точку F проводим прямую, параллельную PQ - получаем ось ординат. Пусть E - середина FM. Из точки E опускаем перпендикуляр на ось ординат - получаем точку O и ось абсцисс. На оси абсцисс берём точку S так, чтобы равнялись вектора OE и ES. Тогда MS || Oy. Берём на SM точку H так, чтобы SH = 2 OS, и H была выше оси x. Через H проводим прямую, параллельную AB. Она пересечёт ось Ox в точке J. Так вот, SJ = 1.
JAPH Красивое решение. Если честно, пытался все это изобразить, но получается плохо, не могу понять, на чем основаны эти красивые построения. К сожалению, парабола при уже x > 1 очень слабо выпукла, поэтому нарисовать и разобраться пока не удается :-( ЗЫ У задачи есть продолжение, но я не совсем уверен, что для него решение будет геометрическим.
Wasm forum = E9 8A 29 C8 99 FD D8 09 29 A8 Чему равно F1 83 F1 B1 F1 80 11 FD 21 B1 51 F1 FD 11 6D 5C
crypto Продолжение - в смысле, восстановить остальные точки параболы? На прямой MS берём точку V так, чтобы MV = MO и точка V была ниже оси абсцисс. Через V проводим прямую d, параллельную оси абсцисс. Она пересечёт ось ординат в точке G. На оси ординат строим точку F' так, чтобы были равны вектора OF' и GO. Восстанавливаем точки параболы так: берём на положительной полуоси ординат произвольную точку N, через неё проводим прямую t, параллельную оси абсцисс. Проводим окружность с центром в точке F' и радиусом GN. В пересечении с t эта окружность даст две точки параболы.
JAPH Продолжение в смысле для функции 2^x. А в твоем решении я пока не очень разобрался. Может скажешь на словах смысл сих построений?
crypto Да, для 2^x геометрически не получится.. У неё же нет геометрического определения, в отличие от параболы.. Построение можно разбить на три этапа. Сначала ищется направление оси параболы. Пользуемся тем, что диаметры параболы ей параллельны. Поэтому достаточно построить один диаметр. Затем ищется система координат. Начертим параболу, проведём касательную, опустим из точки касания перпендикуляр на ось абсцисс и заметим, что касательная делит отрезок на оси абсцисс пополам, а на оси ординат отсекает отрезок, по длине равный ординате точки касания. Поэтому берутся две точки на параболе, берётся приращение ординаты dy, проводятся касательные, на оси ординат ими высекается отрезок длины dy. Затем находится единичный отрезок. Если провести касательную в точке с абсциссой x, тангенс угла наклона будет 2x. Поэтому из вертикального отрезка длины 2x касательная сделает горизонтальный отрезок длины 1.
Эта, а может поближе к теме раздела задачки все же подкинем? Мот кому потом решения пригодятся К примеру такого типа для RSA: 1) дано PQ и D, известно что D < PQ^(1/4) / 3 - найти P и Q 2) дано PQ, известно что numBitsOf(abs(P-Q)) <= numBitsOf(P)/2 и numBitsOf(P) == numBitsOf(Q) - найти P и Q PQ и D предоставляются в виде HEX чисел. Причем можно постить достаточно большие числа, чтоб не было соблазна тупо факторизовать. Решения же к этим задачам отрабатывают несравнимо быстрее факторизации. Стоит ли постить такого рода задачи?