Manifold Geometry // Многообразная Геометрия

Лучшие практики

Подписаться на эту рубрику по RSS

Делай так.

О качестве научных текстов

Введение

Основным «сигналом», который посылает ученый научному обществу, является статья. Сегодня публикационный «эфир» кишит такими сигналами на любой вкус. Все перемешано: и результаты мирового уровня, и квалификационные работы студентов, и откровенно слабые, небрежные тексты, оказавшиеся в научном информационном поле благодаря одной лишь форме, а не содержанию. Средняя статья несет в себе лишь крупицу нового знания, не совершая прорывов и не меняя основ. Массовая наука «берет числом», проникая научным методом в самые мелкие и сложно обусловленные тайники практической деятельности человека и фундаментальных законов природы.

В информационном потоке научных работ надо уметь ориентироваться. Просматривая еженедельно десятки публикаций, как определить, что данная конкретная статья является доброкачественной и на нее следует потратить время? Ведь оказалось, что при дефиците объективно нового содержания, существенную роль играет форма. Форма статьи отчасти маскирует нищету содержания, делает этот факт неочевидным. Пустой, но формально благополучный продукт научной деятельности, что интересно, вполне усваивается академическим организмом, не вызывая особых расстройств. Ужасно здесь то, негодная статья, будучи воспринятой всерьез, становится существенным фактором риска при проведении новых исследований. Это особенно актуально в области технических наук, где научные статьи применяют на практике. Публикация, неявно содержащая в себе некоторый комплекс умолчаний, будет «выведена на чистую воду» при попытке воспроизвести заявленный в ней результат. К сожалению, упущенное время это не возместит. Библейская задача отделения зерен от плевел поднимается в науке в полный рост.

«Работы, которые мало кто прочтет, уже и пишутся по-иному: они не выстраиваются так тщательно, не встраиваются в общую картину мира. Они пишутся не для читателя, а для числа; их производить всё легче, они “пекутся” всё быстрее, их становится всё больше.» [1]

В настоящей заметке рассмотрены некоторые причины деградации научных публикаций. Информированность о признаках «плохой» статьи поможет исследователю не совершать типовых ошибок при подготовке собственных работ. Следование же таким практикам, как приведенный в докладе принцип «Открытая Наука» (Open Science), способствует не только утверждению личной ученой честности, но и получению таких желаемых сегодня «дивидендов», как, например, цитирование.

Пороки

Гонка за показателем

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

«Автор может цитировать работу просто для того, чтобы показать, что он знаком с ключевой литературой по исследуемому вопросу; ссылки на авторитетные статьи могут служить дополнительным средством убеждения; в конце концов, оказались не так редки случаи, когда авторы цитировали работы только для того, чтобы польстить журналу или рецензенту.» [4]

Такой подход к цитированию по существу обесценивает ссылочный аппарат текста, делает его не более, чем «прицепом» библиографии, не отвечающим подлинно научным интересам.

Подавая новый сигнал научному обществу в виде публикации, ученый опирается на уже существующее знание. Новая работа вписывается в наличное знание подобно кусочку мозаики на обширном панно. Без грамотно сработанного ссылочного аппарата публикация имеет такой же вес и смысл, как эта частица мозаики безо всех остальных. Вред от такого подхода велик. Случайная ссылка не может играть роль вознаграждения («меня процитировали — значит признали»). Кроме того, «быстрая», непродуманная ссылка не дает «размотать» тему, то есть восстановить то смысловое поле, в которое помещена работа автора.

Главный приз в научной гонке — не результат и даже не признание. Увы, все чаще научный маховик работает на химеру научной эффективности, каковая представлена набором наукометрических показателей: количеством публикаций, цитируемостью и индексом Хирша. В зависимость от этих показателей поставлены должности, гранты и надбавки. Словом, хочешь жить — занимайся метриками, а наука продвинется в той степени, в какой метрика с ней коррелирует.

Ученый — это всегда индивидуальность, а не цифра. Если перед нами ряд из нескольких деятелей науки, с работами которых мы знакомимся продолжительное время, то для каждого в нашем сознании формируется своеобразный абстрактный портрет. Этот индивидуальный облик ученого есть сложное сочетание личного стиля, субъективно воспринимаемого вклада в науку и персональных качеств человека. Так, у каждого геометра найдется пара слов, чтобы описать Анри Пуанкаре, Феликса Клейна, Николая Лобачевского или Августа Мебиуса. Но когда таких ученых сотни, и они еще не успели стать классиками, то как навести в своем осознании порядок?

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

«If they know my work, they don’t need my C.V. ... If they need my C.V., they don’t know my work.» (слова Перельмана, цитируется по статье “Manifold Destiny” в журнале The New Yorker [5]).

Если с такими трудностями сталкивается широко известный (еще до доказательства гипотезы Пуанкаре) математик-тополог, то на что остается рассчитывать ученым калибра помельче, как не на формальный h-индекс?

«Возможно, при сегодняшнем рейтинговом зуде Г. Перельману уже не дали бы восемь лет спокойно заниматься гипотезой Пуанкаре, почти ничего не публикуя, и уволили бы за неэффективность.» [1]

Сама природа «хирша» такова, что без существенного количества публикаций, этот показатель не может достичь «уважаемых» значений. Очевидно, что для достижения успеха следует писать как можно больше. Когда-то К. Гаусс дал нелицеприятную оценку О. Коши, заявив, что тот готовит слишком частые, иногда небрежные публикации. Однако стратегия Коши, судя по всему, теперь становится нормой поведения профессиональных ученых, заинтересованных в том, чтобы стать «звездами первой величины» в научной «элите».

«Индекс Хирша более всего выгоден для «системных» середняков, без устали пишущих свои работы и обменивающихся ссылками с себе подобными. Для полного успеха им не обязательно признание всего мира — достаточно небольшой «мафии».» [1]

Осажденная крепость

Существующий modus operandi ученых, направленный на повышение наукометрических показателей, свидетельствует о наличии негативных тенденций в мировой науке. Но занимаясь вопросом «научной гонки», следует уделить особое внимание состоянию дел в родной стране. Является ли описанная гонка первоочередной проблемой нашего собственного научного уклада? Правда жизни такова, что «последние десятилетия российский сегмент мировой науки топчется (мягко говоря!) на месте...» [2]. Не в последнюю очередь это связано с присущим отечественной науке изоляционизмом.

«Мировая наука — единый живой организм, а изоляционизм есть полная или частичная закупорка кровеносных сосудов, соединяющих “нашу” часть организма с другими. Хорошо известно, к чему такая закупорка приводит: к гангрене и отмиранию. Если при разработке методов оценки ученых мы будем это учитывать, то у российской науки остается шанс выжить и воспрянуть духом.» [2]

Концепция изоляционизма исходит из посылки, что Россия находится на положении «осажденной крепости». Согласно изоляционистам, российским ученым не следует публиковать свои работы в международных журналах, поскольку это усиливает позиции соперничающих держав.

Вообще, вопрос о том, где публиковаться является краеугольным для отечественной науки, поскольку ответ на этот вопрос определяет конкурентную среду, в которой предстоит работать ученым. Если конкурентная среда внутри страны оказывается жесткой, а результат работы ученых позволяет обществу решать стоящие перед ним задачи, то изоляционизм может быть эффективен (черты изоляционизма прослеживаются в СССР с его мощнейшим научно-техническим потенциалом). Однако в странах со слабой экономикой изоляционизм ведет к пороку провинциализма.

«Россия — страна, вклад которой в мировую науку составляет 2-3 процента. При этом в России можно защитить диссертацию с чисто русскоязычным списком литературы во многих областях знания, разрабатываемых во всем мире. Это и есть провинциализм.» [1]

В близкой автору области САПР провинциализм отечественной науки виден невооруженным глазом. Общая деградация промышленности высокого передела уничтожает спрос на фундаментальные разработки в области автоматизации производства. Нет производства — нет автоматизации. Сохранить качество научных исследований в этой сугубо инженерной области можно лишь при условии тесного сотрудничества с индустрией, и здесь, увы, нет существенной разницы, идет ли речь об отечественных предприятиях или зарубежных.

«Оставляя в стороне идеологию, надо отметить, что реализация парадигмы научного изоляционизма, а попросту — закупорки, приводит к недостатку “питательных веществ”. Наука, составляющая 2-3 (даже через самые розовые очки — не больше 5) процентов мировой, не может развиваться автономно. Обособление ее от общего потока, отказ от экспертизы, осуществляемой рецензентами международных журналов и конференций — фактически выбрасывание за борт 95% современной научной продукции — неизбежно приведет к попранию научных критериев как таковых и окончательному превращению “суверенной” российской науки в вотчину демагогов, мошенников и графоманов.» [2]

Неверифицируемость

Воспроизводимость результата (верифицируемость) — важнейшее требование к научной публикации. Академическое сообщество должно быть уверено в точности и достоверности изложения автора, и до определенной степени такую уверенность обеспечивает практика рецензирования. Можно сказать, что процесс рецензирования подобен проведению мысленного эксперимента взамен натурных испытаний. К сожалению, практика рецензирования не дает гарантированной защиты от научных фальсификаций даже для рейтинговых журналов.

Например, сенсационной фальшивкой оказались результаты, опубликованные в журнале Science исследовательской группой из Южной Кореи и США в 2004-2005 годах [8]. Нашумевшая история касалась якобы прорывного открытия в области стволовых клеток, которые были, дескать, получены в полном соответствии с ДНК пациентов. К несчастью для авторов, возникли анонимные сигналы о возможной фальсификации, после чего была проведена проверка. Выяснилось, в частности, что изображения стволовых клеток, приводимые в статьях мошенников, являлись изображениями клеток оплодотворенных эмбрионов. Из-за внешнего сходства подлог оказался незамеченным рецензентами, и статья проникла в рейтинговый журнал Science.

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

В том же журнале Science за 2013 год приводится история одного исследования, характеризующая отношение некоторых ученых к первичным данным эксперимента и их интерпретации. Работа по изучению лекарственного препарата против инсульта включала, как это принято у биологов, опыты на мышах [13]. Научная статья, посвященная итогам исследования, описывала данные, полученные в результате применения нового препарата на животных. В процессе рецензирования публикации выяснилось странное обстоятельство: из десяти мышей, принимавших участие в опыте, были опубликованы данные лишь о семи. Впоследствии выяснилось, что три неучтенных грызуна были исключены из экспериментальных данных, поскольку в результате терапии они попросту погибли. Подобная практика обращения с экспериментальными данными не считается в науке мошенничеством. Это «всего лишь» следствие одного из бесчисленных способов возможной интерпретации полученных сведений. К несчастью, результаты, прошедшие фильтр подобных умолчаний, с трудом (если это вообще возможно) поддаются верификации. Не выполняется одно из ключевых требований научного метода, предполагающее возможность повторить заявленный результат.

Неверифицируемость — это бич научных статей. Положим, в случае экспериментальной физики или, например, биологии для подтверждения открытия требуется соответствующее научно-техническое оборудование, то есть лаборатория. Однако в области информационных технологий для верификации нужен, по большому счету, лишь компьютер, тогда как лабораторная среда (программное обеспечение) может быть предоставлено публикующимся коллективом. Увы, отсутствие непреодолимых технических барьеров еще не означает снятие других. Препятствовать верификации может коммерческий интерес, либо, опять-таки, соображения не самого высокого этического сорта, когда автор исследования «наводит тень на плетень» во избежание подлинно научного взгляда на достигнутые результаты, либо их отсутствие.

Лучшие практики

Правильные журналы

Люди научились ранжировать научные тексты, изобретя своеобразные аттракторы статей, несущих хоть какой-то смысл. Такими аттракторами являются журналы, заработавшие за всю историю своего существования некоторую репутацию и, конечно, дорожащие ей. Ученый, занятый в определенной области, не может не знать «главных» журналов по своей теме. Регулярное знакомство с новыми статьями формирует у исследователя интуитивно воспринимаемую планку, ниже которой «нельзя», ниже которой — мусор. Ясно, что журналы с более высоким импакт-фактором (примерной цитируемостью статей) публикуют, в среднем, более качественные статьи, чем журналы, на которые никто не ссылается. С другой стороны, рейтинговые журналы часто закрыты для широкой публики, что формирует порок, в некотором смысле противоположный провинциализму — элитарность.

Как отмечает А. Л. Фрадков [3], «у математиков зачастую считаются престижными... журналы, не отличающиеся высокой цитируемостью». Кроме того, «у компьютерщиков мерилом успеха являются не журнальные статьи, а приглашенные доклады на нескольких престижных конференциях». У филологов же «ценятся не журнальные статьи, а монографии и, уж конечно, не на английском языке». Принимая сказанное во внимание, следует заключить, что высокий импакт-фактор журнала не гарантирует обнаружения в нем идеальных статей. В зависимости от области исследований, ученый может предпочесть открытые журналы, а иногда (по ряду причин) и провинциальные сборники.

В журнале Nature за 2001-й год опубликовано исследование цитируемости статей по признаку их принадлежности открытым и закрытым журналам. Открытость означает в данном случае, что статья доступна онлайн в режиме свободного доступа. Анализ почти 120 тысяч докладов на конференциях в области информационных технологий (computer science) продемонстрировал любопытную картину. Оказалось, что существует корреляция между количеством цитирований и вероятностью того, что данная статья опубликована в открытом доступе. Например, если на статью, опубликованную в 1993-1994 годы, приходилось больше 120 ссылок, то вероятность обнаружить ее в открытом журнале оказывается около 70% [11]. С течением времени эта динамика становится все более выраженной. Таким образом, вероятность того, что статья открыта есть монотонно возрастающая функция от года ее публикации и количества цитирований (график, приведенный ниже, взят из [11]).

Список журналов открытого доступа с системой поиска доступен по ссылке [14]. Заметим здесь, что публикация в журналах с открытым доступом есть не более, чем способ снять финансовый барьер на пути широкого распространения научных результатов. Для практики подлинно научного метода этого недостаточно, поскольку остается нерешенным главный вопрос: верифицируемость результата. Об этом — ниже.

Концепция открытой науки

Сам термин «открытая наука» немного абсурден, поскольку открытость есть фундаментальное свойство научного метода как такового. Однако термин прижился и используется теперь всякий раз, когда требуется подчеркнуть, что речь идет о по-настоящему честной, доступной любому, «чистой» науке. Открытость предполагает, что адресат научной публикации имеет все необходимое для верификации результата ученого. В этом отношении открытость есть дополнение к практике рецензирования, поскольку рецензент получает не только результат, но и средства его достижения. Основными ингредиентами открытой науки являются следующие принципы [15]:

  1. Открытые данные (Open Data),
  2. Открытый исходный код (Open Source),
  3. Открытый доступ (Open Access),
  4. Открытые стандарты (Open Standards), регламентирующие «правила игры».

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

Практика открытой науки теперь используется повсеместно. Этот способ ведения исследовательской деятельности уже привел к созданию широко известных программных систем, вокруг которых формируется сообщество людей, разделяющих старые, но хорошо забытые принципы подлинно научного поиска. Часть этих систем неформально признается «открытыми стандартами» в той или иной области. В качестве примеров можно взять библиотеки ITK [7] и VTK [16]. Использование «открытых стандартов» в программной инженерии позволяет сформировать такую «экспериментальную среду», которая оказывается хорошо понятной, привычной и легко воспроизводимой другими членами научного сообщества.

«Consider a paper in computer science, an area in which the authors are familiar. A typical eight-page paper, or even an extended paper, can never describe the nuance behind complex algorithms. For example, an advanced algorithm may require many dozens of control parameters, not to mention internal data structures that can greatly affect performance and accuracy. In our experience we have found that actually reproducing such an algorithm may require years of effort, and in doing so we invariably fall back on the help of the original author who sheds light on “implementation details” which are frequently omitted in journal articles. The time demands to verify reproducibility are so large, that if we as authors were to reimplement algorithms for research purposes it is unlikely that we would find the time to develop our own line of research.» [15]

В информатике для решения проблемы верификации концепция открытой науки оказывается наиболее плодотворной. Но принцип открытой науки применим не только в информатике. Даже в случае экспериментальных наук, ученый может публиковать не только результат вольной интерпретации данных, но и сами «сырые» данные.

Ярким примером использования принципов открытой науки в математике стал проект Polymath Тимоти Гауэрса [12]. Теорема Хейлса-Джеветта (с точки зрения дилетанта, речь идет о многомерных «крестиках-ноликах») получила новое, простое доказательство благодаря распределенной работе множества умов. Уникальный проект Гауэрса дает пищу для размышления историкам и философам науки. Впервые в истории человечества математический результат мирового уровня был получен не закрытой группой ученых, а всем сообществом исследователей, пожелавших внести свой (часто незначительный) вклад в общее дело.

«Similar open-source techniques could be applied in fields such as theoretical physics and computer science, where the raw materials are informational and can be freely shared online. The application of open-source techniques to experimental work is more constrained, because control of experimental equipment is often difficult to share. But open sharing of experimental data does at least allow open data analysis. The widespread adoption of such open-source techniques will require significant cultural changes in science, as well as the development of new online tools.» [12]

Реализация принципов открытой науки тесно сопряжена с проблемой открытого программного обеспечения [6]. Алгоритмы, разрабатываемые учеными, несправедливо рассматриваются как побочный и вторичный продукт исследования. Однако именно наличие алгоритма делает результат работы воспроизводимым. Предоставление программного обеспечения вкупе с исходными данными позволяет читателю развернуть у себя виртуальную лабораторию и повторить эксперимент, то есть осуществить уже не мысленную, а объективную верификацию.

«Software is a cornerstone of science. Without software, twenty-first century science would be impossible. Without better software, science cannot progress.» [9]

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

«If you are still hesitant about releasing your code, then ask yourself this question: does it perform the algorithm you describe in your paper? If it does, your audience will accept it... If not, well, you should fix that anyway.» [10]

Выводы

Изложенное выше — азбучные истины для любого ученого, не растерявшего подлинно научный интерес к миру вокруг себя. Но сегодня, в век всеобщей коммерциализации и всепоглощающего строительства карьер, честная научная игра нередко становится неудобной и излишней. Научная деятельность приобретает оттенки ремесла, нуждающегося в строгой регламентации его своеобразного «техпроцесса». Однако, независимо от того, нравятся нам эти тенденции или нет, наука все еще выполняет свою функцию, находясь в авангарде развития общества и указывая ему новые пути движения. Поэтому ею стоит заниматься.

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

Совершаю ли я ошибки?

  1. Гонюсь ли за «показателем» или веду настоящую работу?
  2. Нет ли духа провинциализма в моих публикациях? Знаком ли я исследованиями зарубежных коллег? Правильно ли я подобрал литературу для ссылок?
  3. Верифицируем ли мой результат?

Следую ли я лучшим практикам?

  1. Грамотно ли подобран целевой журнал для моей публикации?
  2. Могу ли я опубликовать нечто большее, чем текст статьи, например, исходный код алгоритмов и исходные данные?

Хорошая научная статья — это месяцы, а иногда и годы работы. Имея в виду все нарастающую интенсивность научного творчества, остается открытым вопрос, насколько ученый может позволить себе этот не терпящий спешки, интенсивный труд. В качестве намека на ответ мы ограничимся цитатой из пьесы С. Алешина «Все остается людям»:

[Монолог Дронова]

«Только бы нам дней побольше... Бороться и создавать. Для того и живем. А иначе — зря родился, напрасно существовал и навсегда умер. Человек должен знать — после смерти он живет только тем, что сделал... А того света нет. Даже легендарного. Нечего там человеку делать. Не за что бороться. Это дурная, дезертирская легенда, ибо обещает безделие за терпение... Чепуха! Человек не должен терпеть. Он должен добиваться справедливости для всех, а значит, и для себя. Человеку надо сказать: «Те, кто говорят тебе: «Терпи, а на том свете ты получишь сполна», обманывают тебя. Ты умрешь и не притянешь их к ответу. Помни: все, что удалось тебе совершить на земле, — это вся твоя жизнь». И это единственно честный и смелый разговор с человеком. Человек тогда начинает думать. Мало сделал? Неужели только для этого и родился? Как живу? Не гоняюсь ли за символами? Не рву ли у других кусок изо рта, чтобы самому иметь два? Не обманываю ли себя и других, стараясь поменьше дать и побольше взять? Для чего? Зачем? Глупый я человек — зачем?! Неужели я не знаю, что туда с собой я ничего не возьму. Там — ничто. Все остается людям. Дурное и хорошее. И в этом оставшемся мое забвение или бессмертие…»
  1. [1] Чеботарев П.Ю. Наукометрия: как с ее помощью лечить, а не калечить? // Управление большими системами. 2013. № 44. C. 14–31.
  2. [2] Чеботарев П.Ю. Оценка ученых: пейзаж перед битвой // Управление большими системами. 2013. № 44. C. 506–537.
  3. [3] Фрадков А.Л. Блеск и нищета формальных критериев научной экспертизы // Управление большими системами. 2013. № 44. C. 346–360.
  4. [4] Жукова И.А. Индексы цитирования: взгляд социолога // Управление большими системами. 2013. № 44. C. 436–452.
  5. [5] Nasar S., Gruber D. Manifold destiny: A legendary problem and the battle over who solved it // The New Yorker. August 28, 2006 issue. URL: https://www.newyorker.com/magazine/2006/08/28/manifold-destiny (accessed 22 January 2018).
  6. [6] Open Source Initiative. (2009). Open source licenses. URL: http://www.opensource.org/licenses (accessed 18 January 2018).
  7. [7] McCormick M. [и др.]. ITK: enabling reproducible research and open science. // Frontiers in neuroinformatics. 2014. № February (8). C. 1–13.
  8. [8] Couzin J. Breakthrough of the year. Breakdown of the year: scientific fraud. // Science. 2006. № 5807 (314). C. 1853. URL: http://people.chem.ucsb.edu/laverman/leroy/Ethics/pdf/Science1853.pdf (accessed 23 January 2018).
  9. [9] Source Code Manifesto. URL: http://sciencecodemanifesto.org (accessed 23 January 2018).
  10. [10] Barnes N. Publish your computer code: It is good enough // Nature. 2010. № 7317 (467). C. 753. URL: http://www.nature.com/news/2010/101013/full/467753a.html (accessed 23 January 2018).
  11. [11] Lawrence S. Free online availability substantially increases a paper’s impact // Nature. 2001. № 6837 (411). C. 521–521.
  12. [12] Gowers T., Nielsen M. Massively collaborative mathematics // Nature. 2009. № 7266 (461). C. 879–881.
  13. [13] Couzin-Frankel J. When mice mislead // Science (New York, N.Y.). 2013. № 6161 (342). C. 925–923.
  14. [14] Directory of Open Access Journals. URL: https://doaj.org (accessed 28 January 2018).
  15. [15] Ibanez L., Schroeder W.J., Hanwell M.D. Practicing Open Science // Implementing Reproducible Research. 2014. C. 241.
  16. [16] Schroeder, W., Martin, K., Lorensen, B. 2006. Visualization Toolkit: An Object-Oriented Approach to 3D Graphics. Kitware, Colombia.