panker: Боюсь, что у вас весьма странное представление. В военном ВУЗе будет не "само-", а просто дисциплина. Если вам нравится ходить строем - добро пожаловать, вероятно, это как раз для вас.
Если вы хотите стать настоящим специалистом и станете им, вас будет интересовать самореализация, то есть относительно свободное, творческое решение задач. В военной среде творчество часто весьма ограничено и даже наказуемо. То же касается и оплаты труда: в военизированных организациях вы получаете разные формы халявы, но халявы предопределенной. В гражданском секторе вы получаете больше денег и можете распорядиться ими так, как вам хочется.
Но если вам нравится, чтобы все решали за вас - военизированные организации - как раз то, что вам нужно.
Ничему особенному вас там учить не будут, относительно того, чему учат в профильных гражданских ВУЗах (ну, кроме того, что распорядок там военный и т.п.) Гражданских специалистов что в армии, что в ФСБ - достаточно. Так что можете спокойно учиться где угодно, а вопрос с трудоустройством решить, когда получите специальность. За четыре года очень многое может поменяться, как в голове, так и в жизни.
Дмитрий Фондомакин: А что с чем вы сравниваете, чтобы увидеть эту погрешность?
Что касается нулевого экстента по одной из осей - мой метод вычислений это учитывает, потому что деления на dY или dX (которые могут обращаться в ноль) я нигде вам не предлагал, только наоборот - делить их на что-то. Если у вас на шаге вычисления масштабного коэффициента получился ноль по одной из осей, то он, как меньший, не используется, ведь использоваться по моему алгоритму должен больший, для обеих осей.
ayapergenov: Вы не писали о том, что положение центра градиента является принципиальным.
Ну и, как вы могли догадаться, но не догадались, изменив ключевое слово center на нечто иное, можно менять и положение.
Если у вас свежий browser, попробуйте заменить это
radial-gradient(ellipse at center, #2e5a89 0%,#16283e 100%);
на это
radial-gradient(ellipse at 15% 15%, #2e5a89 0%,#16283e 100%);
и посмотреть, что будет.
На ваш вопрос я полностью ответил.
Дмитрий Фондомакин: Для начала, вам нужно найти так называемый extent вашего объекта (или объектов, что потом, вероятно, тоже понадобится). Для этого, найдите максимальные значения для X и Y.
Далее, найдите протяженность области, покрываемой вашим объектом, по X и Y, для чего из Ymax вычтите Ymin, то же самое - для X (назовем это dX и dY).
Теперь вам нужно найти масштабный коэффициент для того, чтобы вписать ваш объект в окно. Для этого нужно поделить значение dX на ширину W, dY на высоту H окна (назовем получившееся sX, sY), а потом сравнить получившееся друг с другом. Та величина, которая окажется больше, и будет вашим коэффициентом.
Теперь, собственно, нормирование координат.
Сначала объекты нужно передвинуть к началу координат, для чего - вычесть из всех значений координаты X ваших объектов найденное значение Xmin. То же - для Y и Ymin.
Теперь - применить масштабный коэффициент, для чего каждое значение X и Y поделить на то число (sX или sY), которое оказалось больше после из вычисления.
Теперь ваши объекты вписаны по размеру в ваше окно.
Остается развернуть оси, потому что в проекции Меркатора ось смотрит на север и восток, а у вас на экране - на юг и восток. Так что с X мы более ничего не делаем, а для Y выполняем нехитрое преобразование: Yinv=-(Y-H), где Yinv - ваше новое значение Y по инвертированной оси, H - значение высоты вашего окна, Y - "оригинальное" значение Y, приведенное к началу координат и масштабу на прошлом этапе.
Если вас не будет устраивать, что ваши объекты вписаны в окно от края до края, используйте в вычислениях меньшее значение H и W, как-бы вписывая объекты в чуть меньшее окно, например - вместо 300х300 используйте 250х250. А потом, когда получите отмасштабированные и сдвинутые координаты для этого меньшего окна, прибавьте к ним по 25 (которое получается делением на 2 разницы между 300 и 250).
Вопрос полностью лишен смысла без уточнения, что вы собираетесь снимать.
Самой зеркалке вообще ничего не нужно - нужно может быть только вам самому. А уже в полном соответствии с этим можно делать выбор и обсуждать его. И может, в том числе, выяснится, что вам зеркалка-то и не подходит по каким-нибудь причинам. Скажем, вы захотите снимать самолеты в небе или птиц, а вам нужно еще уложиться в кило массы. И так далее.
Так что перепишите вопрос, тогда дождетесь чего-нибудь вразумительного, а не таких же общих рассуждений ни о чем.
Вести диалог с автором одного из ответов нужно, нажимая "комментировать" под его ответом, а не вводя текст в поле для ответа на вопрос. Если делать, как делаете вы, автор ответа не увидит вашу реплику вообще.
Для начала, попробовать подавать свои идеи на более чистом русском языке, выражать мысль связно и последовательно, потому что читать неграмотный поток сознания образованному человеку неприятно, что сразу создает негативное отношение ко всему, что вы могли бы предложить.
Если вы хотите стать настоящим специалистом и станете им, вас будет интересовать самореализация, то есть относительно свободное, творческое решение задач. В военной среде творчество часто весьма ограничено и даже наказуемо. То же касается и оплаты труда: в военизированных организациях вы получаете разные формы халявы, но халявы предопределенной. В гражданском секторе вы получаете больше денег и можете распорядиться ими так, как вам хочется.
Но если вам нравится, чтобы все решали за вас - военизированные организации - как раз то, что вам нужно.