KR102092979B1 - 링크의 곡률의 대화형 제어 기법 - Google Patents

링크의 곡률의 대화형 제어 기법 Download PDF

Info

Publication number
KR102092979B1
KR102092979B1 KR1020147025551A KR20147025551A KR102092979B1 KR 102092979 B1 KR102092979 B1 KR 102092979B1 KR 1020147025551 A KR1020147025551 A KR 1020147025551A KR 20147025551 A KR20147025551 A KR 20147025551A KR 102092979 B1 KR102092979 B1 KR 102092979B1
Authority
KR
South Korea
Prior art keywords
link
links
curvature
node
computer
Prior art date
Application number
KR1020147025551A
Other languages
English (en)
Other versions
KR20140136446A (ko
Inventor
티모시 드와이어
나탈리 헨리 리체
봉신 리
실라그 카펜데일
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20140136446A publication Critical patent/KR20140136446A/ko
Application granted granted Critical
Publication of KR102092979B1 publication Critical patent/KR102092979B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

링크 곡률 처리 모듈에 의해 사용자는 노드-링크 다이어그램 내 링크들의 곡률을 제어할 수 있다. 노드-링크 다이어그램이 사용자에게 디스플레이될 때, 사용자는 다이어그램과 상호작용하고 상기 다이어그램 내 하나 이상의 링크의 곡률을 조절하여 다이어그램의 판독성을 개선할 수 있다. 링크의 곡률에 대한 사용자의 수정은 상기 링크로 연결된 노드들의 위치가 변경되지 않도록 링크의 형태를 변경한다. 사용자에게 이러한 제어를 제공함으로써, 사용자는 자신의 선호에 따라 링크의 시각적 디스플레이를 맞춤 구성할 수 있다.

Description

링크의 곡률의 대화형 제어 기법{INTERACTIVE CONTROL OF THE CURVATURE OF LINKS}
그래프는 데이터를 구조화된 방식으로 표시하기 위해 흔히 사용되는 데이터 구조이다. 그래프는 노드(node)와 링크(link)로 구성되며, 여기서 각각의 노드가 하나의 객체를 나타내고 "에지(edge)"라고도 알려진 링크가 출발지 노드(source node)를 목표 노드(target node)로 연결한다. 일반적으로 그래프는 정보의 흐름을 모델링하거나, 개체들 간 관계를 모델링하거나 하기 위해 다양한 애플리케이션에서 사용된다. 예를 들어, 소셜 네트워크에서, 그래프의 노드는 개인을 나타내고 에지는 2명의 개인 간 관계를 나타낼 수 있다. 항공 네트워크에서, 노드는 도시를 나타내고 에지들의 시퀀스는 하나의 도시에서 다른 도시로의 루트를 나타낼 수 있다.
노드-링크 다이어그램은 그래프를 시각화하기 위해 사용되는 구조이며, 여기서 그래픽 객체, 가령, 박스 또는 도트가 노드를 나타내고 곡선이 2개의 노드 간 링크를 나타내기 위해 사용된다. 많은 수의 노드 및 링크를 갖는 노드-링크 다이어그램은 시각적으로 어수선하다는 문제점을 가진다. 시각적 어수선함은 종종, 복수의 링크가 서로 겹쳐 특정 링크 또는 링크의 서브세트를 구별하기 어렵게 만들 때 링크 혼잡(link congestion)의 원인이 된다.
개요
이 개요는 이하의 상세한 설명에서 추가로 기재될 개념들의 모음을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구되는 발명의 핵심 특징부 또는 필수 특징부를 식별하려는 것이 아니며 청구되는 발명의 범위를 제한하려 사용되는 것도 아니다.
사용자가 추가 시각적 명료성을 필요로 하는 다이어그램의 부분을 식별하기 위해 그때 그때 노드-링크 다이어그램과 상호작용할 수 있다. 특히, 혼잡 링크들이 다양한 방식으로 분리되어 다이어그램의 판독성을 개선할 수 있다. 대화형 링크 패닝 기법에 의해 사용자가 사용자 특정 패닝 반경까지 링크들을 확산 또는 팬 아웃함으로써 노드로 연결된 링크들의 곡률을 변경할 수 있다. 인접한 링크들 간 요구되는 최소 분리각을 결정하기 위해 사용자 특정 패닝 반경을 기초로 하여 최소 분리각이 결정된다. 링크 곡선이 매끄럽고 최소 크기만큼 분리되어 있어야 한다는 제약에 종속되어, 각각의 링크의 출발지 노드에서 목표 노드까지의 각각의 링크의 길이를 최소화하기 위해, 링크들을 나타내기 위해 사용되는 매끄러운 곡선이 계산된다.
대화형 링크 번들링 기법에 의해 사용자가 자동 생성된 또는 사용자에 의해 정의된 제어점을 통과하는 하나의 공통 경로를 공유해야 할 링크의 서브세트를 선택할 수 있다. 사용자는 이들 제어점의 위치 및 크기를 직접 조작하여 번들 경로를 추가로 정제(refine)하거나 상기 번들 내 링크 곡선의 분리간격을 조절할 수 있다.
대화형 링크 자석 기법에 의해 사용자는 대화형 링크 자석(interactive link magnet)이라고 지칭되는 드래그 가능한 그래픽 객체를 사용하여, 상기 대화형 링크 자석과 일치하는 데이터 속성을 갖는 링크를 자석처럼 끌어 당길 수 있다. 자석의 끌어 당김에 의해 일치하는 링크의 곡률이 자석 쪽 방향으로 변경됨으로써, 더 우수한 시각화를 위해 상기 일치하는 링크는 노드-링크 다이어그램의 나머지로부터 분리된다.
대화형 링크 레전드 기법에 의해, 사용자는 노드-링크 다이어그램의 레전드의 일부인 모델 곡선의 형태를 제어할 수 있다. 사용자는 모델 곡선 상의 하나 이상의 제어점과 상호작용하여 상기 모델 곡선과 연관된 링크의 곡률을 변경시킬 수 있다. 그 후 최종 곡률이 노드-링크 다이어그램 전체에 걸쳐 상기 모델 곡선과 연관된 모든 링크로 전파된다.
이들 및 그 밖의 다른 특징 및 이점이 다음의 상세한 설명을 읽고 연관된 도면을 검토하면 자명해질 것이다. 상기의 일반적인 기재 및 이하의 상세한 기재는 모두 예시에 불과하며 청구되는 발명의 양태를 제한하지 않음이 이해되어야 한다.
도 1은 노드-링크 다이어그램 내 링크들의 곡률을 제어할 수 있는 능력을 사용자에게 제공하는 예시적 시스템을 도시한다.
도 2는 예시적 노드-링크 다이어그램을 도시한다.
도 3a-3c는 대화형 링크 패닝을 나타내는 예시적 도시이다.
도 4는 대화형 링크 번들링을 나타내는 예시적 도시이다.
도 5a-5c는 대화형 링크 자석을 나타내는 예시적 도시이다.
도 6a-6b는 대화형 링크 레전드를 나타내는 예시적 도시이다.
도 7은 대화형 링크 곡률 프로세싱의 예시적 방법을 도시하는 흐름도이다.
도 8은 대화형 링크 패닝의 제 1 예시적 방법을 도시하는 흐름도이다.
도 9는 대화형 링크 패닝의 제 2 예시적 방법을 도시하는 흐름도이다.
도 10a-10b는 대화형 링크 패닝을 나타내는 예시적 도시이다.
도 11은 대화형 링크 번들링의 예시적 방법을 도시하는 흐름도이다.
도 12는 대화형 링크 자석의 예시적 방법을 도시하는 흐름도이다.
도 13은 대화형 링크 레전드를 위한 예시적 방법을 도시하는 흐름도이다.
도 14a-14c는 대화형 링크 레전드 내 링크들의 곡률을 변경하도록 사용된 대화를 보여주는 예시적 도시이다.
도 15는 동작 환경을 도시하는 블록도이다.
도 16은 예시적 컴퓨팅 장치를 도시하는 블록도이다.
다양한 실시예는 사용자가 노드-링크 다이어그램의 링크들의 곡률(curvature)을 제어할 수 있도록 하는 기법과 관련된다. 노드-링크 다이어그램이 사용자에게 디스플레이될 때, 사용자는 노드-링크 다이어그램의 판독성(readability)을 개선하기 위해 다이어그램과 상호작용하고 상기 다이어그램 내 하나 이상의 링크의 곡률을 조절할 수 있다. 노드-링크 다이어그램 내 링크들은 주의 깊게 구성된 제어점에 의해 스플라인으로서 그려지는 매끄러운 곡선으로 표시된다. 링크로 연결된 노드는 동일한 위치로 유지되면서 매끄러운 곡선의 진폭 및/또는 사각(skew angle)이 커지도록 상기 링크의 곡률이 변경될 수 있다. 사용자에게 이러한 제어를 제공함으로써, 사용자는 사용자의 선호에 맞게 링크의 시각적 디스플레이를 맞춤 구성할 수 있다.
실시예는 다음의 네 가지 기법을 커버한다: 대화형 링크 패닝(interactive link fanning), 대화형 번들링(interactive bundling), 대화형 링크 자석(interactive link magnet), 및 대화형 링크 레전드(interactive link legend). 각각의 기법은 사용자에게 노드-링크 다이어그램과 실시간으로 상호작용할 수 있는 서로 다른 능력을 제공한다. 대화형 링크 패닝 기법에 의해 링크를 사용자 특정 패닝 반경으로 확산 또는 패닝함으로써 사용자가 노드로 연결된 링크의 곡률을 변경할 수 있다. 인접한 링크들 간 사용자 특정 최소 분리각(minimum separation angle)을 얻기 위해 곡선 제어점이 자동으로 찾아진다. 링크를 나타내기 위해 사용되는 매끄러운 곡선은 링크의 출발지 노드에서 목표 노드까지의 링크 각각의 길이를 최소화하는 때의 최소 분리각에 대해 계산된다.
대화형 링크 번들링 기법에 의해 사용자는 자동으로 생성되거나 사용자에 의해 정의되는 제어점을 통과하는 공통 경로를 공유해야 하는 링크의 서브세트를 선택할 수 있다. 사용자는 번들 경로를 추가로 정제(refine)하거나 상기 번들 내 링크 곡선의 분리간격을 조절하기 위해 이들 제어점의 위치 및 크기를 직접 조작할 수 있다.
대화형 링크 자석 기법에 의해, 대화형 링크 자석과 일치하는 데이터 속성을 갖는 링크를 자석처럼 끌어당기기 위해, 사용자는 대화형 링크 자석이라고 지칭되는 드래그 가능 그래픽 객체를 이용할 수 있다. 자기 인력이 일치하는 링크의 곡률을 자석 쪽 방향으로 변경함으로써, 더 우수한 시각화를 위해 노드-링크 다이어그램의 나머지 부분으로부터 일치하는 링크를 분리시킬 수 있다.
대화형 링크 레전드 기법에 의해 사용자는 노드-링크 다이어그램의 레전드의 일부분인 모델 곡선의 형태를 제어할 수 있다. 사용자는 모델 곡선 상의 하나 이상의 제어점들과 상호작용하여, 모델 곡선과 연관된 링크의 곡률을 변경할 수 있다. 그 후 최종 곡률이 노드-링크 다이어그램을 통해 모델 곡선과 연관된 모든 링크로 전파된다.
예시적 시스템의 설명으로 다시 돌아오면, 사용자는 노드-링크 다이어그램 내 링크 곡률을 대화 방식으로 제어할 수 있다. 도 1은 노드-링크 다이어그램(104) 및 사용자 대화 모듈(106)에 의해 검출되는 사용자 동작을 수신하는 대화형 링크 곡률 처리 모듈(102)을 갖는 예시적 시스템(100)의 블록도를 도시한다. 검출된 사용자 동작을 기초로 하여, 대화형 링크 곡률 처리 모듈(102)이 하나 이상의 링크의 곡률을 변경하고 스플라인 렌더링 모듈(118)이 노드 링크 다이어그램(104)의 변경된 부분을 렌더링하게 한다.
대화형 링크 곡률 처리 모듈(102)은 임의의 하나 이상의 일체형 링크 곡률 기법, 가령, 대화형 링크 패닝 모듈(110), 대화형 번들링 모듈(112), 대화형 링크 자석 모듈(114), 및/또는 대화형 레전드 모듈(116)을 포함할 수 있다. 상기 대화형 링크 곡률 처리 모듈(102)은 사용자 동작에 따라 노드-링크 다이어그램(104)을 변경하여, 사용자의 선호에 맞춤 구성된 변경된 노드-링크 다이어그램(108)을 생성할 수 있다.
시스템(100)은 프로그램 가능한 명령을 실행할 수 있는 임의의 유형의 전자 장치일 수 있는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨팅 장치는 모바일 장치, 개인 디지털 보조기, 모바일 컴퓨팅 장치, 스마트 폰, 셀룰러 전화기, 핸드헬드 컴퓨터, 서버, 서버 어레이 또는 서버 팜, 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인프레임 컴퓨터, 수퍼컴퓨터, 네트워크 전자기기, 웹 전자기기, 분산 컴퓨팅 시스템, 멀티프로세서 시스템, 또는 이들의 조합으로서 구현될 수 있다.
노드-링크 다이어그램(104)은 노드의 세트와 링크의 세트를 갖는 그래프이다. 링크는 2개의 노드를 연결하는 에지이다. 노드-링크 다이어그램(104)은 임의의 유형의 시스템, 비-제한적 예를 들면, 소셜 네트워크, 물리적 시스템과 연관된 상태 머신, 항공 교통 네트워크(air traffic network), 컴퓨터 프로그램의 데이터 흐름, 통신 네트워크 등을 나타내도록 사용될 수 있는 데이터 구조이다. 도 2를 참조하면, N1-N9로 라벨링된 노드 및 노드를 서로 연결하는 링크를 갖는 집합을 갖는 노드-링크 다이어그램(104)이 도시되어 있다. 도 2에 도시된 바와 같이 노드-링크 다이어그램(104)은 노드-링크 다이어그램(104) 내에서 구별되기 어려운 링크들의 밀집된 집합을 보여준다. 상기 대화형 링크 곡률 처리 모듈(102)은 노드-링크 다이어그램(104) 내 링크들의 시각적 표현을 개선하여 노드-링크 다이어그램(104)의 사용자 이해를 개선하도록 구성된다.
실시예는 노드-링크 다이어그램으로 국한되지 않으며 실시예는 그 밖의 다른 유형의 그래픽 표현, 비-제한적 예를 들면, 트리맵(treemap) 상의 링크 오버레이(link overlay), 트리, 그래프 등에도 적용될 수 있다.
도 1을 다시 참조하면, 사용자는 사용자 대화 모듈(106)을 통해 대화형 링크 곡률 처리 모듈(102)과 상호작용할 수 있다. 상기 사용자 대화 모듈(106)은 임의의 유형의 입력 장치 또는 입력 장치들의 조합에 의해 수신될 수 있는 사용자 입력을 처리하기 위한 임의의 기능을 나타낸다. 상기 입력 장치는 마우스, 키보드, 터치 스크린 디스플레이 등일 수 있다. 사용자 대화 모듈(106)은 마우스 클릭, 키스트로크(keystroke), 제스처, 터치, 음성 명령어, 및 그 밖의 다른 임의의 유형의 사용자 동작을 검출할 수 있다. 노드-링크 다이어그램(104)이 디스플레이되는 동안 사용자 동작이 검출될 때, 사용자 동작이 대화형 링크 곡률 처리 모듈(102)로 전송된다.
하나 이상의 노드에서의 인접한 링크들 간 분리간격을 확장함으로써, 특정 노드와 연관된 링크의 판독성을 개선하기 위해, 대화형 링크 패닝 모듈(110)이 사용될 수 있다. 도 3a를 참조하면, 노드로 들어가는 9개의 링크와 노드를 빠져나가는 4개의 링크를 갖는 노드 A(122)를 갖는 노드-다이어그램(124)의 일부분이 도시되어 있다. 노드로 들어가는 링크들 중 몇 개가 겹쳐서, 링크가 나타내는 흐름을 이해하는 것이 어려워진다. 도 3b는 각각의 링크 간 공간이 존재하도록 팬 아웃(fan out)된 노드 A(122)와 연관된 링크를 갖는 노드-링크 다이어그램(126)을 도시한다. 각각의 링크 간 공간은, 도 3c에서 도시된 바와 같이 노드-링크 다이어그램(128) 내 각각의 링크에 대해, 라벨(LABEL 1 - LABEL 9)을 삽입하도록 사용될 수 있다.
도 1을 다시 참조하면, 상기 대화형 번들링 모듈(112)이 사용됨으로써, 사용자는 링크를 더 명확하게 구별하는 레이아웃으로 자신이 보기를 원하는 링크들의 서브세트를 선택할 수 있다. 도 4는 대화형 번들링 기법의 예시를 도시한다. 사용자는 관심 링크를 통해 라인을 그림으로써 링크들의 서브세트를 선택할 수 있다. 상기 대화형 번들링 모듈(112)은 링크(131)의 레이아웃을 생성하며, 여기서, 번들 내 각각의 링크(134, 136, 138, 140, 142) 간에 각각의 링크가 쉽게 구별될 수 있게 하는 각 분리간격(angular separation)이 존재한다. 도 4에 도시된 바와 같이, 사용자에 의해 선택된 링크가 감쇠 원(132)에 디스플레이되고, 각각의 링크(134, 136, 138, 140, 142)는 거리 S만큼 각각의 인접한 링크로부터 분리된다.
도 1을 다시 참조하면, 대화형 링크 자석 모듈(114)에 의해 사용자는 동일한 특정 데이터 속성과 연관된 링크들의 곡률을 제어할 수 있다. 데이터 속성이 링크들의 서브세트와 연관된 식별자 또는 라벨일 수 있다. 예를 들어, 노드-링크 다이어그램은 각각의 루트가 링크들의 시퀀스로 구성된 항공 루트를 포함할 수 있다. 루트 내 각각의 링크가 루트를 제공하는 항공사(airline carrier)의 이름에 대응하는 데이터 속성(data attribute)과 연관될 수 있다. 사용자는 특정 항공사와 연관된 링크를 더 명확히 보기를 원할 수 있다. 가상 자석이 사용되어 링크를 자석의 위치를 향해 잡아 당김으로써 상기 링크가 노드-링크 다이어그램(104) 내 나머지 링크들로부터 구별 가능하도록 할 수 있다.
도 5a는 3개의 링크(152, 154, 156) 및 노드(148, 150)를 갖는 노드-링크 다이어그램의 일부분을 도시한다. 도 5b는 자석과 연관된 데이터 속성에 일치하는 데이터 속성을 갖는 링크(158)를 끌어 당기는 자석(160)의 배치를 보여준다. 자석(160)의 자기 강도가 노드(148, 150)의 위치를 변경하지 않으면서 링크(158)의 곡률을 변경한다. 도 5b에 도시된 바와 같이, 자기력의 방향이 각
Figure 112014086589128-pct00001
, 자석이 링크를 당기는 강도, 링크의 본래 위치로부터의 반경의 거리 r1에 의해 나타내어진다. 반경 r2는 자석의 중심까지의 새로운 곡률의 거리이다. 상기 자석(160)은 링크의 곡률을 수정된 링크(158)를 나타내는 스플라인 곡선을 생성하도록 사용되는 제어점(cl - c5)에 의해 정의된 곡선으로 변경한다.
링크 자석이 분명한 중앙점을 갖고 반경에 의해 자기 강도가 특징지어지는 원형 형태로 도시되었지만, 가령 폴리라인 자석(polyline magnet)과 같은 그 밖의 다른 형태가 사용될 수 있다. 예를 들어, 도 5c는 선형 포맷으로 배열된 2개의 자석(164, 166)을 갖는 라인 자석(168)을 도시한다. 각각의 자석(164, 166)은 도 5b와 관련하여 앞서 언급된 바와 같이 동작하며 사용자에게 노드-링크 다이어그램의 더 넓은 영역에 걸쳐 몇 개의 링크의 곡률을 제어할 수 있는 능력을 제공한다.
도 1을 다시 참조하면, 대화형 레전드 모듈(116)에 의해 사용자는 노드-링크 다이어그램의 일부인 레전드(legend)에서 보여지는 링크의 곡률을 나타내는 모델 곡선을 변경함으로써, 하나의 공통 속성을 공유하는 링크들의 서브세트의 곡률을 제어할 수 있다. 도 6a를 참조하면, 특정 박테리아 종의 반응을 도시하는 노드-링크 다이어그램(168)이 나타나 있다. 노드-링크 다이어그램(168)은 각각의 출발지 노드가 기질(substrate)이고 도착지 노드가 산물(product)인 방향성 그래프(directed graph)이다. 출발지 노드와 도착지 노드 간의 링크는 박테리아 종을 나타낸다. 노드-링크 다이어그램(168)이 노드-링크 다이어그램(168)에서 각각의 박테리아 종과 연관된 모델 곡선을 보여주는 레전드(170)를 가진다. 화농연쇄상구균 종을 나타내는 링크와 연관된 모델 곡선(178), 모-사피엔스(mo-sapiens) 종을 나타내는 링크와 연관된 모델 곡선(180), 및 대장균 종을 나타내는 링크와 연관된 모델 곡선(182)이 존재한다.
각각의 모델 곡선은 대응하는 제어점(172, 174, 176)를 가진다. 사용자가 특정 박테리아 종과 연관된 모델 곡선 상의 제어점을 사용하여 동일한 박테리아 종과 연관된 모든 링크의 곡률의 진폭 및 사각을 변경할 수 있다. 그 후 모델 곡선에 가해진 수정이 노드-링크 다이어그램 전체에서 상기 모델 곡선과 연관된 특정 박테리아 종과 연관된 모든 링크로 다시 전파된다. 도 6b는 전체 노드-링크 다이어그램(186) 전체에서 전파되는 링크 곡률 수정을 보여준다.
도 1을 다시 참조하면, 스플라인 렌더링 모듈(118)은 노드-링크 다이어그램에서 수정된 링크를 그리기 위해 사용될 수 있다. 상기 링크는 스플라인(가령, 베지어 스플라인(Bezier spline) 즉 B-스플라인 곡선, 카디널 스플라인 등)으로서 구현될 수 있는 곡선으로 구성된다. B-스플라인 곡선은 다 함께 연결되어 연속인 곡선을 형성하는 곡선 세그먼트의 시퀀스이다. 일반적으로 B-스플라인은 4개의 제어점와 다항 방정식의 세트로 정의된다. 스플라인 렌더링 모듈(118)은 제어점의 좌표 및 곡선을 나타내는 다항 방정식의 세트를 이용해 곡선을 구성한다.
B-스플라인 곡선이 제어점 및 매듭 벡터에 의해 정의된다. 상기 매듭 벡터는 매듭 포인트(knot point)들의 세트를 포함하며, 여기서 각각의 매듭 포인트는 곡선을 곡선 세그먼트(curve segment)로 분할하는 곡선 상의 위치이다. 매듭의 값이 사용되어, 전체 곡선의 형태를 변경하지 않고, 특정 곡선 세그먼트의 형태를 변경할 수 있다. 대화형 링크 곡률 처리 모듈(102)은 B-스플라인 곡선의 하나 이상의 곡선 세그먼트를 변경하여, 사용자의 동작에 부합하는 하나 이상의 링크의 곡률을 생성할 수 있다.
실시예들 중 일부가 설명 목적으로 B-스플라인 곡선과 관련하여 기재된다. 그러나 실시예는 B-스플라인 곡선에 국한되지 않으며, 그 밖의 다른 이러한 매끄러운 곡선이 사용될 수 있는데, 비-제한적 예를 들면, 이차 또는 삼차 베지어 곡선, 균일 또는 카디널 스플라인 등이 있다.
대화형 링크 패닝 모듈(110), 대화형 번들링 모듈(112), 대화형 링크 자석 모듈(114), 대화형 레전드 모듈(116), 및 스플라인 렌더링 모듈(118)은 프로세서에 의해 실행될 때 프로세서로 하여금 지정된 작업에 따른 방법 및/또는 동작을 수행하게 하는 컴퓨터 프로그램 명령의 시퀀스일 수 있다. 이들 모듈은 프로그램 코드, 프로그램, 프로시저, 모듈, 코드 세그먼트, 프로그램 스택, 미들웨어, 펌웨어, 메쏘드, 루틴 등으로서 구현될 수 있다. 실행 가능 컴퓨터 프로그램 명령은 지정 컴퓨터 언어, 방식 또는 구문론에 따라, 컴퓨터로 하여금 특정 기능을 수행하도록 명령하기 위해 구현될 수 있다. 상기 명령은 임의의 적합한 하이-레벨, 로우-레벨, 객체 지향, 비주얼, 컴파일된 및/또는 번역된 프로그래밍 언어를 이용해 구현될 수 있다.
대화형 링크 패닝 모듈(110), 대화형 번들링 모듈(112), 대화형 링크 자석 모듈(114), 및/또는 대화형 레전드 모듈(116) 중 임의의 하나 또는 이들의 조합이 컴퓨터 그래픽을 이용해 그래프 및/또는 다이어그램을 시각화하는 소프트웨어 애플리케이션으로 구현될 수 있다. 이러한 소프트웨어의 비-제한적 예시로는, 통합 개발 환경(IDE: Integrated Development Environment), 스프레드시트 프로그램, 그래픽 또는 다이어그램 편집기, 페이지 레이아웃 또는 설계 소프트웨어, 웹 브라우저, 프리젠테이션 그래픽 애플리케이션, 워드 프로세싱 애플리케이션 등이 있을 수 있다.
도 1에 도시된 시스템(100)은 특정 구성에서 제한된 개수의 요소를 갖지만, 시스템(100)은 대안 구성에서 이보다 많거나 적은 요소를 포함할 수 있다. 덧붙여, 다양한 실시예에서, 본 명세서에 기재된 시스템(100)은 복수의 요소, 프로그램, 프로시저, 모듈을 갖는 컴퓨터로 구현되는 시스템을 포함할 수 있다. 본 명세서에서 사용될 때, 이들 용어가 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어를 포함하는 컴퓨터 관련 개체에 관한 것임이 의도된다. 예를 들어, 요소는 프로세서, 하드 디스크 드라이브, (광학 및/또는 자기 저장 매체의) 복수의 저장 드라이브, 객체, 실행파일, 실행 스레드, 프로그램 및/또는 컴퓨터 상에서 실행되는 프로세스로서 구현될 수 있다. 예를 들어, 서버 상에서 실행 중인 애플리케이션과 서버 모두 요소일 수 있다. 하나 이상의 요소는 프로세스 및/또는 실행 스레드 내에 위치할 수 있으며, 요소는 경우에 따라 하나의 컴퓨터 상에 로컬화되거나 및/또는 둘 이상의 컴퓨터 상에 분산될 수 있다. 이러한 식으로 실시예는 제한되지 않는다.
이제 다시 다양한 예시적 방법에 대해 설명된다. 달리 언급되지 않는 한 나타낸 방법들이 반드시 제시된 순서로 또는 임의의 특정 순서로 실행되어야 하는 것은 아니다. 덧붙여, 방법과 관련하여 기재된 다양한 활동들이 순차적으로 또는 동시에 실행될 수 있고, 순차 및 동시 작업들의 임의의 조합으로 실행될 수 있다. 상기 방법은 설계 및 성능 제약의 특정 세트에 대해 필요한 대로, 기재된 실시예 또는 대안적 실시예의 하나 이상의 하드웨어 요소 및/또는 소프트웨어 요소를 이용해 구현될 수 있다. 예를 들어, 상기 방법은 로직 장치(가령, 범용 또는 특수 목적 컴퓨터)에 의해 실행되기 위한 로직(가령, 컴퓨터 프로그램 명령)으로 구현될 수 있다.
도 7은 노드-링크 다이어그램에서 링크의 곡률을 수정하기 위한 예시적 방법(200)의 흐름도를 도시한다. 방법(200)은 본 명세서에 기재된 하나 이상의 실시예에 의해 실행되는 동작 중 일부 또는 전부를 나타낼 수 있고 상기 방법은 도 7에 기재된 것보다 더 많거나 더 적은 동작을 포함할 수 있다.
도 7을 참조하면, 노드-링크 다이어그램이 제 1 레이아웃으로 사용자에게 디스플레이된다(블록(202)). 사용자 대화 모듈(106)은 노드-링크 다이어그램 상에서 수행되는 사용자 동작을 검출한다(블록(204)). 사용자 동작을 기초로 하여, 대화형 링크 곡률 방법들 중 하나가 활성화될 수 있다. 사용자가 노드의 링크를 팬 아웃하기 위해 터치, 제스처 등을 수행한 경우(블록(206)-예)), 상기 대화형 링크 곡률 방법이 수행될 수 있다(블록(208)). 그렇지 않은 경우(블록(206)-아니오), 사용자가 노드-링크 다이어그램 상의 링크들의 세트를 통해 선을 그린 경우(블록(210)-예), 대화형 링크 번들링 방법이 수행될 수 있다(블록(212)). 그렇지 않은 경우(블록(210)-아니오), 사용자가 자석의 사용을 촉진한 경우(블록(214)-예), 대화형 링크 자석 방법이 수행될 수 있다(블록(216)). 그렇지 않는 경우(블록(214)-아니오), 사용자가 레전드 내 모델링된 곡선 상의 제어점과 상호작용하는 경우(블록(218)-예), 대화형 링크 레전드 방법이 수행될 수 있다(블록(220)). 그렇지 않은 경우(블록(218)-아니오), 프로세스는 다음 사용자 동작을 기다린다(블록(204)). 각각의 방법의 수행(블록(208, 212, 216, 220))이 완료되면, 노드-링크 다이어그램의 새로운 레이아웃이 사용자에게 디스플레이되고(블록(209)) 프로세스는 다음 사용자 동작을 기다린다(블록(204)).
도 8은 대화형 링크 패닝을 수행하기 위한 예시적 방법(208)의 흐름도를 도시한다. 상기 방법(208)은 본 명세서에 기재된 하나 이상의 실시예에 의해 실행된 동작들 중 일부 또는 전부를 나타내는 것일 수 있으며 상기 방법은 도 8에 기재된 것보다 더 많거나 더 적은 동작을 포함할 수 있음을 알 것이다.
대화형 링크 패닝에서, 하나의 노드로 연결되는 인접한 링크들 간 분리간격(separation)이 증가되어 하나의 특정 노드로 연결된 링크의 판독성을 개선할 수 있다. 인접된 링크들 간 증가된 간격에 의해 레전드 또는 그 밖의 다른 표시(indicia)의 삽입이 하나의 링크와 연관될 수 있다. 하나 이상의 실시예에서, 목표 노드까지의 링크의 증가된 길이를 초래할 수 있더라도, 인접한 링크들 간 분리간격 거리가 동일한 크기이도록 계산될 수 있다. 또 다른 실시예에서, 인접한 링크들 간 분리간격 거리가, 초점 노드(focal node)에서 각자의 목표 노드로의 링크 각각의 길이를 최소화하고 링크 교차 횟수를 최소화하기 쉬운 원하는 확산 반경을 생성하기 위해 필요한 최소 크기이도록 계산될 수 있다.
대화형 링크 패닝 모듈(110)로의 입력은 다음일 수 있다: (1) 선택된 또는 초점 노드에 부착된 링크들의 세트, (2) 초점 노드의 중앙점, (3) 상기 초점 노드에 부착된 링크 각각에 대한 목표 노드의 중앙점, (4) 내부 곡선 세그먼트에 대한 제어점을 결정하기 위해 사용된 초점 노드의 중앙을 중심으로 하는 내부 원의 최소 반경 r1, (5) 추가 동심 원들의 개수 - 각각의 원이 추가 스플라인 세그먼트에 대한 제어점을 결정하기 위해 사용됨 - , (6) 인접한 링크들 간 최소 분리간격 S, 및/또는 (7) 동심원 각각에 대한 최소 반경 r1-rn. 동심원 각각은 추가 스플라인 세그먼트에 대해 제어점을 결정하도록 사용된다. 대화형 링크 패닝 모듈(110)의 출력이 각각의 링크의 수정된 곡률이 되는 곡선 세그먼트를 나타내는 제어점이다.
대화형 링크 패닝 모듈(110)이 초점 노드의 중앙에서 각각의 목표 노드의 중앙으로의 직선을 배치할 제어점을 결정함으로써 각각의 링크에 대한 초기의 배치를 결정한다. 이들 제어점이 내부 원의 원주 상에 배치된다. 이들 제어점은 초점 노드에서 이의 목표 노드까지의 최단 거리, 즉, 링크의 최소 길이를 나타낸다.
그 후 링크가 시계 방향 순으로 분석된다. 그 후 최소 분리각에 부합되지 않는 각각의 링크가 이전 링크의 체인에 넣어지고 최소 분리각을 초과하는 링크들은 새 체인 내에 배치된다. 각각의 체인은 최소 분리간격 요건을 충족하지 않는 인접한 링크를 포함한다. 모든 링크를 방문한 후, 체인들의 세트가 존재할 수 있다.
그 후 프로크루스테스 분석(Procrustes analysis)을 이용하여 각각의 체인 내 링크가 최소 각 분리간격을 만족시키도록 팬 아웃된다. 프로크루스테스 분석은 최소 분리각을 얻기 위해 체인 내 각각의 링크가 얼마나 이동해야 하는지를 가리키는 엄격한 비율(rigid scale) 및/또는 회전에 불변(rotation invariant)인 제약에 종속되는 예상(projection)을 찾기 위해 사용되는 수학적 기법이다. 이러한 예상에 의해, 타 링크를 가능한 적게 이동시키는 링크 각각에 대한 최적 이동량이 결정될 수 있다. 프로크루스테스 분석에 의해, 실시간으로 수행되는 이동량 결정의 고속 처리가 가능해진다. 그러나 패닝 후, 체인들 사이에, 링크가 인접한 링크에 지나치게 가까이 위치할 수 있는 새로운 오버랩이 만들어질 수 있다. 이러한 이유로, 체인이 재분석되고 패닝이 재적용될 수 있다.
도 8을 참조하면, 사용자 대화 모듈(106)이 사용자가 노드를 터치했음을 검출할 수 있다(블록(222)). 상기 사용자는 2-손가락 제스처(two finger gesture)를 이용하여 노드를 선택하고, 동시에 상기 노드를 감싸는 원의 반경(즉, 패닝 또는 확산 반경)을 제어할 수 있다(블록(222)). 도 10a를 참조하면, 노드(244) 상에서 대화형 링크 패닝을 개시하도록 사용될 수 있는 2-손가락 제스처가 도시되어 있다. 오른손(246)의 집게 손가락이 노드(244)를 선택하도록 사용될 수 있고, 왼손(250)의 집게 손가락이 초기 패닝 반경(248)을 제어하도록 사용될 수 있다.
다시 도 8을 참조하면, 인접한 링크들 간 최소 분리간격 및 동심원의 개수가 결정된다(블록(224)). 인접한 링크들 간 최소 분리간격(S)은 만족스러운 최소 각을 제공하기 위해 사용자에 의해 특정된 임의의 분리간격일 수 있지만, 다음의 범위 내여야 한다: S <= (링크의 수)/(내부 원의 원주). 내부 원의 원주는 사용자에 의해 제공된 패닝 반경을 기초로 한다. 추가 동심원의 개수와 치수는 사용자 입력이거나 최장 링크의 길이에 의해 자동으로 결정된 것일 수 있다. 추가 동심원 중 가장 큰 동심원의 반경이 초점 노드에서 가장 먼 목표 노드까지의 거리를 초과하지 않을 것이다. 각각의 동심원은 타 동심원에서의 제어점과 조합될 때 링크의 곡률을 형성하는 제어점의 세트를 생성하여 스플라인 세그먼트를 생성할 수 있다.
그 후 링크의 순서(ordering)가 결정된다(블록(226)). 하나 이상의 실시예에서, 순서는 링크의 초점 노드의 중앙에서부터 링크의 종단점의 시계방향 위치를 기초로 할 수 있다(블록(226)). 그 후, 초기 제어점이 내부 원의 원주 상에 배치되며, 제어점이 초점 노드의 중앙에서부터 이의 목표 노드의 중앙까지의 최단 길이를 갖는 곡선을 생성할 것이다(블록(228)). 그 후, 초점 노드의 중앙에서 목표 노드의 중앙까지의 각각의 링크의 길이를 최소화하면서 최소 분리각이 충족되도록 각각의 링크에 대해 분리간격의 각이 결정된다(블록(230)). 추가 제어점을 생성할 필요가 있는 각각의 추가 동심원에 대해 블록(226-230)이 반복된다. 추가 원이 필요한 경우(블록(232)-예), 블록(226 - 230)이 반복된다. 모든 원이 처리된 경우(블록(232)-아니오)), 각각의 링크가 제어점을 통과하는 매끄러운 곡선으로서 그려진다(블록(234)).
도 9는 각각의 링크에 대해 분리간격의 각을 결정하도록 사용되는 단계들을 도시한다. 각각의 링크는 앞서 블록(226)에서 결정된 시계방향 순서로 분석된다(블록(236)). 링크와 인접 링크 간 분리간격의 현재 각이 희망 최소 분리각보다 작은 경우, 링크는 시계방향 순서로 선행하는 링크 체인 내에 배치된다(블록(238)). 최소 분리각을 만족하는 제어점은 현재 원의 원주 상에 배치된다(블록(238)). 링크와 인접한 각 간의 분리간격의 현재 각이 최소 분리각보다 큰 경우, 링크는 새로운 체인 내에 배치된다(블록(240)). 모든 링크가 분석된 후, 각각의 체인이 분석된다.
각각의 체인에 대해(블록(242)), 체인 내 각각의 링크에 대해 최소 분리각을 만족하고 링크의 길이를 최소화하는 제어점을 결정하기 위해 프로크루스테스 분석이 사용된다(블록(244)). 프로세스가 도 8로 복귀한다.
도 10b는 2개의 동심원, 즉, 반경 r1을 갖는 내부 원(256), 및 반경 r2를 갖는 외부 원(258)을 이용해 노드(252)로 적용되는 대화형 패닝의 예시를 도시한다. 제어점(c1, c2, c3, c5)을 이용하여 곡선 세그먼트로부터 링크(260)에 대한 곡률이 형성된다. 내부 원(256) 상의 링크(253)과 링크(255) 간의 분리각 S1이 최소 분리간격 거리를 충족시키고 외부 원(258) 상의 링크(259)와 링크(261) 간 분리각 S2가 최소 분리간격 거리를 충족시킨다.
대화형 번들링을 살펴보자. 도 11은 대화형 번들링을 수행하기 위한 예시적 방법(212)의 흐름도를 도시한다. 방법(212)은 본 명세서에 기재된 하나 이상의 실시예에 의해 실행된 동작들 중 일부 또는 전부를 나타낼 수 있고 상기 방법은 도 11에 기재된 것보다 더 많거나 더 적은 동작을 포함할 수 있음이 자명하다.
도 4 및 11을 참조하면, 사용자는 관심 링크들의 세트를 통과하도록 하나의 선을 배치함으로써 링크들의 세트를 묶기(bundle) 위해 자신의 선호를 나타낼 수 있다(블록(264)). 상기 선은 사용자의 컴퓨팅 장치로부터의 키스트로크, 마우스 클릭, 터치, 제스처 등을 통해 노드-링크 다이어그램(104) 상에 마킹될 수 있다. 상기 선은 선의 중앙점을 중심으로 갖는 감쇠 원(attenuation circle)(132)을 생성하도록 사용된다. 상기 감쇠 원(132) 내부의 링크들은 서로에 대해 더 큰 각 분리간격을 갖고 디스플레이되며, 따라서 사용자가 더 잘 볼 수 있게 된다.
링크들 간에 최소한의 교차가 존재할 때 링크들은 더 잘 보인다. 이러한 이유로, 대화형 번들링 모듈(112)은 노드들 간에 발생하는 링크 교차의 횟수를 최소화하는, 노드를 들어가고 나오는 링크들의 순서를 결정한다. 이러한 순서를 결정하는 문제는 고전적인 철도 노선 교차 최소화 문제이다. 대화형 번들링 모듈(112)은 철도 노선 교차 최소화 문제에 대한 잘 알려진 해법 중 임의의 것을 이용하여 이러한 순서화를 결정할 수 있다(블록(266)). 그 후, 각각의 링크의 수정된 링크 곡률을 렌더링하기 위해 필요한 스플라인이 결정된다(블록(268)). 감쇠 원의 크기에 대한 기본 값(즉, R, 감쇠 원의 반경) 및 2개의 인접한 링크들 간 최소 분리간격, S가 결정된다. 그 후 감쇠 원(132)은 수정된 링크 곡률을 갖는 링크를 보여주면서 사용자를 위한 디스플레이 상으로 렌더링될 수 있다(블록(270)).
그 후 사용자는 감쇠 원(132)을 편집할 수 있다(블록(272)). 사용자는 감쇠 원(132)으로 들어오는 링크를 편집하거나 상기 감쇠 원(132)의 크기를 조절하거나 상기 링크 또는 감쇠 원(132)에 그 밖의 다른 임의의 유형의 편집을 할 수 있다(블록(272)). 사용자가 링크 및/또는 감쇠 원에 한 편집은 R 및 S의 값을 변경함으로써, 대화형 번들링 모듈(112)이 감쇠 원(132) 내에서 보이는 링크 곡률을 재-계산할 것을 요구할 수 있다. 이러한 상황에서(블록(272)-예), 상기 대화형 번들링 모듈(112)은 블록(266-272)에서 나타난 프로세싱을 반복한다. 사용자가 번들링된 링크 또는 감쇠 원(132)에 어떠한 추가 편집도 하지 않을 때(블록(272)-아니오), 방법은 도 7로 복귀한다.
도 12는 대화형 링크 자석 기법의 예시적 방법(216)의 흐름도를 도시한다. 상기 방법(216)은 본 명세서에 기재된 하나 이상의 실시예에 의해 실행되는 동작들 중 일부 또는 전부를 나타낼 수 있고, 상기 방법은 도 12에 기재된 것보다 더 많거나 더 적은 동작을 포함할 수 있음이 자명할 것이다.
링크 자석은 물리적 자석의 거동을 흉내내는 시각화 기법이다. 물리적 자석은 강자성 물질을 갖는 물체를 자신에게 끌어 당기고 다른 유형의 물질로 구성된 물체를 밀어 내는 자기력을 가진다. 물리적 자석의 자기력은 자석의 중앙으로부터의 소정의 반경 내에 존재한다. 링크 자석이 특정 데이터 속성과 연관된 링크를 자신을 향해 끌어 당기도록 구성된다. 링크 자석은 링크 자석의 반경 내에서 링크를 끌어 당길 수 있게 하는 자기 강도를 가질 수 있다. 사용자에게 자석의 자기 강도 및 자석이 끌리는 하나 이상의 데이터 속성을 특정할 수 있는 능력이 제공된다. 링크 자석은 소정의 반경 내에서 공통 데이터 속성을 갖는 링크를 검색하고 상기 자석을 향해 링크의 곡률을 이동시키도록 프로그램되는 드래그 가능한 그래픽 소프트웨어로서 구현될 수 있다.
도 12를 참조하면, 대화형 링크 자석 모듈(114)이 링크들의 서브세트 위에 위치하는 자석의 사용을 검출한다(블록(274)). 그 후, 링크 자석이 자석의 강도 또는 지정 반경 내에서 링크 자석과 연관된 데이터 속성과 일치하는 데이터 속성과 연관된 링크를 검출한다(블록(276)). 링크와 일치하는 것들에 대해, 대화형 링크 자석 모듈(114)은 링크 자석을 통해 사용자가 제시한 방향 및 거리에서 각각의 일치하는 링크의 수정된 곡률을 렌더링하도록 요구되는 제어점을 생성한다(블록(278)). 그 후 스플라인 렌더링 모듈(118)은 일치하는 링크를 수정된 곡률 형태와 함께 사용자에게 렌더링할 수 있다(블록(280)).
대화형 링크 레전드 기법에 대해 살펴보자. 도 13은 대화형 링크 레전드 기법의 예시적 방법(218)의 흐름도를 도시한다. 상기 방법(218)은 본 명세서에 기재된 하나 이상의 실시예에 의해 실행되는 동작들 중 일부 또는 전부를 나타낼 수 있고, 상기 방법은 도 13에 기재된 것보다 더 많거나 더 적은 동작을 포함할 수 있음이 자명할 것이다.
사용자는 노드-링크 다이어그램과 연관된 레전드에서 나타난 식별된 유형의 모델 곡선의 곡률을 수정함으로써 링크들의 세트의 곡률을 제어한다(블록(282)). 하나 이상의 실시예에서, 모델 곡선은 B-스플라인을 기초로 할 수 있다. 도 14a를 참조하면, B-스플라인을 기초로 하는 모델 곡선을 갖는 레전드(288)가 도시되어 있다. 상기 레전드는 출발지 노드(290)와 목표 노드(292) 간 링크(294)에 대한 모델 곡선을 나타낸다. 상기 링크(294)는 사용자에 의해 곡선 상의 하나의 점 c1 과 상호작용함으로써 모델 곡선의 진폭 d 및 사각
Figure 112014086589128-pct00002
를 증가시키도록 수정되었다. 제어점 c2-c5는 모델 곡선 상에 대한 사용자의 액션에 따라 새로운 곡률을 생성하도록 공식화된다. 그러나 새로운 곡률이 동일한 유형의 그 밖의 다른 링크로 전파됨에 따라, 각각의 링크의 각자의 출발지 노드와 도착지 노드 간 다양한 거리로 인해 강력한 곡률 변경이 존재할 수 있다. 이러한 이유로, 각각의 링크의 출발지 노드와 도착지 노드 간 거리에 독립적인 링크의 진폭 및 전체 형태를 보존하는 모델 곡선의 또 다른 실시예가 도 14b를 참조하여 기재된다.
도 14b는 사인파 곡선을 갖는 모티프를 기초로 하는 대화형 모델 곡선(296)을 도시한다. 사용자는 곡선 상의 2개의 점, c1 및 c2와 상호작용함으로써 사인파 곡선의 진폭 및 주기성을 제어할 수 있다. 도 14c에 나타난 바와 같이 새로운 곡률(298)이 각각의 링크의 대응하는 출발지 노드와 도착지 노드 간의 거리에 독립적이기 때문에, 일관된 곡률을 갖는 각각의 대응하는 링크 상으로 용이하게 반복될 수 있다.
도 13을 다시 참조하면, 모델 곡선에 이뤄진 수정을 기초로 하여, 대화형 링크 레전드 모듈(115)이 노드-링크 다이어그램 전체에 걸쳐 식별된 유형의 링크의 곡률을 변경하기 위해 요구되는 필요한 기하학적 데이터를 생성한다(블록(284)). 그 후 이러한 기하학적 데이터가 사용되어, 노드-링크 다이어그램 전체에 걸쳐 새로운 곡률을 식별된 유형의 링크로 렌더링할 수 있다(블록(286)).
이하에서 예시적 동작 환경에 대해 기재된다. 도 15는 동작 환경(300)을 도시한다. 동작 환경(300)은 예시이며 실시예의 기능에 대한 어떠한 제한도 암시하려는 의도를 갖지 않는다. 실시예가 통신 프레임워크(304)를 통해 하나 이상의 서버(들)(306)과 통신하는 하나 이상의 클라이언트(들)(302)를 갖는 동작 환경(300)에 적용될 수 있다. 동작 환경(300)은 네트워크 환경, 분산 환경, 멀티프로세서 환경에서 구성되거나 원격 또는 로컬 저장 장치로 액세스할 수 있는 자립형 컴퓨팅 장치로서 구성될 수 있다.
클라이언트(302)는 하드웨어 장치, 소프트웨어 모듈, 또는 이들의 조합으로 구현될 수 있다. 이러한 하드웨어 장치의 비-제한적 예를 들면, 컴퓨터(가령, 서버, 개인 컴퓨터, 랩톱 등), 휴대전화기(cell phone), 개인 디지털 보조기, 또는 임의의 유형의 컴퓨팅 장치 등이 있을 수 있다. 클라이언트(302)는 또한 단일 실행 경로, 복수의 동시 실행 경로(가령, 스레드, 프로세스 등), 또는 그 밖의 다른 임의의 방식으로 실행되는 명령을 갖는 소프트웨어 모듈로서 구현될 수 있다.
서버(306)는 하드웨어 장치, 소프트웨어 모듈, 또는 이들의 조합으로서 구현될 수 있다. 이러한 하드웨어 장치의 비-제한적 예시로는, 컴퓨터(가령, 서버, 개인 컴퓨터, 랩톱 등), 휴대전화기, 개인 디지털 보조기, 또는 임의의 유형의 컴퓨팅 장치 등이 있을 수 있다. 또한 서버(306)는 단일 실행 경로, 복수의 동시 실행 경로(가령, 스레드, 프로세스 등), 또는 그 밖의 다른 임의의 방식으로 실행되는 명령을 갖는 소프트웨어 모듈로서 구현될 수 있다.
통신 프레임워크(304)는 클라이언트(302)와 서버(306) 간 통신을 촉진시킨다. 통신 프레임워크(304)는 임의의 잘 알려진 통신 기법, 가령, 패킷 교환 네트워크(packet-switched network)(가령, 공중 네트워크, 가령, 인터넷, 사설 네트워크, 가령, 기업 인트라넷 등), 회선 교환 네트워크(circuit-switched network)(가령, 공중 교환 전화 네트워크), 또는 (적절한 게이트웨이와 변환기를 갖는) 패킷 교환 네트워크와 회로 교환 네트워크의 조합과 함께 사용되기에 적합한 기법을 구현할 수 있다. 클라이언트(302)와 서버(306)가 통신 프레임워크(304)와 상호 운용 가능하도록 설계된 다양한 유형의 표준 통신 요소, 가령, 하나 이상의 통신 인터페이스, 네트워크 인터페이스, 네트워크 인터페이스 카드, 라디오, 무선 송신기/수신기, 유선 및/또는 무선 통신 매체, 물리적 커넥터 등을 포함할 수 있다. 유선 통신 매체의 예시로는, 전선, 케이블, 금속 도선, 인쇄 회로 기판, 백플레인(backplane), 스위치 패브릭(switch fabric), 반도체 물질, 꼬임 쌍 전선(twisted-pair wire), 동축 케이블, 광섬유, 전파 신호 등이 있을 수 있다. 무선 통신 매체의 예시로는 음향, 무선 주파수 스펙트럼, 적외선, 및 그 밖의 다른 무선 매체가 있을 수 있다.
각각의 클라이언트(들)(302)는 클라이언트(302)에게 로컬인 정보를 저장하는 하나 이상의 클라이언트 데이터 저장소(들)(308)로 연결될 수 있다. 각각의 서버(들)(306)은 서버(306)에게 로컬인 정보를 저장하는 하나 이상의 서버 데이터 저장소(들)(310)로 연결될 수 있다.
도 16은 예시적 컴퓨팅 장치(312)의 블록도를 도시한다. 상기 컴퓨팅 장치(312)는 하나 이상의 프로세서(314), 디스플레이(316), 네트워크 인터페이스(318), 메모리(320), 및 사용자 입력 인터페이스(322)를 가질 수 있다. 프로세서(314)는 임의의 상용화된 프로세서일 수 있고 듀얼 마이크로프로세서 및 멀티프로세서 아키텍처를 포함할 수 있다. 상기 디스플레이(316)는 터치 능력을 갖는 디스플레이를 포함하는 임의의 비주얼 디스플레이 유닛일 수 있다. 상기 네트워크 인터페이스(318)는 컴퓨팅 장치(312)와 네트워크 간 유선 또는 무선 통신을 촉진한다. 사용자 입력 인터페이스(322)는 컴퓨팅 장치(312)와 입력 장치, 가령, 키보드, 마우스, 터치 스크린 등 간 통신을 촉진한다.
메모리(320)는 실행 가능 프로시저, 애플리케이션, 및 데이터를 저장할 수 있는 임의의 컴퓨터 판독형 저장 매체일 수 있다. 상기 컴퓨터-판독형 매체는 전파 신호, 가령, 반송파를 통해 전송되는 변조된 데이터 신호와 관련이 없다. 이는 임의의 유형의 메모리 장치(가령, 랜덤 액세스 메모리, 리드-온리 메모리 등), 자기 저장장치, 휘발성 저장장치, 비-휘발성 저장장치, 광학 저장장치, DVD, CD, 플로피 디스크 드라이브 등일 수 있다. 상기 메모리(320)는 또한 하나 이상의 외부 저장 장치 또는 원격에 위치하는 저장 장치를 포함할 수 있다. 상기 메모리(320)는 기재된 실시예에 따라 프로세서에 의해 실행될 때 프로세서로 하여금 방법 및/또는 동작을 수행하도록 하는 실행 가능 컴퓨터 프로그램 명령을 저장할 수 있다. 실행 가능 컴퓨터 프로그램 명령은 컴퓨터에게 특정 기능을 수행하게 하도록 명령하는 지정 컴퓨터 언어, 방식 또는 구문에 따라 구현될 수 있다. 임의의 적합한 하이-레벨, 로우-레벨, 객체 지향, 비주얼, 컴파일 및/또는 번역된 프로그래밍 언어를 이용해 명령이 구현될 수 있다.
메모리(320)는 다음과 같은 명령 및 데이터를 포함한다:
Figure 112014086589128-pct00003
운영 체제(324),
Figure 112014086589128-pct00004
노드-링크 다이어그램(104),
Figure 112014086589128-pct00005
사용자 대화 모듈(106),
Figure 112014086589128-pct00006
대화형 링크 패닝 모듈(110),
Figure 112014086589128-pct00007
대화형 번들링 모듈(112),
Figure 112014086589128-pct00008
대화형 링크 자석 모듈(114),
Figure 112014086589128-pct00009
대화형 링크 레전드 모듈(116),
Figure 112014086589128-pct00010
스플라인 렌더링 모듈(118), 및
Figure 112014086589128-pct00011
그 밖의 다른 다양한 애플리케이션 및 데이터(326).
본 발명이 구조적 특징부 및/또는 방법적 동작 특정적인 언어로 기재되어 있지만, 이하의 특허청구범위에 정의된 발명은 앞서 기재된 특정 특징부 또는 동작에 반드시 제한되지 않는다. 오히려, 앞서 기재된 상기 특정 특징부 및 동작은 청구항을 구현하는 예시적 형태로서 개시된다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    제 1 시각적 레이아웃으로 노드-링크 다이어그램을 디스플레이하는 단계 - 상기 노드-링크 다이어그램은 복수의 노드 및 복수의 링크를 포함하며, 각각의 링크는 출발지 노드(source node)와 목표 노드(target node)를 연결하는 곡선임 - 와,
    링크들의 서브세트와 연관된 하나 이상의 링크의 곡률에 대한 수정을 지시하는, 상기 디스플레이되는 노드-링크 다이어그램에 대한 사용자 동작을 검출하는 단계와,
    원주 상에 상기 서브세트의 각 링크와의 교점을 가지는 감쇠 원(atenuation circle)을 생성하고, 상기 링크들의 서브세트를 상기 감쇠 원 내에 번들링하는 단계와,
    사용자에 의해, 상기 감쇠 원의 크기를 조정하는 단계와,
    상기 크기 조정된 감쇠 원에 비례하여 인접 링크들 사이의 분리 거리(separation distance)를 확대하는 단계와,
    제 2 시각적 레이아웃을 생성하는 단계 - 상기 제 2 시각적 레이아웃은 제 1 시각적 레이아웃과 상이한 각각의 링크의 수정된 곡률로 상기 서브세트 내의 각각의 링크를 디스플레이하고, 상기 수정된 곡률은 상기 서브세트 내의 각각의 링크에 연결된 출발지 노드 및 목표 노드의 위치를 변경하지 않으면서 각각의 링크의 곡률을 변경한 것임 - 를 포함하는
    컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 사용자 동작을 검출하는 단계는
    상기 링크들의 서브세트를 통과시키도록 그려진 라인으로부터 상기 링크들의 서브세트를 식별하는 단계와,
    상기 감쇠 원의 중심을 상기 라인의 중점으로 하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 링크들의 서브세트를 감쇠 원 내에 번들링하는 단계는
    링크 교차를 최소화하는 상기 링크들의 순서로부터 상기 감쇠 원 내의 각 링크의 위치를 결정하는 단계와,
    상기 링크들의 곡률을 변경하는 스플라인(spline)을 계산하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  4. 제3항에 있어서,
    상기 링크들의 순서는 철도 노선 교차 최소화 해법을 이용하는
    컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    인접한 링크들 사이의 분리각 내에 라벨(label)을 삽입하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    상기 사용자에 의해 상기 감쇠 원의 크기를 조정하는 단계는
    링크 교차를 최소화하는 상기 링크들의 순서로부터 상기 감쇠 원 내의 각 링크의 위치를 재결정하는 단계와,
    상기 링크들의 곡률을 변경하기 위한 스플라인을 재계산하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 분리 거리는 상기 감쇠 원의 반경 내의 각각의 인접한 링크 쌍 사이의 최소 거리와 동일한
    컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    사용자가 대화형 링크 자석(interactive link magnet)을 이용하여 상기 대화형 링크 자석과 동일한 데이터 속성을 갖는 링크의 곡률의 형상을 변경하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  9. 제1항에 있어서,
    링크 레전드(link legend)를 상기 노드 링크 다이어그램과 연관시키는 단계를 더 포함하되,
    상기 링크 레전드는 각각의 링크 유형에 대한 모델 곡선을 포함하고, 각각의 모델 곡선은 하나 이상의 제어점(control point)을 포함하며, 상기 제어점은, 수정될 경우, 상기 모델 곡선과 일치하는 링크의 타입과 연관된 모든 링크의 곡률을 변경하는
    컴퓨터로 구현되는 방법.
  10. 프로세서로 실행가능한 명령어가 저장되어 있는 컴퓨터로 판독가능한 저장 매체로서,
    상기 명령어는 실행될 경우에 방법을 수행하며, 상기 방법은
    제 1 시각적 레이아웃으로 노드-링크 다이어그램을 디스플레이하는 단계 - 상기 노드-링크 다이어그램은 복수의 노드 및 복수의 링크를 포함하며, 각각의 링크는 출발지 노드와 목표 노드를 연결하는 곡선임 - 와,
    링크들의 서브세트와 연관된 하나 이상의 링크의 곡률에 대한 수정을 지시하는, 상기 디스플레이되는 노드-링크 다이어그램에 대한 사용자 동작을 검출하는 단계와,
    원주 상에 상기 서브세트의 각 링크와의 교점을 가지는 감쇠 원을 생성하고, 상기 링크들의 서브세트를 상기 감쇠 원 내에 번들링하는 단계와,
    사용자에 의해, 상기 감쇠 원의 크기를 조정하는 단계와,
    상기 크기 조정된 감쇠 원에 비례하여 인접 링크들 사이의 분리 거리를 확대하는 단계와,
    제 2 시각적 레이아웃을 생성하는 단계 - 상기 제 2 시각적 레이아웃은 제 1 시각적 레이아웃과 상이한 각각의 링크의 수정된 곡률로 상기 서브세트 내의 각각의 링크를 디스플레이하고, 상기 수정된 곡률은 상기 서브세트 내의 각각의 링크에 연결된 출발지 노드 및 목표 노드의 위치를 변경하지 않으면서 각각의 링크의 곡률을 변경한 것임 - 를 포함하는
    컴퓨터로 판독가능한 저장 매체.
  11. 제10항에 있어서,
    상기 사용자 동작을 검출하는 단계는
    상기 링크들의 서브세트를 통과시키도록 그려진 라인으로부터 상기 링크들의 서브세트를 식별하는 단계와,
    상기 감쇠 원의 중심을 상기 라인의 중점으로 하는 단계를 더 포함하는
    컴퓨터로 판독가능한 저장 매체.
  12. 제10항에 있어서,
    상기 링크들의 서브세트를 감쇠 원 내에 번들링하는 단계는
    링크 교차를 최소화하는 상기 링크들의 순서로부터 상기 감쇠 원 내의 각 링크의 위치를 결정하는 단계와,
    상기 링크들의 곡률을 변경하는 스플라인을 계산하는 단계를 더 포함하는
    컴퓨터로 판독가능한 저장 매체.
  13. 제10항에 있어서,
    상기 분리 거리는 상기 감쇠 원의 반경 내의 각각의 인접한 링크 쌍 사이의 최소 거리와 동일한
    컴퓨터로 판독가능한 저장 매체.
  14. 제10항에 있어서,
    상기 방법은
    인접한 링크들 사이의 분리각 내에 라벨을 삽입하는 단계를 더 포함하는
    컴퓨터로 판독가능한 저장 매체.
  15. 제10항에 있어서,
    상기 사용자에 의해 상기 감쇠 원의 크기를 조정하는 단계는
    링크 교차를 최소화하는 상기 링크들의 순서로부터 상기 감쇠 원 내의 각 링크의 위치를 재결정하는 단계와,
    상기 링크들의 곡률을 변경하기 위한 스플라인을 재계산하는 단계를 더 포함하는
    컴퓨터로 판독가능한 저장 매체.
  16. 컴퓨터로 구현되는 방법으로서,
    제 1 시각적 레이아웃으로 노드-링크 다이어그램을 디스플레이하는 단계 - 상기 노드-링크 다이어그램은 복수의 노드 및 복수의 링크를 포함하며, 각각의 링크는 출발지 노드와 목표 노드를 연결하는 곡선임 - 와,
    링크들의 서브세트와 연관된 하나 이상의 링크의 곡률에 대한 수정을 지시하는, 상기 디스플레이되는 노드-링크 다이어그램에 대한 사용자 동작을 검출하는 단계와,
    원주 상에 상기 서브세트의 각 링크와의 교점을 가지는 감쇠 원을 생성하고, 상기 링크들의 서브세트를 상기 감쇠 원 내에 번들링하는 단계와,
    상기 감쇠 원에 들어가는 상기 링크들의 서브세트가 상기 제 1 시각적 레이아웃과 상이하도록, 사용자에 의해, 상기 링크들 중 하나 이상을 편집하는 단계와,
    제 2 레이아웃을 생성하기 위해 상기 편집된 감쇠 원 내의 각각의 링크의 곡률을 수정하는 단계와,
    제 2 시각적 레이아웃을 생성하는 단계 - 상기 제 2 시각적 레이아웃은 제 1 시각적 레이아웃과 상이한 각각의 링크의 수정된 곡률로 상기 서브세트 내의 각각의 링크를 디스플레이하고, 상기 수정된 곡률은 상기 서브세트 내의 각각의 링크에 연결된 출발지 노드 및 목표 노드의 위치를 변경하지 않으면서 각각의 링크의 곡률을 변경한 것임 - 를 포함하는
    컴퓨터로 구현되는 방법.
  17. 제16항에 있어서,
    상기 사용자에 의해 상기 링크들 중 하나 이상을 편집하는 단계는 상기 하나 이상의 링크와 연관된 제어점의 위치 또는 크기를 변경하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  18. 제16항에 있어서,
    상기 사용자에 의해 상기 링크들 중 하나 이상을 편집하는 단계는 인접한 링크들 사이의 분리 거리를 조정하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  19. 제16항에 있어서,
    상기 편집된 감쇠 원 내의 각각의 링크의 곡률을 수정하는 단계는
    링크 교차를 최소화하는 상기 링크들의 순서로부터 상기 감쇠 원 내의 각 링크의 위치를 결정하는 단계와,
    상기 결정된 위치에 기초하여 상기 링크들의 곡률을 변경하는 스플라인을 계산하는 단계를 더 포함하는
    컴퓨터로 구현되는 방법.
  20. 제18항에 있어서,
    상기 분리 거리는 상기 편집된 감쇠 원의 반경 내의 각각의 인접한 링크 쌍 사이의 최소 거리와 동일한
    컴퓨터로 구현되는 방법.
KR1020147025551A 2012-03-15 2013-03-01 링크의 곡률의 대화형 제어 기법 KR102092979B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/421,855 2012-03-15
US13/421,855 US8832582B2 (en) 2012-03-15 2012-03-15 Interactive control of the curvature of links
PCT/US2013/028480 WO2013138084A1 (en) 2012-03-15 2013-03-01 Interactive control of the curvature of links

Publications (2)

Publication Number Publication Date
KR20140136446A KR20140136446A (ko) 2014-11-28
KR102092979B1 true KR102092979B1 (ko) 2020-03-24

Family

ID=49158887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147025551A KR102092979B1 (ko) 2012-03-15 2013-03-01 링크의 곡률의 대화형 제어 기법

Country Status (6)

Country Link
US (3) US8832582B2 (ko)
EP (1) EP2825946B1 (ko)
JP (1) JP6126679B2 (ko)
KR (1) KR102092979B1 (ko)
CN (1) CN104169852B (ko)
WO (1) WO2013138084A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199454A1 (en) * 2014-01-10 2015-07-16 Brigham Young University Concurrent design and analysis of an engineering object
GB2532766A (en) 2014-11-27 2016-06-01 Ibm Interaction with a graph for device control
US20180173688A1 (en) * 2016-12-15 2018-06-21 Myscript System and method for management of handwritten diagram connectors
US11310121B2 (en) * 2017-08-22 2022-04-19 Moovila, Inc. Systems and methods for electron flow rendering and visualization correction
KR102113508B1 (ko) 2018-07-12 2020-05-22 한국과학기술연구원 촉각피드백 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751931A (en) 1995-04-18 1998-05-12 Lucent Technologies Inc. Three dimensional graphical display of information
US6154212A (en) 1997-11-06 2000-11-28 Lucent Technologies Inc. Method and apparatus for constructing network interfaces
JP2007317070A (ja) 2006-05-29 2007-12-06 Itochu Techno-Solutions Corp トポロジーグラフ表示システムおよびコンピュータプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363479A (en) 1992-07-02 1994-11-08 Microsoft Corporation System and method for rendering bezier splines
US5619632A (en) 1994-09-14 1997-04-08 Xerox Corporation Displaying node-link structure with region of greater spacings and peripheral branches
US5798769A (en) 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US6377259B2 (en) * 1998-07-29 2002-04-23 Inxight Software, Inc. Presenting node-link structures with modification
US8232995B2 (en) * 1998-07-29 2012-07-31 SAP America, Inc. Local relative layout of node-link structures in space with negative curvature
US6732114B1 (en) 2000-11-01 2004-05-04 Microsoft Corporation System and method for creating a customizable network diagram
JP3790679B2 (ja) * 2001-04-06 2006-06-28 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフデータ視覚化装置、グラフィックス作成方法、プログラム及び記憶媒体
US7110389B2 (en) 2001-11-19 2006-09-19 International Business Machines Corporation Fanning route generation technique for multi-path networks
US7656405B1 (en) * 2007-05-10 2010-02-02 At&T Corp. System and method for generating circular layout graphs
US7932907B2 (en) 2007-05-21 2011-04-26 Microsoft Corp. Layered graph layouts with a given aspect ratio
US8826174B2 (en) * 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US20110154234A1 (en) 2009-12-18 2011-06-23 Microsoft Corporation Layout projection using non-linear constraints
US8933937B2 (en) 2010-01-22 2015-01-13 Microsoft Corporation Visualizing a layered graph using edge bundling
CN101859224B (zh) * 2010-04-30 2012-04-18 陈铸 一种从数字图片图像中抠取目标对象的方法和系统
JP5343048B2 (ja) 2010-07-29 2013-11-13 日立ビークルエナジー株式会社 蓄電モジュールおよび蓄電装置
US9443334B2 (en) * 2011-05-05 2016-09-13 Microsoft Technology Licensing, Llc Routing edges with ordered bundles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751931A (en) 1995-04-18 1998-05-12 Lucent Technologies Inc. Three dimensional graphical display of information
US6154212A (en) 1997-11-06 2000-11-28 Lucent Technologies Inc. Method and apparatus for constructing network interfaces
JP2007317070A (ja) 2006-05-29 2007-12-06 Itochu Techno-Solutions Corp トポロジーグラフ表示システムおよびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Edgelens: An Interactive Method for Managing Edge Congestton on Graphs", Wong N et al, Information Visualization, 2003
"Supporting Interactive Graph Exploration Using Edge Plucking", Wong N et al, International Society for Optics and Photonics, 2007.

Also Published As

Publication number Publication date
EP2825946A4 (en) 2016-06-15
US8832582B2 (en) 2014-09-09
EP2825946B1 (en) 2018-12-12
US9940005B2 (en) 2018-04-10
JP2015521302A (ja) 2015-07-27
KR20140136446A (ko) 2014-11-28
US20130246958A1 (en) 2013-09-19
US20180210638A1 (en) 2018-07-26
CN104169852B (zh) 2017-11-07
WO2013138084A1 (en) 2013-09-19
JP6126679B2 (ja) 2017-05-10
US10635284B2 (en) 2020-04-28
CN104169852A (zh) 2014-11-26
US20140337803A1 (en) 2014-11-13
EP2825946A1 (en) 2015-01-21

Similar Documents

Publication Publication Date Title
US10635284B2 (en) Interactive control of the curvature of links
Bourdot et al. VR–CAD integration: Multimodal immersive interaction and advanced haptic paradigms for implicit edition of CAD models
US8610714B2 (en) Systems, methods, and computer-readable media for manipulating graphical objects
KR101224824B1 (ko) 임베디드 1-매니폴드 경로를 따라 아이템의 자동 레이아웃
KR100246066B1 (ko) 컴퓨터 그래픽 시스템 및 그래픽 시스템 동작 제어 방법
US10338672B2 (en) System and method for manipulating objects in a graphical user interface
EP2743825A1 (en) Dynamical and smart positioning of help overlay graphics in a formation of user interface elements
EP3693844A1 (en) Window switching interface
JP2003016465A (ja) グラフィックス・イメージ作成装置、及びその方法並びにプログラム
JP5992934B2 (ja) 三次元ビューイングの方法
US10169493B2 (en) Method for manipulating a computer aided design (CAD) model, computer program product and server therefore
US20170277381A1 (en) Cross-platform interactivity architecture
KR20160003683A (ko) 시각화된 데이터를 상호작용에 기초하여 자동으로 조작하는 기법
Dunne et al. Readability metric feedback for aiding node-link visualization designers
US8576223B1 (en) Multiple label display for 3D objects
US10193959B2 (en) Graphical interface for editing an interactive dynamic illustration
US9472024B2 (en) Computer-implemented method for designing a three-dimensional modeled object
US10496237B2 (en) Computer-implemented method for designing a three-dimensional modeled object
Eisner et al. Visual navigation through large directed graphs and hypergraphs
Guchev Effective User Interactions for Visual Analytics Tools.
US10613722B1 (en) Distorting a graph on a computer display to improve the computer&#39;s ability to display the graph to, and interact with, a user
US20150205478A1 (en) Content location interface
Ma et al. Modeling sketching primitives to support freehand drawing based on context awareness
Darakapalli Visualization of Knowledge Representation & Distributed Activation Spreading in Long-Term Memory
PINHEIRO An investigation through sci-fi movies and state-of-the-art literature on hand gesture-based interaction

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant