создание диаграмм с использованием фигур

Классы МПК:G06T11/20 вычерчивание из основных элементов, например линий, окружностей, графиков
Автор(ы):, ,
Патентообладатель(и):МАЙКРОСОФТ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
2005-06-29
публикация патента:

Изобретение относится к вычислительной технике, в частности к системам и способам воспроизведения диаграмм. Техническим результатом является обеспечение согласованности при воспроизведении и обработке диаграмм в различных приложениях, обеспечение унифицированного, высококачественного воспроизведения диаграмм. Способ воспроизведения диаграммы, связанной с документом, включает преобразование объекта-диаграммы в описание диаграммы на основе фигур, где упомянутый объект-диаграмма описывает данную диаграмму с использованием элементов диаграммы, а упомянутое описание диаграммы на основе фигур описывает данную диаграмму с использованием фигур; и сохранение объекта-диаграммы в упомянутом документе, чтобы сделать возможным доступ к исходным данным, содержащимся в диаграмме. Система включает объект-диаграмму, описывающий диаграмму с использованием элементов диаграммы; графический модуль, способный воспроизводить фигуры, модуль создания диаграмм, генерирующий описание диаграммы на основе фигур, основываясь на упомянутом объекте-диаграмме, где упомянутое описание диаграммы на основе фигур описывает данную диаграмму с использованием фигур, которые могут быть воспроизведены упомянутым графическим модулем. 4 н. и 21 з.п. ф-лы, 5 ил. создание диаграмм с использованием фигур, патент № 2405204

создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204

Формула изобретения

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

принимают объект-диаграмму, причем объект диаграмма определяет диаграмму с помощью элементов диаграммы и ссылаются на источник данных исходных данных, на которых основывается диаграмма, причем исходные данные включают в себя значения данных для диаграммы;

определяют тип диаграммы, представленной объект-диаграммой;

извлекают исходные данные из источника данных, на который ссылается объект-диаграмма;

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

генерируют описание диаграммы на основе фигур, основываясь на множестве соответствующих фигур;

сохраняют объект-диаграмму в документе, чтобы обеспечить доступ к исходным данным, содержащимся в диаграмме; и

воспроизводят диаграмму, основываясь на описании диаграммы на основе фигур.

2. Способ по п.1, по которому извлечение содержит извлечение данных из одного или более из следующего:

упомянутого документа;

базы данных;

файла; или

сети Интернет.

3. Способ по п.1, по которому этап преобразования содержит группировку связанных фигур.

4. Способ по п.3, который также содержит применение группового эффекта к связанным фигурам в группе.

5. Способ по п.1, по которому этапы определения, извлечения, преобразования и генерирования выполняются автоматически при открытии документа.

6. Способ по п.1, по которому этапы определения, извлечения, преобразования и генерирования выполняются автоматически при копировании диаграммы в другой документ.

7. Способ по п.1, который также содержит этап, на котором кэшируют упомянутое описание диаграммы на основе фигур.

8. Способ по п.1, который также содержит этап, на котором редактируют упомянутую диаграмму при помощи общего компонента создания диаграмм.

9. Способ по п.1, который также содержит следующие этапы:

обрабатывают исходные данные диаграммы, основываясь на объекте-диаграмме; и

обрабатывают фигуру диаграммы, основываясь на описании диаграммы на основе фигур.

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

принимают объект-диаграмму, описывающий диаграмму с использованием одного или более элементов диаграммы;

определяют тип диаграммы, представленной объект-диаграммой;

извлекают исходные данные из источника данных, на который ссылается объект-диаграмма;

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

генерируют описание диаграммы на основе фигур, основываясь на множестве соответствующих фигур; и

воспроизводит диаграмму, используя описание диаграммы на основе фигур, без отделения объекта-диаграммы от документа.

11. Машиночитаемый носитель информации по п.11, в котором этап генерации содержит:

размещение двух или более связанных фигур в группу.

12. Машиночитаемый носитель информации по п.11, в котором две или более связанных фигур соответствуют двум или более обозначениям в диаграмме.

13. Машиночитаемый носитель информации по п.11, в котором две или более связанных фигур соответствуют набору точек данных в диаграмме.

14. Машиночитаемый носитель информации по п.11, в котором процесс также содержит применение группового эффекта ко всем фигурам, содержащимся в упомянутой группе.

15. Машиночитаемый носитель информации по п.11, в котором процесс также содержит этапы, на которых:

обнаруживают первую выборку пользователя по отношению к фигуре, содержащейся в упомянутой группе фигур; и

в ответ на обнаружение редактируют диаграмму, применяя упомянутую первую выборку пользователя ко всем фигурам в группе.

16. Машиночитаемый носитель информации по п.11, в котором процесс также содержит этапы, на которых:

обнаруживают вторую выборку пользователя по отношению к фигуре, содержащейся в упомянутой группе фигур; и

в ответ на обнаружение редактируют диаграмму, применяя выборку пользователя только к упомянутой фигуре.

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

18. Система воспроизведения диаграммы, содержащая:

блок обработки;

документ, включающий в себя диаграмму;

объект-диаграмму, описывающий диаграмму с использованием элементов диаграммы;

графический модуль, работающий на блоке обработки, который способен воспроизводить фигуры;

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

19. Система по п.18, в которой один или более источников данных представляет собой одно или более из следующего:

документ, связанный с объектом-диаграммой;

файл;

базу данных; или сеть Интернет.

20. Система по п.18, в которой механизм преобразования размещает связанные фигуры из множества соответствующих фигур в группу.

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

22. Система воспроизведения диаграммы, содержащая:

документ, содержащий диаграмму, которая описывается с использованием элементов диаграммы;

блок обработки;

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

средство для воспроизведения фигур, характеризующих элементы диаграммы; и

средство преобразования элементов диаграммы в фигуры, которые могут быть воспроизведены графическим модулем, при этом для преобразования могут совместно использоваться множеством прикладных программам и содержит:

средство для определения типа диаграммы;

средство для извлечения исходных данных из источника данных, на который ссылается диаграмма, причем исходные данные включают в себя значения данных для диаграммы;

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

средство для генерирования описание диаграммы на основе фигур, основываясь на множестве соответствующих фигур;

средство для манипулирования диаграммой общим образом множеством прикладных программ; и

средство для воспроизведения диаграммы, основываясь на описании диаграммы на основе фигур.

23. Система по п.22, в которой средство преобразования содержит средство для определения размеров фигуры, связанной с элементом диаграммы, исходя из упомянутых одного или более значений данных.

24. Система по п.22, в которой фигуры описаны с использованием Расширяемого языка разметки гипертекста (XML).

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

Описание изобретения к патенту

Уровень техники

Диаграмма является графическим представлением числовых данных. Диаграммы особенно удобны для демонстрации сложных данных в четком и легко понимаемом виде. Средства современных рабочих столов издательских систем позволяют пользователям создавать выразительные презентации с использованием диаграмм. В основе диаграмм лежат исходные данные, которые вводятся в прикладную программу, например, Excel компании Microsoft Corporation. Затем исходные данные могут быть использованы для создания диаграммы данных в ряде различных форматов, например круговая диаграмма, столбчатая диаграмма, гистограмма, график и т.д. Кроме того, каждая часть диаграммы может иметь соответствующие цвета, текстуры и другие эффекты для улучшения внешнего вида диаграммы, что очень важно при подаче информации.

В прикладных программах для создания диаграмм традиционно применяются вызовы элементарных функций. Например, интерфейс графического отображения (GDI или GDI+) в Microsoft Windows или GEL в Microsoft Office представляют собой интерфейсы относительно низкого уровня, которые часто применяются прикладными программами для воспроизведения диаграмм. Такие интерфейсы низкого уровня в типичном случае обеспечивают функции для воспроизведения элементов диаграмм на пиксельном уровне. Например, чтобы нарисовать линию, прикладная программа должна указать начальный и конечный пиксели. Позднее, если линия удлинялась, прикладная программа должна повторно указать новый начальный и/или конечный пиксели. Традиционные интерфейсы не содержат функций более высокого уровня, например функцию удлинения линии, для обработки группы пикселей как линии.

Другая проблема состоит в том, что различные прикладные программы традиционно воспроизводят диаграммы по-разному. Например, в Microsoft Windows одна прикладная программа может использовать интерфейс GDI, в то время как другая прикладная программа может использовать комбинацию обращений к GEL и GDI. Так как диаграммы воспроизводятся по-разному, то аналогичные элементы в диаграммах, созданных различными прикладными программами, могут по-разному выглядеть для пользователя. В результате диаграмма, которая в ином случае могла бы выглядеть одинаково, например, в Microsoft PowerPoint и Microsoft Excel, может иметь слегка различающийся внешний вид в данных двух прикладных программах.

Пользователи часто копируют диаграмму из одной прикладной программы и импортируют ее в другую прикладную программу. Например, диаграмма может быть скопирована из Excel и вставлена в документ Microsoft Word или презентацию PowerPoint. Обычно пользователь имеет возможность вставить диаграмму либо как объект-диаграмму, либо как картинку. К сожалению, когда пользователь вставляет диаграмму как картинку, диаграмма отделяется от исходных данных, которые использовались для создания картинки. Это означает, что пользователь больше не сможет манипулировать исходными данными, используя вставленную диаграмму. Например, пользователь не может редактировать числовые данные или обозначения в диаграмме после того, как диаграмма вставлена в качестве картинки.

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

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

Краткое описание чертежей

На Фиг.1 изображена примерная система создания диаграмм на основе фигур, использующая общий компонент создания диаграмм;

Фиг.2 представляет собой блок-схему, иллюстрирующую воспроизведение диаграммы с использованием фигур, полученных из объекта-диаграммы;

Фиг.3 представляет собой блок-схему, иллюстрирующую преобразование объекта-диаграммы в описание диаграммы на основе фигур;

на Фиг.4 изображена диаграмма, содержащая данные, обозначения, ряды и другие элементы диаграммы, которые могут быть преобразованы в фигуры и/или сгруппированы механизмом преобразования;

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

Осуществление изобретения

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

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

На Фиг.1 изображена примерная система 100 создания диаграмм, предназначенная для унифицированного создания диаграмм с использованием описания диаграммы на основе фигур. Термин "унифицированное создание диаграмм" относится к общим способам работы с диаграммами в нескольких и/или различающихся приложениях. В состав системы 100 входят прикладная программа 102, обеспечивающая доступ к документу 104, и общий графический модуль 106, предназначенный для воспроизведения документа 104 на экране 108 компьютерного монитора.

В том виде, как он здесь используется, документ 104 представляет собой машиночитаемый файл, который содержит информацию, которая может быть прочитана пользователем, например текст и графику. Документ 104 может быть просмотрен и отредактирован пользователем с использованием пользовательского интерфейса прикладной программы 102. Примерные типы документов включают электронную таблицу, презентацию или обычный текстовый документ, но не ограничиваются перечисленным. Таким образом, в зависимости от типа документа, прикладная программа 102 может представлять собой, например, Microsoft Word, PowerPoint, Excel или другую прикладную программу, но не ограничивается перечисленным. В качестве примера, как показано на экране 108, документ 104 является "Презентацией", которая часто, но не всегда, ассоциируется с приложением PowerPoint.

Особенно подходящей для целей настоящего описания является диаграмма 110, используемая в презентации. Диаграмма 110, показанная в конкретном варианте на Фиг.1, представляет собой столбчатую диаграмму. В соответствии с другими вариантами реализации настоящего изобретения диаграмма 110 не ограничивается столбчатой диаграммой и может представлять собой любой другой тип диаграммы, например круговую диаграмму, график или диаграмму разброса, но не ограничивается перечисленным. Различные данные в диаграмме 110 первоначально задаются документом 104. Документ 104 определяет диаграмму 110 с использованием описания диаграммы, называемого объектом-диаграммой 112.

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

создание диаграмм с использованием фигур, патент № 2405204

создание диаграмм с использованием фигур, патент № 2405204

Документ 104 в типичном случае также содержит прочие данные 114 документа, которые включают текст и информацию по форматированию, но не ограничиваются перечисленным. В соответствии с одним из вариантов реализации настоящего изобретения, когда запускается прикладная программа 102 и открывается документ 104, объект-диаграмма 112 поступает в общий графический интерфейс 116 общего графического модуля 106 для воспроизведения.

Общий графический интерфейс 116 определяет, какой тип графики представлен объектом-диаграммой 112. Типы графики, которые могут обрабатываться общим графическим интерфейсом 116, включают схемы, диаграммы или автофигуры, но не ограничиваются перечисленным. Объект-диаграмма 112 содержит идентификатор, указывающий, что он описывает диаграмму. На основе идентификатора диаграммы общий графический интерфейс 116 определяет, что объект-диаграмма 112 описывает диаграмму, и посылает этот объект в общий модуль 118 создания диаграмм.

Общий модуль 118 создания диаграмм содержит механизм 120 преобразования, который преобразует объект-диаграмму 112 в ту форму, которую общий графический модуль 106 использует для воспроизведения диаграммы 110 на экране 108. Если говорить более конкретно, механизм 120 преобразования преобразует объект-диаграмму 112 в описание 122 диаграммы на основе фигур. Как следует из его названия, описание 122 диаграммы на основе фигур описывает диаграмму в виде фигур, а не в виде элементов диаграммы. Как будет описано ниже, использование фигур может улучшить процесс воспроизведения диаграмм, внешний вид диаграмм и обработку диаграмм за счет предоставления унифицированного механизма работы с графикой в интерактивном режиме.

В процессе преобразования механизм 120 преобразования выполняет ряд операций. Например, механизм 120 преобразования извлекает данные (например, числовые), которые составляют диаграмму 110, из источника (источников) данных, ссылка на который содержится в объекте-диаграмме 112. Источник (источники) данных может представлять собой сам документ 104, либо некоторый другой источник, например еще один документ, базу данных, файл, сеть Интернет или очередь, но не ограничивается перечисленным. В дополнение к упомянутым данным механизм 120 преобразования может извлекать информацию о форматировании чисел, которая описывает, как форматированы данные. Информация о форматировании чисел включает символ валюты, число десятичных разрядов, процентный формат или формат доли, либо формат даты и времени, но не ограничивается перечисленным.

Кроме того, механизм 120 преобразования преобразует элементы диаграммы в фигуры, например линии, прямоугольники, окружности, треугольники и т.д. Фигура представляет собой блок данных, который просто воспроизводит внешний вид элемента диаграммы и не привязан к исходным числовым данным диаграммы, либо не зависит от них. Поэтому, например, столбик в объекте-диаграмме 112 будет преобразован в прямоугольник в описании 122 диаграммы на основе фигур, ось диаграммы будет преобразована в линию и т.д.

В дополнение к этому механизм 120 преобразования группирует выбранные связанные фигуры для облегчения обработки этих связанных фигур пользователем. Общий графический интерфейс 116 предоставляет функции, позволяющие пользователю в интерактивном режиме работать с группами связанных фигур. Механизм 120 преобразования использует преимущества этих функций, группируя связанные элементы диаграммы, например связанные обозначения данных и связанные ряды данных, не ограничиваясь перечисленным. После извлечения данных, преобразования элементов диаграммы в фигуры и группировки связанных фигур механизм 120 преобразования генерирует описание 122 диаграммы на основе фигур.

Один из вариантов реализации описания 122 диаграммы на основе фигур представляет собой набор инструкций на языке XML. В качестве иллюстрации ниже приведен XML-код из примерного описания 122 диаграммы на основе фигур:

создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204 создание диаграмм с использованием фигур, патент № 2405204

Общий графический интерфейс 116 получает описание 122 диаграммы на основе фигур и воспроизводит диаграмму 110 на экране 108 как набор фигур, задаваемый упомянутым описанием. Общий графический интерфейс 116 в типичном случае осуществляет воспроизведение, выполняя вызовы функций операционной системы или видеоконтроллера. Например, в операционной системе Windows общий графический интерфейс 116 может обращаться к интерфейсу графического отображения (GDI+).

Как показано на чертеже, общий графический модуль 106 содержит набор общих графических услуг 124. Общие графические услуги 124 включают услуги, к которым может обращаться прикладная программа для обработки диаграммы 110. Для доступа к услугам блок общих графических услуг 124 предоставляет один или более интерфейсов прикладных программ (API).

Так как общий графический модуль 106 воспроизводит фигуры, то графические услуги 124 способны предложить функции высокого уровня для работы с диаграммой 110. Графические услуги 124 могут, например, предоставить функции векторной графики для работы с фигурами в пределах диаграммы. В качестве иллюстрации можно легко осуществить перемещение прямоугольника путем вызова одной функции, входящей в состав графических услуг 124, которая перемещает фигуру, вместо вызова многочисленных функций низкого уровня для повторной отрисовки прямоугольника в новом положении. В дополнение к этому общий графический модуль 106 является общим для множества прикладных программ, в результате чего обработка/редактирование фигуры и ее внешний вид будут одинаковы во всех этих прикладных программах. Таким образом, общий графический модуль 106 может предоставить общий графический интерфейс пользователя для редактирования фигур в диаграмме 110, вне зависимости от типа прикладной программы 102.

Общий графический модуль 106 также содержит прочие услуги 126, предназначенные для воспроизведения и/или обработки содержимого документа 104 на экране 108. Упомянутые прочие услуги 126 могут включать выделение памяти и обработку текста, но не ограничиваются перечисленным.

После того как диаграмма 110 воспроизведена, пользователь может работать с фигурами или исходными данными этой диаграммы. Большинство команд по редактированию диаграммы поступают в общий компонент 128 создания диаграмм. После чего общий компонент 128 создания диаграмм может обрабатывать команду или передавать команду обратно блоку графических услуг 124. Перед передачей команды блоку графических услуг 124 общий компонент 128 создания диаграмм может, если необходимо, модифицировать эту команду. Если пользователь редактирует исходные данные диаграммы и, следовательно, изменяет объект-диаграмму 112, механизм 120 преобразования автоматически преобразует объект-диаграмму 112 снова в обновленное описание 122 диаграммы на основе фигур.

Когда пользователь работает с исходными данными диаграммы 110, общий компонент 128 создания диаграмм предоставляет функции для такой обработки. До этого, если пользователь работал с диаграммой, соответствующую обработку осуществляла прикладная программа 102. Это приводило к возникновению различий в представлении диаграммы и в характере ее поведения, а также различий во взаимодействии с пользователем в разных прикладных программах. В описанных здесь вариантах реализации настоящего изобретения общий компонент 128 создания диаграмм предоставляет унифицированный набор функций для работы с исходными данными, которые составляют диаграмму 110. В результате, когда пользователь редактирует исходные данные, диаграмма 110 ведет себя одинаково во всех прикладных программах.

Преимуществом является то, что, хотя диаграмма 110 воспроизводится с использованием описания 122 диаграммы на основе фигур, исходные данные диаграммы по-прежнему сохраняются (т.е. не удаляются) в документе 104, а именно в объекте-диаграмме 112. Общий компонент 128 создания диаграмм использует объект-диаграмму 112, когда пользователь редактирует исходные данные диаграммы (например, числовые данные). Таким образом, пользователю предоставляется возможность редактировать фигуры диаграммы 110 через общий графический интерфейс 116 и редактировать исходные данные этой диаграммы через общий компонент 128 создания диаграмм. Даже если документ 104 закрывается, объект-диаграмма 112 сохраняется в этом документе. В результате пользователь может редактировать диаграмму 110 как диаграмму и/или картинку.

В одном из вариантов реализации настоящего изобретения описание 122 диаграммы на основе фигур может быть сохранено для последующего использования. В этом варианте описание 122 диаграммы на основе фигур могло бы сохраняться в документе 104 или в кэш-памяти (не показана) перед закрытием документа 104. Затем, при последующем открытии документа 104, описание 122 диаграммы на основе фигур извлекается из памяти и используется для воспроизведения диаграммы 110. В этом варианте не потребуется использовать механизм 120 преобразования для преобразования объекта-диаграммы 112 при каждом открытии документа 104.

Термин "модуль" используется в его общем значении для описания компонента, который способен выполнять одну или более определенных функций. Модуль может быть реализован различными способами или в различном виде. Например, модуль может быть реализован в составе или в виде аппаратных средств, программного обеспечения, аппаратно-реализуемого программного обеспечения, либо с использованием различных комбинаций аппаратных средств, программного обеспечения и/или аппаратно-реализуемого программного обеспечения, в зависимости от таких факторов, как скорость, стоимость, размер и т.д. Например, и не подразумевая под этим ограничения, в одном из вариантов реализации настоящего изобретения каждый из модулей системы 100 содержит такое программное обеспечение, как библиотека динамической компоновки (DLL), которая хранится на машиночитаемом носителе информации и исполняется вычислительной системой, например, подобной той, которая описана ниже с использованием Фиг.6.

Пример реализации на практике

На Фиг.2 изображен алгоритм 200 унифицированного создания диаграмм, который может выполняться системой 100 создания диаграмм, показанной на Фиг.1. Алгоритм 200 унифицированного создания диаграмм может аналогичным образом выполняться системами, отличающимися от общей системы 100 создания диаграмм. Алгоритм 200 унифицированного создания диаграмм содержит примерные этапы, позволяющие использовать фигуры для воспроизведения диаграммы, связанной с документом, и одновременно сохранять объект-диаграмму, чтобы позволить пользователю редактировать исходные данные упомянутой диаграммы.

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

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

После того как объект-диаграмма преобразован в описание на основе фигур, на этапе 206 воспроизведения диаграмма воспроизводится с использованием фигур, указанных в упомянутом описании. В типичном случае диаграмма воспроизводится в том положении, которое указано в документе. Упомянутым описанием могут задаваться положения, цвета, группировки, размеры и другие атрибуты фигур в пределах диаграммы.

Хотя диаграмма воспроизводится с использованием фигур, объект-диаграмма остается связанным с документом. Другими словами, объект-диаграмма не отделяется от документа. Так как объект-диаграмма сохраняется, пользователь может продолжать редактирование исходных данных диаграммы. При любом редактировании пользователем объекта-диаграммы путем редактирования исходных данных будет выполняться упомянутый этап 204 преобразования.

Обратимся теперь к Фиг.3, на которой показаны примерные операции, выполняемые на этапе 204 преобразования. Этап 204 преобразования может выполняться в любое подходящее время или в ответ на соответствующее событие. Например, не подразумевая под этим ограничение, этап 204 преобразования может автоматически выполняться при любом открытии документа, либо при копировании диаграммы из одного документа и импорте в другой документ. Этап 204 преобразования для наглядности рассмотрен со ссылкой на Фиг.4. Поэтому для иллюстрации здесь будет подразумеваться, что объект-диаграмма и соответствующее описание на основе фигур описывают диаграмму 400, показанную на Фиг.4.

Сначала, на этапе 302 определения определяется тип диаграммы 400. В конкретном показанном случае объект-диаграмма содержит идентификатор типа диаграммы, указывающий, что диаграмма представляет собой столбчатую диаграмму. Поэтому на этапе 302 определения определяется, что диаграмма является столбчатой диаграммой. Определение типа диаграммы выполняется потому, что в типичном случае именно диаграмма удобна для придания наглядности информации, содержащейся в данных, и тип диаграммы диктует то, каким образом ее элементы будут преобразованы в фигуры.

Затем на этапе 304 извлечения извлекаются исходные данные, лежащие в основе диаграммы. В типичном случае, не подразумевая под этим ограничение, исходные данные включают значения данных, обозначения и форматы данных, например тип валюты или число десятичных разрядов. Исходные данные извлекаются из одного или более источников данных, указанных объектом-диаграммой. Таким образом, если обратиться к диаграмме 400, извлекаемые исходные данные включают обозначение данных 402а (6.0), обозначение данных 402b (8.9) и обозначение данных 402с (3.2).

После чего на этапе 306 преобразования элементы диаграммы преобразуются в соответствующие фигуры. Если обратиться к диаграмме 400, то первый столбик в объекте-диаграмме преобразуется, например, в прямоугольник 404а, чьи размеры зависят от значения данных, связанного с этим столбиком. На этапе 306 преобразования размеры прямоугольника 404а определяются, начиная с определения столбика 404b, которому соответствует наибольшее значение (в данном случае 8.9), с последующим линейным масштабированием прямоугольника 404а, исходя из высоты диаграммы. Аналогичным образом на этапе 306 преобразования два других столбика преобразуются в соответствующие прямоугольники 404b и 404с.

Затем на этапе 307 группировки группируются связанные фигуры. Наилучшим вариантом является группировка фигур, которые пользователь, возможно, захочет редактировать или обрабатывать как группу. Например, могут быть сгруппированы обозначения данных 402а, 402b и 402с. В качестве другого примера могут быть сгруппированы прямоугольники 404а, 404b и 404с. На этапе 307 группировки в описание диаграммы на основе фигур вставляется указатель группы, который указывает, какие фигуры находятся в группе.

После того как сгруппированы связанные фигуры, общий графический модуль (например, общий графический модуль 106, Фиг.1) может применить групповые эффекты, исходя из ввода информации пользователем. Например, если пользователь хочет изменить цвет всех прямоугольников на диаграмме 400, ему необходимо всего лишь выбрать один из прямоугольников и изменить цвет. Такие группы могут оказаться полезными, потому что пользователь в последующем может работать со всеми фигурами в группе, путем однократного нажатия кнопки мыши на соответствующей фигуре в группе. Если пользователь хочет работать с одной фигурой группы, он дважды нажимает кнопку мыши на данной фигуре.

Пример вычислительного устройства

Как показано на Фиг.5, примерная система, используемая при реализации описанных здесь операций, включает вычислительное устройство общего назначения, представляющее собой обычный персональный компьютер 20, содержащий процессор 21, системную память 22 и системную шину 23. Системная шина 23 связывает между собой различные компоненты системы, включая системную память 22 и процессор 21. Системная шина 23 может относиться к любому из нескольких конструктивных типов, включая шину памяти или контроллер памяти, шину периферийных устройств и локальную шину, в основе которых лежит любая из множества шинных архитектур. Системная память 22 включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. Базовая система ввода/вывода (BIOS) 26, содержащая основные процедуры, позволяющие обмениваться информацией компонентам персонального компьютера 20, например, во время запуска, хранится в ПЗУ 24.

Как показано на чертеже, в данном примере персональный компьютер 20 также содержит накопитель 27 на жестком диске, предназначенный для считывания с жесткого диска (не показан) и записи на него, накопитель 28 на магнитном диске, предназначенный для считывания со съемного магнитного диска 29 и записи на него, и накопитель 30 на оптическом диске, предназначенный для считывания со съемного оптического диска 31, например диска CD-ROM (Compact Disk - Read-Only Memory, ПЗУ на компакт-диске), DVD (Digital Versatile Disk - цифровой универсальный диск) или другого подобного оптического носителя, и записи на него. Накопитель 27 на жестком диске, накопитель 28 на магнитном диске и накопитель 30 на оптическом диске соединены с системной шиной 23 соответственно через интерфейс 32 накопителя на жестком диске, интерфейс 33 накопителя на магнитном диске и интерфейс 34 накопителя на оптическом диске. Эти приведенные в качестве примера накопители и соответствующие им машиночитаемые носители информации обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, компьютерных программ и других данных для персонального компьютера 20.

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

На жестком диске, съемном магнитном диске 29, съемном оптическом диске 31, в ПЗУ 24 или ОЗУ 25 может храниться ряд компьютерных программ, включая операционную систему 35, одну или более прикладных программ 36, прочие программы 37 и программные данные 38. Пользователь может вводить команды и информацию в персональный компьютер 20 с помощью таких устройств ввода информации, как клавиатура 40 и указывающее устройство 42 (например, мышь).

В качестве устройства ввода к персональному компьютеру может быть также подключена камера 55 (например, цифровая/электронная фото- или видеокамера, либо сканирующее устройство считывания с микропленки/сканер фотографий), способная фиксировать данные изображения. Данные изображения вводятся в персональный компьютер 20 через соответствующий интерфейс 57 камеры. В данном примере интерфейс 57 камеры соединен с системной шиной 23, что позволяет направлять изображения в ОЗУ 25 и сохранять в нем либо использовать для этого другие устройства хранения данных, связанные с персональным компьютером 20. Однако необходимо отметить, что данные изображения могут вводиться в персональный компьютер 20 также с любого из упомянутых выше машиночитаемых носителей информации, при этом использование камеры 55 не требуется.

Другие устройства ввода (не показаны) могут включать микрофон, джойстик, игровую панель, спутниковую тарелку, сканер или тому подобное. Эти и другие устройства ввода часто подключают к процессору 21 при помощи интерфейса 46 последовательного порта, который соединен с системной шиной, но часто подключают и с помощью других интерфейсов, например параллельного порта, игрового порта, универсальной последовательной шины (USB) и т.д.

С системной шиной 23 через определенный интерфейс, например видеоадаптер 45, также соединен монитор 47, либо устройство отображения информации другого типа. Кроме монитора персональные компьютеры часто содержат и другие периферийные устройства вывода информации (не показаны), например акустические системы и принтеры.

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

Изображенные на Фиг.5 логические соединения включают локальную вычислительную сеть (ЛВС) 51 и глобальную вычислительную сеть (ГВС) 52. Такие системы организации сети являются обычными в офисах, компьютерных сетях предприятий, сетях Интранет и сети Интернет.

При использовании в сетевой среде ЛВС персональный компьютер 20 соединен с локальной вычислительной сетью 51 через сетевой интерфейс или адаптер 53. При использовании в сетевой среде ГВС персональный компьютер 20 в типичном случае содержит модем 54 или другое средство установления связи через глобальную вычислительную сеть 52, например Интернет. Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 через интерфейс 46 последовательного порта.

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

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

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

"Носитель данных для компьютера" включает энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные с использованием любого способа или технологии хранения такой информации, как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Носители данных для компьютера включают ОЗУ, ПЗУ, ЭСППЗУ (EEPROM, Electrically Erasable Programmable Read-Only Memory), флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические носители информации, магнитные кассеты, магнитную ленту, носители на основе магнитных дисков или другие магнитные запоминающие устройства, либо любой другой носитель, который может использоваться для хранения требуемой информации и к которому может обращаться компьютер.

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

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

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

Класс G06T11/20 вычерчивание из основных элементов, например линий, окружностей, графиков

способ динамической визуализации коллекции изображений в виде коллажа -  патент 2523925 (27.07.2014)
представление динамических сеток -  патент 2521283 (27.06.2014)
способ преобразования растрового изображения в метафайл -  патент 2469400 (10.12.2012)
компьютерный способ для моделирования во время бурения и визуализации слоистых подземных формаций -  патент 2337404 (27.10.2008)
способ определения и сглаживания ступенчатых краев в телевизионном изображении -  патент 2336564 (20.10.2008)
язык разметки и объектная модель для векторной графики -  патент 2321892 (10.04.2008)
способ цветокодового отображения переменных многопараметрических состояний системы или процесса -  патент 2293371 (10.02.2007)
способ формирования изображения удаленного объекта -  патент 2238588 (20.10.2004)
способ визуального представления и анализа аномальных значений измерительных параметров многомерного объекта или процесса -  патент 2237273 (27.09.2004)
способ визуального отображения и анализа аномалий многомерного объекта или процесса -  патент 2200345 (10.03.2003)
Наверх