Горячая линия по технологиям с Кристофером

Этот выпуск начнём с завершения темы, поднятой в первых материалах серии "Трансформация Байнета-2008", по поводу того, что некоторые купленные телефоны, хоть и имеют GPRS в спецификации, оснащаются дата-кабелями и ПО, но не подходят для использования в качестве внешнего модема. А читатели не могут их вернуть обратно продавцам. Достаточно интересная полемика получилась в рамках последующего обсуждения. По существу, имея чек, товар можно вернуть в течение двух недель после покупки. Чуть что - нужно требовать "Книгу жалоб и предложений", потому как некоторые продавцы путают интеллигентность со слабостью и, кстати, не только они. С другой стороны, лучше изначально договориться с продавцом, рассказать о целях вашей покупки и предусмотреть возможность возврата.

Теперь перейдём к вашим вопросам...


Интересно, какие языки программирования используются на суперкомпьютерах?

Любая ЭВМ на аппаратном уровне понимает только машинный код, другими словами, код самого низкого уровня. Он подразумевает инструкции и команды, заданные в числовом виде. Языки программирования представляют код более высокого уровня, который более понятен уже человеку. Но чтобы его смогла адекватно воспринимать машина, потребуется дополнительный перевод "сверху-вниз", для чего используются специальные модули - компиляторы. Компьютеру, а он может быть и суперкомпьютером, на самом деле абсолютно всё равно, на каком языке через компилятор с ним "общается" человек. При этом хоть язык ассемблера по праву считается самым низкоуровневым, в иерархии он выше обычного машинного кода. К низкоуровневым также принято относить и С (не путать с С++).

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

 

Кстати, так до сих пор очень часто поступают на Западе. И за таким подходом большая историю. Достаточно вспомнить те же 70-е, когда любой мощный компьютер подходил под нынешнее определение "супер". Готовых шаблонных решений и автоматизированных средств разработки тогда не было, например, Джон Гэфни (John Gaffney) из Evans & Sutherland Computer Corporation, решая сложную задачу создания интерпретатора для большой базы трёхмерных графических данных для Нью-Йоркского порта, просто написал новый язык программирования, получивший название the Design System. Почему мы вспомнили именно о нём? Просто эта история очень хорошо знакома многим нашим читателям, потому как в создании the Design System участвовал в дальнейшем сооснователь Adobe Джон Уорнок, а все эти наработки после перекочевали в ныне известный PostScript.

Поэтому всё большей частью зависит от задачи, которую нужно решить суперкомпьютеру. Хотя, если мы говорим о чём-то экстра-сложном, например, о том же решении шахматных задач компьютером Deep Blue, то в большинстве случаев используется обычный С. Он очень удобен в создании оптимальных алгоритмов, не требующих больших ресурсов.


Задался целью самостоятельно создать себе охранную систему... Заинтересовали некоторые варианты, но в одних чего-то не хватает, а другие, наоборот, - дорогие. Что подскажете? Желательно, чтобы оповещение шло и по мобильному телефону...

Как я понимаю, вам нужно что-то не очень дорогое. В принципе, такие системы есть - и продаются как конструкторы, включающие определённый набор датчиков, системы видеозаписи и стандартного оповещения. Если вам не хватает каких-либо датчиков, то это не беда, потому как, если вы обратите внимание на схемы подключения, то увидите, что они (эти датчики) объединены в группы с параллельным соединением. То есть дополнительно можно подключать ещё. При выборе таких систем изначально составьте список оборудования, которое необходимо именно для вашего случая, подберите наиболее подходящий конструктор. Также обратите внимание на электрические характеристики самой схемы (напряжение и т.п.) и на её структурную организацию. Например, датчики могут срабатывать или на замыкание, или на размыкание. С учётом этих данных в Интернете находите подходящее дополнительное оборудование. Что касается мобильного телефона, некоторые современные конструкторы предусматривают вариант оповещения через него уже априори. Хотя, если хотите повозиться, можете просмотреть техническую литературу, потому как именно по этой теме уже выпущено несколько достаточно интересных русскоязычных книг. Точно имена авторов и названия вспомнить не смогу, хотя встречал эту литературу часто. Схемы там просты и работоспособны, чего нельзя сказать о некоторых статьях, имеющихся в Интернете.


Что такое кривые Безье, и кто такой этот Безье? Работал с Flash и узнал об этом термине... Он что, подразумевает специальное сглаживание линий, чтобы они не смотрелись угловато на фоне?

Француз Пьер Этьен Безье (1909-1999) в своё время работал над созданием CAD-системы UNISURF в компании Renault. Именно тогда он предложил весьма простое средство описания кривых, которое стало активно и широко использоваться другими дизайнерами в силу того, что предельно понятно. Соответственно, оно нашло распространение в большинстве современных конструкторских и дизайнерских систем, программ 2D- и 3D-моделирования/анимации.

Кривая Безье строится по четырём точкам, две из которых указываются явно и служат начальной и конечной (обе называются end points, также в русскоязычной терминологии они именуются "опорными" или "концевыми"), а две другие - направляющие (control point), они не лежат на самой кривой, но определяют её форму. То есть в любом графическом пакете, если вы возьмёте инструмент "кривая", укажете начальную и конечную точки, а потом в рамках пространства виртуально отрегулируете кривизну указателем мыши в двух точках, то получится, что вы работаете с кривыми Безье. Часто, если вы рисуете кривые с множеством опорных точек, они формируются в автоматическом режиме, хотя подразумевают вложенный алгоритм Безье.

К сглаживанию, которое подразумевается в заданном вопросе, Безье не имеет никакого отношения. Потому как имеются в виду совершенно другие алгоритмы, причём и изобретено их большое множество. Дело в том, что при низкокачественной пиксельной графике все элементы выглядят угловато (то, о чём вы пишете). Кстати, это в одно время заметили и при исследованиях восприятия текста с экрана монитора. Например, был озвучен тот факт, что при таком варианте чтение происходит на 30% медленнее, чем с бумаги. Поэтому стали искать возможности сглаживания. Такие алгоритмы объединены под общим названием AntiAliasing. По существу они подразумевают добавление градаций цвета в местах контурных неровностей.

Для линий и графических объектов в рамках того же Flash предусматриваются отдельные алгоритмы сглаживания, которые не выносятся на управление, хотя для текстовых элементов проявляются в отдельном классе штриховой модуляции continuous stroke modulation (CSM) и соответствующих методах, которые можно контролировать. Параметры управления учитывают множество различных факторов, таких как, например, размер объекта, световой картины ("тёмная", "светлая"), цвета передних и задних планов и так далее. В принципе, обо всём этом вы можете узнать в Help'e к программе, введя слова "antialiasing" или "setAdvancedAntialiasingTable". К "и так далее" я не добавил один существенный момент, о котором следует сказать отдельно.

Очень многие дизайнеры даже сейчас предпочитают работать на ЭЛТ (CRT) мониторах, поскольку для вывода на LCD необходимо делать отдельное сглаживание. В рамках Adobe Flash при установке параметров сглаживания тип монитора указывается специальной опцией. Впрочем, в современных моделях этих дисплеев чаще всего предусматривается и свой отдельный алгоритм, например, ClearType.

Кристофер,
christopher@tut.by

Версия для печатиВерсия для печати

Номер: 

34 за 2008 год

Рубрика: 

Компьютер и жизнь
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!