The present invention generally relates to graph drawing and data visualization.
In graphically rich presentations of relational data, nodes may be represented as combinations of images, text elements, shapes, and other graphical elements. When drawing lines between such nodes, a drawing system needs to determine the clipping points, i.e., where to terminate the lines at their end nodes. A straightforward approach terminates the lines at the bounding rectangles of the respective nodes, leaving a visual gap between the line and its end node. An example of a drawing using such an approach is shown in
In one aspect, a computer-implemented method is provided for drawing a graph in which multiple nodes are connected by multiple edges. An image is displayed representing a node, and the image is processed to distinguish image foreground pixels and image background pixels. An edge is displayed incident to the node, the edge extending over selected background pixels and stopping short of selected foreground pixels. The image may include multiple graphical elements, in which case bounding polygons are determined including a bounding polygon for each graphical element. If the bounding polygons are disconnected, the bounding polygons are joined, for example by projecting one bounding polygon onto another bounding polygon. An overall bounding polygon is determined that encompasses the bounding polygons. The overall bounding polygon may be used to determine where to clip, or terminate, edges that are incident to the node. In some instances, at least one aspect of the graph drawing may be changed, and the graph may be redrawn. During redrawing, the overall bounding polygon may be determined again, and clipping of incident edges may be determined again. In some instances, a graphical element (e.g., a shadow box) may be excluded from the outer bounding polygon.
Determining a bounding polygon may be performed by distinguishing the image foreground pixels and the image background pixels of a graphical element; and identifying the outer border pixels of the graphical element. An outline of the graphical element may be determined by identifying selected outer border pixels and joining the selected outer border pixels by straight-line segments to form a bounding polygon. The outer bounding polygon may in some instances be simplified without noticeable impact on the resultant quality of the graph drawing.
In another aspect, a non-transitory computer-readable medium is provided for drawing a graph with multiple nodes connected by multiple edges, with instructions for displaying an image representing a node and processing the image to distinguish image foreground pixels and image background pixels. Instructions cause an edge to be displayed incident to the node, the edge extending over selected background pixels and stopping short of selected foreground pixels. Additional instructions may be provided to perform operations in similar fashion as previously described.
The subject of this patent application is a technique for clipping connecting lines, or edges, at the precise shape of the visible portion of nodes. An example of a drawing using such an approach is shown in
A composite representation of a node may consist of several graphical elements, e.g., a picture and a textual label as shown in
The outline polygons of text elements and polygonal shape elements may be calculated in a straightforward way. In one embodiment, the outlines of curved shapes are approximated with polygons. The outlines of image elements may be derived as follows:
It may be desirable to exclude some of the graphical elements from the precise shape of a node, e.g., when an element represents the selection state of the node or a shadow of the principal graphical elements, as shown in
The representation of a node may change dynamically depending on the current zoom level and other factors. To maintain the correct precise shape of such a node, it should be recalculated every time the visual representation of the node changes, as shown in
Referring to
Northbridge 115 and Southbridge 135 connect to each other using bus 119. In one embodiment, the bus is a Direct Media Interface (DMI) bus that transfers data at high speeds in each direction between Northbridge 115 and Southbridge 135. In another embodiment, a Peripheral Component Interconnect (PCI) bus connects the Northbridge and the Southbridge, Southbridge 135, also known as the I/O Controller Hub (ICH) is a chip that generally implements capabilities that operate at slower speeds than the capabilities provided by the Northbridge. Southbridge 135 typically provides various busses used to connect various components. These busses include, for example, PCI and PCI Express busses, an ISA bus, a System Management Bus (SMBus or SMB), and/or a Low Pin Count (LPC) bus. The LPC bus often connects low-bandwidth devices, such as boot ROM 196 and “legacy” I/O devices (using a “super I/O” Chip). The “legacy” I/O devices (198) can include, for example, serial and parallel ports, keyboard, mouse, and/or a floppy disk controller. The LPC bus also connects Southbridge 135 to Trusted Platform Module (TPM) 195. Other components often included in Southbridge 135 include a Direct Memory Access (DMA) controller, a Programmable Interrupt Controller (PIC), and a storage device controller, which connects Southbridge 135 to nonvolatile storage device 185, such as a hard disk drive, using bus 184.
ExpressCard 155 is a slot that connects hot-pluggable devices to the information handling system; ExpressCard 155 supports both PCI Express and USB connectivity as it connects to Southbridge 135 using both the Universal Serial Bus (USB) and the PCI Express bus. Southbridge 135 includes USB Controller 140 that provides USB connectivity to devices that connect to the USB. These devices include webcam (camera) 150, infrared (IR) receiver 148, keyboard and trackpad 144, and Bluetooth device 146, which provides for wireless personal area networks (PANs). USB Controller 140 also provides USB connectivity to other miscellaneous USB connected devices 142, such as a mouse, removable nonvolatile storage device 145, modems, network cards, ISDN connectors, fax, printers, USB hubs, and many other types of USB connected devices. While removable nonvolatile storage device 145 is shown as a USB-connected device, removable nonvolatile storage device 145 could be connected using a different interface, such as a Firewire interface, etcetera.
Wireless Local Area Network (LAN) device 175 connects to Southbridge 135 via the PCI or PCI Express bus 172, LAN device 175 typically implements one of the IEEE 802.11 standards of over-the-air modulation techniques that all use the same protocol to wirelessly communicate between information handling system 100 and another computer system or device. Optical storage device 190 connects to Southbridge 135 using Serial ATA (SATA) bus 188. Serial ATA adapters and devices communicate over a high-speed serial link. The Serial ATA bus also connects Southbridge 135 to other forms of storage devices, such as hard disk drives. Audio circuitry 160, such as a sound card, connects to Southbridge 135 via bus 158. Audio circuitry 160 also provides functionality such as audio line-in and optical digital audio in port 162, optical digital output and headphone jack 164, internal speakers 166, and internal microphone 168. Ethernet controller 170 connects to Southbridge 135 using a bus, such as the PCI or PCI Express bus. Ethernet controller 170 connects information handling system 100 to a computer network, such as a Local Area Network (LAN), the Internet, and other public and private computer networks.
While
The Trusted Platform Module (TPM 195) shown in
It will be appreciated by those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit or essential character thereof. The foregoing description is therefore intended in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appending claims, not the foregoing description, and all changes which come within the meaning and range of equivalents thereof are intended to be embraced therein.
Number | Name | Date | Kind |
---|---|---|---|
8041082 | Baluja et al. | Oct 2011 | B1 |
20090060334 | Rayner | Mar 2009 | A1 |
20120093411 | Tang et al. | Apr 2012 | A1 |
20120266081 | Kao | Oct 2012 | A1 |
20130278788 | Levy | Oct 2013 | A1 |
20140074888 | Potter et al. | Mar 2014 | A1 |
20140168205 | Naveh et al. | Jun 2014 | A1 |
20140189530 | Anand et al. | Jul 2014 | A1 |
Entry |
---|
C. Küçükkeçeci, Chisio: A visual framework for compound graph editing and layout, Master's thesis, Bilkent University, Jun. 2007. |
M. Belviranli, A circular layout algorithm for clustered graphs, PhD dissertation, Bilkent University, Aug. 2009. |
Number | Date | Country | |
---|---|---|---|
20140292763 A1 | Oct 2014 | US |