KR20100116133A - 컴퓨터 그래픽 시스템에서의 3차 베지어 제어 점의 생성 - Google Patents

컴퓨터 그래픽 시스템에서의 3차 베지어 제어 점의 생성 Download PDF

Info

Publication number
KR20100116133A
KR20100116133A KR1020100035704A KR20100035704A KR20100116133A KR 20100116133 A KR20100116133 A KR 20100116133A KR 1020100035704 A KR1020100035704 A KR 1020100035704A KR 20100035704 A KR20100035704 A KR 20100035704A KR 20100116133 A KR20100116133 A KR 20100116133A
Authority
KR
South Korea
Prior art keywords
points
point
computer
series
readable medium
Prior art date
Application number
KR1020100035704A
Other languages
English (en)
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 KR20100116133A publication Critical patent/KR20100116133A/ko

Links

Images

Classifications

    • 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/203Drawing of straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

상호대화형 컴퓨터 그래픽용 시스템은 일련의 점 중 연속하는 점들의 상대적 위치를 기초로, 상기 일련의 점으로부터 베지어 곡선을 생성하는 것을 가능하게 한다. 예를 들어, 일련의 점 중 연속하는 점에 대해, 점 A, 점 B 및 점 C가 일련의 점 중 연속하는 점들이며, 점 B에 대응하고, 선분 AB와 연계되는 제어 점이 수식 B+RA*(RA*(B-C)+RC*(A-B))에 의해 결정되고, 점 B에 대응하고 선분 BC와 연계되는 제어 점이, 수식 B+RC*(RA*(C-B)+RC*(B-A))에 의해 결정되는데, RA=│AB│/(│AB│+│BC│)이며, RC=│BC│/(│AB│+│BC│)이다.

Description

컴퓨터 그래픽 시스템에서의 3차 베지어 제어 점의 생성{GENERATION OF CUBIC BEZIER CONTROL POINTS IN COMPUTER GRAPHICS SYSTEMS}
본 발명은, 간단히, 그리고 일반적으로 말하자면, 컴퓨터 그래픽을 위한 컴퓨터에 의해 구현되는 방법 및 장치에 관한 것이며, 더 구체적으로 컴퓨터 그래픽 시스템에서 일련의 점들로부터 3차 베지어 제어 점(cubic Bezier control point)을 생성하는 것에 관한 것이다.
베지어 곡선(Bezier curve)은 컴퓨터 그래픽 시스템에서 곡선을 모델링하기 위해 사용되는 매개변수 곡선이다. 점 P0에서 점 P3까지의 3차 베지어 곡선은, 상기 점들과 2개의 제어 점 P1 및 P2에 의해 정의된다. 점 P0에서의 곡선의 접선이 제어 점 P1의 방향으로 존재하고, 점 P3에서의 곡선의 접선이 점 P2의 방향으로 존재한다. 상기 곡선은 다음의 매개변수 방정식에 의해 정의된다:
0≤t≤1인 t에 대하여,
B(t)=(1-t)3P0+3(1-t)2tP1+3(1-t)t2P2+t3P3.
일부 상호대화형 컴퓨터 그래픽 애플리케이션에 의해, 사용자는 마우스를 사용하여 베지어 곡선을 형성할 수 있다. 사용자는 마우스 버튼을 클릭 및 유지(click and hold)하여 점P0을 식별하고, 그 후, 버튼을 클릭한 채 마우스를 드래그(drag)하여 제어 점 P1의 희망 위치를 포인팅할 수 있다. 사용자가 마우스 버튼을 놓을 때, 현재의 포인터 위치는 제어 점 P1이 된다. 이 프로세스는 계속되어, (희망 위치를 포인팅하고, 클릭하고, 이를 유지함으로써) 점 P3을 형성하고, (마우스를 희망 위치까지 드래그하고, 마우스 버튼을 놓음으로써) 점 P2를 형성할 수 있다. 이러한 방식으로, 사용자가 베지어 곡선을 형성할 수 있다.
덧붙이자면, 일부 상호대화형 컴퓨터 그래픽 애플리케이션에 의해, 사용자는 점 P0 및 P3뿐 아니라 제어 점 P1 및 P2를 클릭하고 드래그함으로써, 형성된 베지어 곡선을 조작할 수 있다. 이러한 방식으로, 사용자는 희망 형태를 얻기 위해, 곡선을 재형성할 수 있다. 그러나 포인팅하고, 점 식별을 제어하기 위한 클릭-앤-드래그(click-and-drag) 방식은 프리핸드 드로잉(freehand drawing)과 크게 다르고, 어떤 이들에게는 번거로울 수 있으며, 이는 창조력을 무디게 할 수 있다.
일반적으로, 일련의 점들로부터 베지어 곡선(Bezier curve)을 생성하는 것을 가능하게 하는 시스템이 개시된다. 상기 시스템은 데이터 로직 프로세싱을 위한 수단과, 사용자 입력을 수신하기 위한 입력 수단과, 컴퓨터 판독형 매체를 포함한다. 일련의 점이 상기 입력 수단에 의해 수신되어, 상기 데이터 로직 프로세싱을 위한 수단에 의해 프로세싱되기 위해 컴퓨터 판독형 매체로 전송된다. 상기 데이터 로직 프로세싱을 위한 수단은 상기 컴퓨터 판독형 매체로부터 일련의 점 중 점들을 불러오고(retrieve), 상기 일련의 점 중 연속하는 점들 간의 상대적 거리에 따라 하나 이상의 점에 대응하는 제어 점을 계산한다. 데이터 로직 프로세싱을 위한 수단은 상기 계산된 제어 점과 상기 일련의 점을 이용하여 베지어 곡선을 생성하고, 상기 생성된 베지어 곡선은 컴퓨터 판독형 매체에 저장된다.
일부 구현예에서, 제어 점은, 상기 일련의 점 중 연속하는 점인 점 A, 점 B 및 점 C로부터 다음과 같이 계산된다. 다음: (ⅰ) 점 B에 대응하고 선분 AB와 연계되는 제어 점이 수식 B+RA*(RA*(B-C)+RC*(A-B))에 의해 결정되고, (ⅱ) 점 B에 대응하고 선분 BC와 연계되는 제어 점은, 수식 PBBC=B+RC*(RA*(C-B)+RC*(B-A))에 의해 결정된다. 이 계산식에서, RA=│AB│/(│AB│+│BC│)이며, RC=│BC│/(│AB│+│BC│)이다.
이 기법은 컴퓨터 그래픽 애플리케이션에서 베지어 곡선을 형성하기 위한 개선된 방법을 제공한다. 예를 들어, 입력 수단은 컴퓨터 키보드, 컴퓨터 포인팅 장치(가령, 마우스) 등으로 구현될 수 있다. 일부 구현예에서, 사용자는 마우스를 이용하여 포인팅하고 클릭하여, 일련의 점 중 연속하는 점들을 정의하며, 상기 일련의 점 중 연속하는 점들의 상대적 위치에 따라서, 최종적인 일련의 점이 베지어 곡선으로 변형된다. 생성된 베지어 곡선은, 예를 들어, 추가적인 프로세싱 및/또는 디스플레이를 위해 컴퓨터 판독형 매체에 저장될 수 있다.
또한, 일반적으로, 상호대화형 컴퓨터 그래픽 시스템의 그래픽 사용자 인터페이스에서 베지어 곡선을 형성하기 위한 방법이 개시되며, 상기 방법은, 상호대화형 컴퓨터 그래픽 시스템의 그래픽 사용자 인터페이스를 통해 사용자에 의해 각각 식별되는 제 1 점 A, 제 2 점 B 및 제 3 점 C를 수신하는 단계를 포함한다. 상기 시스템은, 수식 B+RA*(RA*(B-C)+RC*(A-B))을 이용하여(이때, RA=│AB│/(│AB│+│BC│)이며, RC=│BC│/(│AB│+│BC│)임), 점 B에 대응하며 선분 AB와 연계되는 제어 점을 계산하고, 수식 B+RC*(RA*(C-B)+RC*(B-A))를 이용하여, 점 B에 대응하고 선분 BC와 연계되는 제어 점을 계산하도록 구성된다. 상기 시스템은 점 A, 점 B 및 점 C를 저장하고, 점 B와 연계되어, 상기 점 B와 연계된 제 1 제어 점 및 제 2 제어 점을 저장하는 베지어 곡선 데이터 구조를 생성하도록 더 구성된다. 상기 베지어 곡선 데이터 구조는 컴퓨터 그래픽 시스템에 의한 디스플레이와 사용자에 의한 조작을 위해 렌더링될 수 있는 곡선을 정의한다.
또한, 일반적으로, 데이터 로직 프로세싱을 위한 수단과, 컴퓨터 판독형 매체와, 경로 데이터를 수신하고 상기 컴퓨터 판독형 매체 상에 상기 경로 데이터를 저장하는 입력 장치를 포함하는 시스템이 개시된다. 상기 경로 데이터로부터 일련의 점이 식별되고, 데이터 로직 프로세싱을 위한 수단에 의해 프로세싱되기 위해 컴퓨터 판독형 매체에 저장된다. 데이터 로직 프로세싱을 위한 수단은 상기 컴퓨터 판독형 매체로부터, 상기 식별된 일련의 점 중 점들을 불러오고, 상기 식별된 일련의 점 중 연속하는 점들 간의 상대적 거리에 따라 하나 이상의 점에 대응하는 제어 점을 계산한다. 데이터 로직 프로세싱을 위한 수단이 상기 계산된 제어 점 및 상기 식별된 일련의 점을 이용하여 베지어 곡선을 생성하고, 상기 생성된 베지어 곡선이 컴퓨터 판독형 매체에 저장된다. 일련의 점은, 예를 들어 지정된 간격에 따라, 경로 데이터로부터 식별될 수 있으며, 상기 지정된 간격은 거리 기반, 시간 기반, 특징부 기반 등일 수 있다. 상기 입력 장치는, 임의의 방식으로, 예를 들어, 마우스, 터치 스크린 등과 같은 사용자 입력 장치를 통해, 또는 메모리, 저장 장치, 네트워크 인터페이스 등과 같은 컴퓨터 판독형 매체를 통해, 경로 데이터를 수신할 수 있다.
하나 이상의 구현예의 세부사항이 첨부되는 도면과 이하의 기재에서 제공된다. 상세한 설명, 도면 및 청구범위로부터 그 밖의 다른 특징 및 이점이 명백할 것이다.
도 1a는 베지어 곡선의 생성을 위해 사용될 점들의 시퀀스를 도시하는 도면이다.
도 1b는 선분 AB 및 BC의 상대적 길이를 기초로 이뤄지는 상대 값 RA 및 RC의 계산을 나타내는 도면이다.
도 1c는 점 B에 대응하는 제어 점의 계산을 도시하는 도면이다.
도 1d는 제어 점 및 종단점의 위치를 나타내는 베지어 곡선의 도면이다.
도 1e는 도 1d에서 나타나는 종단점 및 제어 점을 갖는 베지어 곡선의 도면이다.
도 2는 본 발명의 하나의 실시예에 따라 생성된 제어 점의 도면이다.
도 3은 점들의 시퀀스로부터 베지어 곡선을 생성하기 위해 사용될 수 있는 컴퓨터 시스템의 블록도이다.
도 4는 점들의 시퀀스로부터 베지어 곡선을 생성하기 위한 프로세스의 순서도이다.
도 5는 점들의 시퀀스로부터 베지어 곡선을 생성하기 위한 시스템의 블록도이다.
도 6은 컴퓨터 판독형 매체에 베지어 곡선을 저장하기 위한 데이터 구조의 도면이다.
도 7a는 베지어 곡선으로 변환되기 위한 예시적 경로를 나타내는 도면이다.
도 7b는 도 7a에서 나타난 경로를 따르는 제어 점의 위치를 나타내는 도면이다.
도 1a 내지 1e를 참조하여, 본 명세서는 일련의 점들로부터 베지어 곡선을 생성하기 위한 다양한 기법을 제공한다. 이들 기법은, 예를 들어, 상호대화형 컴퓨터 그래픽 애플리케이션(가령, 벡터-기반 컴퓨터 드로잉 툴, 컴퓨터-보조형 설계(CAD) 툴, 시각화 툴, 컴퓨터 애니메이션 툴, 그래픽 설계 툴 등)에서 사용될 수 있다. 사용자는 개선된 그래픽 사용자 인터페이스를 이용해, 단순히 포인팅하고 클릭하여, 희망 베지어 곡선 상의 일련의 점들로 된 연속적인 점들을 형성함으로써, 상호대화형 컴퓨터 그래픽 애플리케이션의 문서에 베지어 곡선을 삽입할 수 있다. 상기 일련의 점들은, 예를 들어, i) 각각의 연속적인 점이 입력됨에 따라, 또는 ii) 점들의 전체 시퀀스가 입력되고 난 후, 하나의 베지어 곡선으로 변환된다. 이러한 방식으로, 사용자가 제어 점을 특정할 필요 없이, 사용자에 의해 베지어 곡선이 형성될 수 있다. 제어 점은 특정 점들 간의 상대적 거리를 기초로, 자동으로 형성된다. 본원에서 기재되는 기법은, 2개의 인접한 점의 상대적 위치로부터 제어 점을 외삽하는 것을 가능하게 하고, 상기 2개의 인접한 점의 위치에 관계없이, 안정적인 제어 점을 제공한다. 이 기법은 간편함과 수학적 완성도를 양립시킨다.
본원에서 사용될 때, 구문 “베지어 곡선(Bezier curve)”은 본 명세서의 배경기술 부분에서 제공된 공식에 의해 형성되는 곡선으로만 국한되어서는 안된다. 오히려, 출원인은 구문 “베지어 곡선”을, 예를 들어, 하나의 단일 베지어 곡선 선분뿐 아니라, 끝과 끝이 연결된 일련의 베지어 곡선 선분(종종 베지어 스플라인(bezier spline)이라고 일컬어짐)까지 더 넓게 포함하도록 사용한다.
예를 들어, 합리적으로 매끄럽게 연결된 일련의 3차 베지어 선분을 생성하도록, 인접하는 점들의 상대적 위치를 기초로 제어 점을 생성함으로써, 도 1a에서 나타난 3개의 점, 즉, 점 A(12), 점 B(14) 및 점 C(16)로부터 베지어 곡선이 생성될 수 있다. 다음에서, 예를 들어, 점 B(14)에 대응하는 제어 점의 생성을 기재하겠다.
점 B(14)에 인접하는 제어 점은 점 A(12)와 점 C(16)의 상대적 위치를 기초로 생성될 수 있다. 3차 베지어 곡선 선분은 2개의 종단점과, 각각의 종단점에서 접선을 형성하는 2개의 제어 점에 의해 형성된다. 이 기법은 점 B(14)에서, 상기 점 B(14)를 공유하는 2개의 3차 베지어 선분 AB 및 BC에 기여하는 제어 점을 외삽한다. 선분 AB에 따르는 2개의 제어 점을 PAAB와 PABB로 일컫고, 선분 BC에 따르는 2개의 제어 점을 PABB와 PBBC라고 일컫겠다.
제어 점의 위치는 AB와 BC 간의 거리의 비에 따라 달라진다. │AB│ 및 │BC│는 선분 AB 및 BC의 길이이다. 상기 비는,
RA=│AB│/(│AB│+│BC│)
RC=│BC│/(│AB│+│BC│)
와 같이 정의될 수 있다.
A, B 및 C는 위치 벡터로서 취급되며, 제어 점 PABB 및 PBBC는,
PABB=B+RA*(RA*(B-C)+RC*(A-B))
PBBC=B+RC*(RA*(C-B)+RC*(B-A))
와 같이 정의된다.
도 1b를 참조하면, 점 B(14)에 대응하는 제어 점은 점 B(14)와 인접하는 종단점(12 및 16) 간의 거리에 따라 달라진다. 도 1b는 거리│AB│를 2.24로 나타내며, 거리│BC│는 2.82로 나타낸다. 거리의 합│AB│+│BC│은 5.06이다. RA와 RC를 계산하면,
RA=│AB│/(│AB│+│BC│)=2.24/5.06=0.44이고,
RC=│BC│/(│AB│+│BC│)=2.82/5.06=0.56이다.
도 1c를 참조하여, 이들 비 RA 및 RC가 제어 점 PABB(20) 및 PBBC(18)를 계산하기 위해 사용된다. 제어 점 PABB(20)는, 위치 벡터 PABB=B+RA*(RA*(B-C)+RC*(A-B))=0.44(0.44(B-C)+0.56(A-B))에 의해 정의된다. 도 1c는 벡터 RC(A-B)와 RA(B-C)의 합을 나타내며, 상기 합의 결과 값은 계수 RA=0.44에 의해 비율조정된다. 마찬가지로, 제어 점 PBBC(18)가 위치 벡터 PBBC=B+RC*(RA*(C-B)+RC*(B-A))에 의해 정의된다. 도 1c는 벡터 RC(B-A)와 RA(C-B)의 합을 나타내며, 상기 합의 결과 값은 계수 RC=0.56에 의해 비율조정된다. 이러한 방식으로, 벡터가 점 B(14)에서 매끄러운 접선을 형성한다. 제어 점(20 및 18)과 점 A(12), B(14) 및 C(16)에 대응하는 최종 베지어 곡선(22)이 도 1d에서 나타나며, 컴퓨터 그래픽 애플리케이션에서 렌더링될 베지어 곡선(22)은 도 1e에서 나타난다.
베지어 곡선을 생성하기 위해, 종단점의 시퀀스로부터 제어 점을 묵시적으로 생성함으로써, 사용자는, 예를 들어, 컴퓨터 그래픽의 프리핸드 생성을 용이하게 하는 직관적인 인터페이스를 제공받을 수 있다. 그 후, 사용자가 원하는 대로 베지어 곡선을 다듬기 위해, 최종 종단점 및 제어 점이 종래의 방식으로 조작될 수 있다. 이 기법은 시퀀스 내 각각의 점에 적용될 수 있다.
시퀀스 내 첫 번째 점과 마지막 점을 다루기 위해서, 앞서 설명된 기법이 수정될 수 있다. 예를 들어, 첫 번째 점과 연계되는 제어 점 및 마지막 점과 연계되는 제어 점 자체가 점으로 설정될 수 있다. 덧붙이자면, 앞서 설명된 기법이 광범위한 컴퓨터에 의해 구현되는 시스템, 가령, 컴퓨터 이용 설계(CAD) 툴, 그래픽 편집기, 워드 프로세서, 엔터테인먼트 소프트웨어 등에서 사용될 수 있다.
도 2는 점 A 및 B의 상대적 위치에 대한 제어 점(24 및 26)의 상대적 위치를 도시한다. 예를 들어, 제어 점(24)은 벡터(B-C) 및 (A-B) 사이의 선 상에 놓인다. 이 선의 방향은 비│AB│:│BC│에 의해 결정되고, 이러한 선을 따르는 제어 점(24)의 위치가 상기 비에 의해 결정된다. 마찬가지로, 제어 점(26)의 위치가 상기 선을 따르며, 점 B에 대하여 반대 방향에 놓인다. 점(24 및 26)이 상기 선을 따라 놓이기 때문에, 어떠한 비│AB│:│BC│에 대해서라도 점 B에서의 접선은 연속이다.
도 3을 참조하면, 본원에서 기재된 기법에 따라, 베지어 곡선을 생성하기 위한 컴퓨터 시스템(30)이 존재한다. 상기 컴퓨터 시스템(30)은 버스(32)를 포함하며, 상기 버스(32)는 프로세서(34), 메모리(38), 데이터 저장소(40), 디스플레이(36) 및 입력 장치(38)를 연결한다. 일반적으로, 이는 공지된 폰 노이만 아키텍처에 관련되어 있지만, 해당업계 종사자라면 본원에서 기재된 기법은 그 밖의 다른 컴퓨터 아키텍처, 가령, 별도의 데이터 및 인스트럭션 버스를 갖는 컴퓨터 시스템에도 동일하게 적용 가능함을 알 것이다. 상기 컴퓨터 시스템(30)은 데이터 저장소(40), 또는 그 밖의 다른 임의의 컴퓨터 판독형 매체에 저장된 인스트럭션을 포함한다. 실행될 때 이들 인스트럭션은, 프로세서(34)로 하여금 메모리(38)에 저장된 일련의 점들을 베지어 곡선으로 변형하고, 상기 베지어 곡선을 메모리(38)에 저장하도록 컴퓨터 시스템(30)을 구성한다. 상기 프로세서(34)는 메모리(38)에 저장된 베지어 곡선을 종래의 방식으로 렌더링함으로써, 상기 곡선을 디스플레이한다. 이러한 렌더링된 곡선은 디스플레이(36)를 이용하여 볼 수 있다. 바람직한 구현예에서, 점들은 일련의 점으로 존재하며, 마우스, 키보드 및/또는 이들의 조합을 이용하여 입력된다. 그러나 입력 장치(38)는, 키보드, 마우스, 트랙볼, 트랙 패드, 회전식 포인팅 장치(gyroscopic pointing device) 등 중에서 하나 이상으로서 구현될 수 있다.
상기 프로세서(34)는 일련의 점들을 하나의 베지어 곡선으로 변환하기 위한 인스트럭션을 실행할 수 있는 임의의 장치, 가령, 개인용 컴퓨터, 랩톱 및/또는 모바일 장치에서 일반적으로 사용되는 프로세서를 포함한다. 덧붙이자면, 상기 프로세서(34)는 동시 및 병렬 실행을 위한 다중 코어를 포함할 수 있다.
도 4를 참조하면, 시퀀스 내 첫 번째 점에서 시작하는 일련의 점들로부터 하나의 베지어 곡선을 생성하기 위한 방법이 도시되어 있다. 이 기법은 현재 관심 점 앞에 위치하는 점과 뒤에 위치하는 점의 상대적 위치를 사용한다. 그러나 첫 번째 점에 대해서는 시퀀스 내 어떠한 이전 점도 존재하지 않는다. 따라서 대응하는 제어 점이 형성되지 않은 채 남겨질 수 있거나, 제어 점이 첫 번째 점과 동일한 위치로 설정될 수 있다. 다음 점 시퀀스로 이동함으로써(42), 프로세스는 계속된다. 이 경우, 시퀀스 내 두 번째 점에 해당된다.
시퀀스 내에 3개 이상의 점이 존재한다고 가정하면(즉, 두 번째 점이 시퀀스 내 마지막 점이 아닌 경우), 상기 프로세스가 일련의 점 중 중간 점들에 대해 반복되어, 각각에 대해 연계된 제어 점을 계산한다. 시퀀스 내 마지막 점에 도달될 때, 프로세스가 종료된다(44). 점이 남아 있는 한, 시퀀스 내 현재 점에 대해 제어 점을 계산함으로써(46), 프로세스는 계속된다. 제어 점이 계산된 후, 상기 프로세스는 시퀀스 내 다음 점으로 진행하며(42), 시퀀스 내 마지막 점에 도달될 때까지, 계속 반복 된다. 시퀀스 내 마지막 점과 연계되는 제어 점은 정의되지 않은 채 남겨질 수 있거나, 시퀀스 내 첫 번째 점과 동일한 위치로 설정될 수 있다.
이 프로세스는, 모든 점이 입력되면, 또는 점이 입력될 때마다 순차적으로 수행될 수 있다. 예를 들어, 사용자가 첫 번째 점과 두 번째 점을 클릭할 수 있다. 사용자가 시퀀스 내 세 번째 점을 클릭할 때, 상기 두 번째 점에 대응하는 제어 점이 계산될 수 있으며, 상기 첫 번째 점에서 시작하여 상기 제어 점에 따라 두 번째 점을 통과하며 상기 세 번째 점에서 끝나는 베지어 곡선을 보여주기 위해 디스플레이가 업데이트될 수 있다. 네 번째 점이 추가되는 경우, 두 번째 점과 네 번째 점이 사용되어 상기 세 번째 점에 대응하는 제어 점을 설정할 수 있으며, 이에 따라 디스플레이가 업데이트될 수 있다.
이 프로세스는, 가령, 컴퓨터 그래픽 시스템에서 일련의 점들로부터 하나의 베지어 곡선을 생성하도록 사용될 수 있다. 하나의 구현예에서, 상기 시스템에 의해, 사용자는 베지어 곡선 상의 점의 희망 위치를 커서로 포인팅하고, 마우스 버튼을 클릭하여 상기 위치를 캡처함으로써, 베지어 곡선을 형성할 수 있다. 이러한 방식으로 마지막 점에 도달될 때까지 점들이 연속적으로 입력된다. 사용자는, 가령, 마지막 점을 다시 클릭하거나, 키보드 상의 버튼을 누르거나, 마우스 버튼을 클릭하는 등에 의해, 시퀀스 내 마지막 점에 도달했음을 나타낸다.
또 하나의 구현예에서, 사용자는 특정 순서, 또는 시퀀스로 서로 연결되어 있는 일련의 점들로 구성된 경로(path)를 생성한다. 경로가 생성되면, 사용자는 상기 경로를 베지어 곡선으로 변환시키기 위한 메뉴 아이템을 선택할 수 있다. 베지어 곡선이 생성되면, 사용자는 종래의 방식으로 제어 점 및 종단점을 수정할 수 있다.
도 5를 참조하면, 일련의 점들을 하나의 베지어 곡선으로 변환하기 위한 소프트웨어는, 프로세스 모듈(54)이 시스템의 다양한 구성요소 및 주변장치와 상호대화하기 위한 환경을 제공하는 운영 체제(52)를 포함한다. 상기 프로세스 모듈(54), 입력 모듈(56) 및 디스플레이 모듈(58)은 각각 운영 체제(52)와, 그리고 서로 간에 상호대화하여, 일련의 점들(60)을 하나의 베지어 곡선(62)으로 변환시킬 수 있다. 예를 들어, 프로세스 모듈(54)은 그래픽 사용자 인터페이스(graphic user interface)를 구현한다. 상기 운영 체제(52)에 의해 사용자 입력이 수신되고, 입력 모듈(56)에 의해 처리되어, 시퀀스 내 점들이 식별될 수 있다. 예를 들어, 사용자가 마우스를 이동시킬 때, 상기 운영 체제(52)가 이러한 이동을 처리하고, 디스플레이 상에 포인터를 디스플레이한다. 사용자가 일련의 점에 추가될 점을 가리키기 위해 마우스, 또는 그 밖의 다른 입력 장치 상의 버튼을 클릭할 때, 입력 모듈(56)이 이러한 입력을 수신하고 처리하며, 프로세스 모듈(54)이 데이터 구조를 적절히 업데이트한다.
일련의 점(60)의 점들은 컴퓨터 판독형 매체, 가령, 랜덤 액세스 메모리, 하드 드라이브, 플래쉬 메모리 등에 저장된다. 상기 메모리는 시스템에 로컬하게, 또는 원격으로 위치할 수 있다. 상기 프로세스 모듈(54)은 일련의 점(60)을 불러오고(retrieve), 앞서 제시된 방식으로, 하나의 베지어 곡선에 대해 제어 점을 계산한다. 최종 제어 점은 베지어 곡선(62)을 형성하는 종단점들과 함께 저장된다.
상기 베지어 곡선(62)은 도 6에서 제시된 것과 같은 데이터 구조로서 저장될 수 있다. 베지어 곡선 데이터 구조(64)는, 점들의 시퀀스 내 첫 번째 점을 식별하는 타입 BezierPoint(66)의 ptSequence라고 일컬어지는 데이터 요소를 포함한다. 데이터 타입 BezierPoint(66)는 다음과 같은 데이터 요소를 포함한다. 다음: (ⅰ) 베지어 종단점의 좌표를 가리키기 위한 타입 점의“loc", (ⅱ) 각각, 시퀀스 내 다음 베지어 점과 시퀀스 내 이전 베지어 점을 가리키기 위한 타입 bezierPoint의 "next" 및 "prev", (ⅲ) 제어 점의 좌표를 식별하기 위한 타입 점의 제어 점 "ptABB" 및 "ptBBC". 데이터 요소 ptABB는 선분 AB에 대응하는 B에서의 제어 점이며, 데이터 요소 ptBBC는 선분 BC에 대응하는 B에서의 제어 점이다. BezierCurve 데이터 구조(64)는, 앞서 언급된 방식으로 제어 점을 계산하는 과정에서 프로세스 로직에 의해 생성될 수 있다.
앞서 언급된 예시들은 일련의 점들을 베지어 곡선으로 변화하는 법을 기재하고 있지만, 임의의 주어진 경로를 하나의 베지어 곡선으로서 표현, 또는 근사하는 것이 또한 가능하다. 예를 들어, 도 7a는 베지어 곡선으로 변환될 예시적 경로(70)를 나타낸다. 상기 경로(70)는 입력 장치, 가령, 터치 스크린, 펜 타블렛, 마우스, 트랙 볼, 모션 센서, 회전식 제어기(gyroscopic controller) 등을 이용하여, 생성될 수 있다.
도 7b에서 나타나는 바와 같이, 경로(70)가 다양한 점(72)에서 샘플링된다. 이들 점은 (72)이고, 나중에, 도 1a-1e에 대해 앞서 설명된 방식으로 베지어 곡선을 생성하기 위해 사용된다. 점(72)은 세 가지 이상의 여러 다른 접근법, 즉, (1) 시간 기반 간격(time-based interval), (2) 거리 기반 간격(distance-based interval), (3) 특징부 기반 간격(feature-based interval)을 이용하여 선택될 수 있다. 시간 기반 간격을 이용할 때, 경로(70)는, (가령, 입력 장치로부터) 수신될 때, 샘플링된다. 주기적으로(가령, N초마다), 경로(70)를 따르는 점(72)이 식별된다. 그 후, 최종 점(72)이 베지어 곡선을 생성하도록 사용된다. 거리 기반 간격을 이용할 때, 경로(70)를 따르는 규칙적인 거리 간격으로 점(72)이 선택된다. 예를 들어, 점(72)은 경로(70)를 따라 매 N인치마다(또는 그 밖의 다른 임의의 거리 측정치마다) 식별될 수 있다. 마찬가지로, 그 후, 최종 점(72)이 베지어 곡선을 생성하도록 사용된다.
특징부 기반 접근법을 이용할 때, 점(72)은 경로(70)의 식별된 특징부에서, 또는 그 근방에서 더 자주 식별된다. 해당업계 종사자라면 경로(70)의 특징부를 식별하는 다양한 기법을 인지할 것이다. 예를 들어, 경로(70)를 따르는 점은, 주기적으로, 가령, 지정된 시간 간격이나 거리 간격을 이용함으로써, 식별될 수 있다. 그 후, 하나의 식별된 점에서 다음 점까지의 벡터가 판단된다. 연속하는 벡터들이 비교될 수 있고, 특징부를 식별하기 위해 사용될 수 있다. 연속하는 벡터들이 상이하면 상이할수록, 추가적인 점(72)이 더 유용할 수 있다. 더 빈번한 점(72)이 경로(70)의 특징부를 따라 존재하도록 점(72)이 식별된다. 반대로 말하자면, 경로(70)가 더 규칙적일수록, 이를 표현하기 위해 더 적은 수의 점이 요구된다.
점(72)을 형성하기 위해 사용되는 방식에 관계없이, 앞서 도 1a-1e에 대해 설명된 방식으로, 상기 점(72)으로부터 베지어 곡선이 생성될 수 있다. 최종 베지어 곡선은 본래의 경로(70)의 간결(compact)한 표현을 제공한다. 수백, 수천, 또는 심지어 이보다 많은 일련의 점으로 경로(70)를 표현하는 것 대신, 경로(70)는 베지어 곡선을 형성하는 간결한 일련의 점(72)으로서 표현될 수 있으며, 이로써, 상당한 데이터 압축이 도출된다. 덧붙이자면, 이러한 방식으로, 앞서 도 1a-1e에 대해 설명된 기법을 이용하여, 필요할 때 제어 점이 생성될 수 있기 때문에, 베지어 곡선은 연계된 제어 점 없이 일련의 점(72)으로서 표현될 수 있다. 예를 들어, 하나의 구현예에서, 베지어 곡선은, 대응하는 제어 점의 명시적 표현 없이, 일련의 점으로서 저장된다. 이러한 곡선이 디스플레이를 위해 렌더링될 때(또는 그 밖의 다른 바람직한 경우), 제어 점이 결정된다. 제어 점이 수정되지 않는 한, 이들을 명시적으로 표현할 필요는 없으며, 이는 압축된 표현(compressed representation)을 야기한다.
다수의 구현예가 기재되었다. 그럼에도 불구하고, 본 발명의 사상과 범위 내에서 다양한 수정예가 이뤄질 수 있음을 이해할 것이다. 따라서 그 밖의 다른 구현예는 다음의 청구범위의 범위 내에 속한다.

Claims (16)

  1. 일련의 점으로부터 베지어 곡선(Bezier curve)을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템에 있어서, 상기 시스템은
    데이터 로직 프로세싱을 위한 수단과,
    사용자 입력을 수신하기 위한 입력 수단과,
    컴퓨터 판독형 매체
    를 포함하며, 상기 일련의 점은 상기 사용자 입력을 수신하기 위한 입력 수단에 의해 수신되어, 데이터 로직 프로세싱을 위한 수단에 의한 프로세싱을 위해 상기 컴퓨터 판독형 매체로 전달되며, 상기 데이터 로직 프로세싱을 위한 수단은 상기 컴퓨터 판독형 매체로부터 일련의 점 중 점들을 불러오고(retrieve), 상기 일련의 점 중 연속하는 점들 간의 상대적 거리에 따라서 하나 이상의 점에 대응하는 제어 점을 계산하며, 데이터 로직 프로세싱을 위한 수단이 상기 계산된 제어 점과 상기 일련의 점을 이용하여, 베지어 곡선을 생성하고, 상기 생성된 베지어 곡선은 상기 컴퓨터 판독형 매체에 저장되는 것을 특징으로 하는 베지어 곡선을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템.
  2. 제 1 항에 있어서, 상기 입력 수단은 컴퓨터 포인팅 장치(computer pointing device)를 포함하는 것을 특징으로 하는 베지어 곡선을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템.
  3. 제 1 항에 있어서, 상기 컴퓨터 판독형 매체는 컴퓨터 메모리인 것을 특징으로 하는 베지어 곡선을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템.
  4. 제 1 항에 있어서, 점 A, 점 B 및 점 C가 상기 일련의 점 중 연속하는 점이며, 이때, 점 B에 대응하고, 선분 AB에 연계되는 제어 점은, 수식 B+RA*(RA*(B-C)+RC*(A-B))에 의해 결정되고, 점 B에 대응하고 선분 BC와 연계되는 제어 점은, 수식 B+RC*(RA*(C-B)+RC*(B-A))에 의해 결정되는데, 이때, RA=│AB│/(│AB│+│BC│)이며, RC=│BC│/(│AB│+│BC│)인 것을 특징으로 하는 베지어 곡선을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템.
  5. 제 1 항에 있어서,
    컴퓨터 출력 장치
    를 더 포함하며, 상기 데이터 로직 프로세싱을 위한 수단은 상기 컴퓨터 판독형 매체로부터, 생성된 베지어 곡선을 불러와서, 상기 출력 장치 상에 상기 생성된 베지어 곡선을 렌더링하는 것을 특징으로 하는 베지어 곡선을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템.
  6. 제 5 항에 있어서, 상기 데이터 로직 프로세싱을 위한 수단은 상기 컴퓨터 출력 장치 및 상기 입력 수단을 이용하여 그래픽 사용자 인터페이스를 제공하며, 상기 그래픽 사용자 인터페이스에 의해, 사용자는 베지어 곡선의 제어 점을 수정할 수 있는 것을 특징으로 하는 베지어 곡선을 생성하도록 하는 상호대화형 컴퓨터 그래픽을 위한 시스템.
  7. 컴퓨터 시스템에 의해 실행될 때 일련의 점으로부터 베지어 곡선(Bezier curve)을 생성하기 위한 방법을 수행하는 컴퓨터 인스트럭션이 저장된 비일시적 컴퓨터 판독형 매체(non-transitory computer-readable medium)에 있어서, 상기 방법은
    컴퓨터 판독형 매체로부터 점 A, B 및 C를 불러오는 단계(retrieving)로서, 상기 점 A, B 및 C는, 상기 컴퓨터 시스템의 사용자가 컴퓨터 입력 장치를 사용함으로써 식별되는 일련의 점의 연속하는 점인 단계와,
    컴퓨터 시스템의 프로세서에서, 불러와진 점 A, B 및 C로부터 제어 점을 계산하는 단계로서, 상기 제어 점은 상기 불러와진 점 A, B 및 C의 상대적 위치에 의해 결정되는 단계와,
    점 A, B 및 C와 상기 계산된 제어 점을 포함하는 베지어 곡선 데이터 구조를 생성하는 단계와,
    상기 생성된 베지어 곡선 데이터 구조를 컴퓨터 판독형 매체에 저장하는 단계와,
    사용자로 하여금, 그래픽 사용자 인터페이스를 이용하여, 상기 생성된 베지어 곡선을 조작하게 하는 단계
    를 포함하는 방법을 수행하는 컴퓨터 인스트럭션이 저장된 것을 특징으로 하는 비일시적 컴퓨터 판독형 매체.
  8. 제 7 항에 있어서, 점 B에 대응하고 선분 AB와 연계되는 제어 점은, 수식 B+RA*(RA*(B-C)+RC*(A-B))에 의해 결정되고, 점 B에 대응하고 선분 BC와 연계되는 제어 점은, 수식 B+RC*(RA*(C-B)+RC*(B-A))에 의해 결정되는데, 상기 RA=│AB│/(│AB│+│BC│)이고, 상기 RC=│BC│/(│AB│+│BC│)인 것을 특징으로 하는 비일시적 컴퓨터 판독형 매체.
  9. 상호대화형 컴퓨터 그래픽 시스템의 그래픽 사용자 인터페이스에서 베지어 곡선(Bezier curve)을 형성하기 위한 방법에 있어서, 상기 방법은
    상기 상호대화형 컴퓨터 그래픽 시스템의 그래픽 사용자 인터페이스를 통해 사용자에 의해 식별된 제 1 점 A를 수신하는 단계와,
    상기 상호대화형 컴퓨터 그래픽 시스템의 그래픽 사용자 인터페이스를 통해 사용자에 의해 식별된 제 2 점 B를 수신하는 단계와,
    상기 상호대화형 컴퓨터 그래픽 시스템의 그래픽 사용자 인터페이스를 통해 사용자에 의해 식별된 제 3 점 C를 수신하는 단계와,
    상기 점 B에 대응하고 선분 AB와 연계되는 제어 점을 계산하는 단계로서, 상기 제어 점은 수식 B+RA*(RA*(B-C)+RC*(A-B))에 의해 결정되며, 상기 RA=│AB│/(│AB│+│BC│)이고, 상기 RC=│BC│/(│AB│+│BC│)인 단계와,
    상기 점 B에 대응하고, 선분 BC와 연계되는 제어 점을 계산하는 단계로서, 상기 제어 점은 수식 B+RC*(RA*(C-B)+RC*(B-A))에 의해 결정되는 단계와,
    점 A, 점 B 및 점 C를 저장하고, 상기 점 B와 연계되는 제 1 제어 점 및 제 2 제어 점을 점 B와 연계하여 저장하는 베지어 곡선 데이터 구조를 생성하는 단계로서, 상기 베지어 곡선 데이터 구조는, 컴퓨터 그래픽 시스템의 디스플레이 상의 디스플레이와 사용자에 의한 조작을 위해, 베지어 곡선을 렌더링하도록 사용되는 단계를 포함하는 것을 특징으로 하는 베지어 곡선을 형성하기 위한 방법.
  10. 시스템에 있어서, 상기 시스템은
    데이터 로직 프로세싱을 위한 수단과,
    컴퓨터 판독형 매체와,
    경로 데이터(path data)를 수신하고, 상기 경로 데이터를 상기 컴퓨터 판독형 매체에 저장하는 입력 장치
    를 포함하며, 일련의 점이 상기 경로 데이터로부터 식별되어, 데이터 로직 프로세싱을 위한 수단에 의해 프로세싱되기 위해 컴퓨터 판독형 매체에 저장되고, 상기 데이터 로직 프로세싱을 위한 수단이 상기 컴퓨터 판독형 매체로부터 식별된 일련의 점의 점들을 불러와서(retrieve), 상기 식별된 일련의 점의 연속하는 점들 간의 상대적 거리에 따라 하나 이상의 점에 대응하는 제어 점을 계산하며, 데이터 로직 프로세싱을 위한 수단이 상기 계산된 제어 점과 상기 식별된 일련의 점을 이용하여 베지어 곡선(Bezier curve)을 생성하며, 상기 생성된 베지어 곡선은 컴퓨터 판독형 매체에 저장되는 것을 특징으로 하는 시스템.
  11. 제 10 항에 있어서, 상기 일련의 점은 지정된 간격(interval)에 따라 경로 데이터로부터 식별되는 것을 특징으로 하는 시스템.
  12. 제 11 항에 있어서, 상기 지정된 간격은 거리 기반인 것을 특징으로 하는 시스템.
  13. 제 11 항에 있어서, 상기 지정된 간격은 시간 기반인 것을 특징으로 하는 시스템.
  14. 제 11 항에 있어서, 상기 지정된 간격은 특징부(feature) 기반인 것을 특징으로 하는 시스템.
  15. 제 10 항에 있어서, 상기 입력 장치는 사용자 입력 장치로부터 경로 데이터를 수신하는 것을 특징으로 하는 시스템.
  16. 제 10 항에 있어서, 상기 입력 장치는 컴퓨터 판독형 매체로부터 경로 데이터를 수신하는 것을 특징으로 하는 시스템.
KR1020100035704A 2009-04-21 2010-04-19 컴퓨터 그래픽 시스템에서의 3차 베지어 제어 점의 생성 KR20100116133A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/427,524 US8248419B2 (en) 2009-04-21 2009-04-21 Generation of cubic Bezier control points in computer graphics systems
US12/427,524 2009-04-21

Publications (1)

Publication Number Publication Date
KR20100116133A true KR20100116133A (ko) 2010-10-29

Family

ID=42321204

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100035704A KR20100116133A (ko) 2009-04-21 2010-04-19 컴퓨터 그래픽 시스템에서의 3차 베지어 제어 점의 생성

Country Status (6)

Country Link
US (1) US8248419B2 (ko)
EP (2) EP2667357A3 (ko)
JP (1) JP5033216B2 (ko)
KR (1) KR20100116133A (ko)
CN (1) CN101923725B (ko)
TW (1) TWI427553B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448706B2 (en) * 2009-07-29 2016-09-20 Synopsys, Inc. Loop removal in electronic design automation
WO2011061624A2 (en) * 2009-11-19 2011-05-26 Ocali Bilisim Teknolojileri Yazilim Donanim San. Tic. A.S. Direct 3-d drawing by employing camera view constraints
WO2011076248A1 (en) * 2009-12-21 2011-06-30 Promethean Limited Multi-point contacts with pressure data on an interactive surface
US20120050293A1 (en) * 2010-08-25 2012-03-01 Apple, Inc. Dynamically smoothing a curve
CN102663384B (zh) * 2012-03-31 2014-01-22 北京智安邦科技有限公司 基于贝塞尔控制点搜索的曲线识别方法及装置
JP6028486B2 (ja) * 2012-09-20 2016-11-16 カシオ計算機株式会社 情報処理装置、情報処理方法、及びプログラム
US9224219B2 (en) * 2012-12-21 2015-12-29 Citrix Systems, Inc. Systems and methods for presenting a free-form drawing
CN104463789A (zh) * 2013-09-12 2015-03-25 广东福地新视野光电技术有限公司 一种校正光学相干断层扫描图像边缘线的方法和装置
CN103971101A (zh) * 2014-05-21 2014-08-06 国家电网公司 一种基于贝塞尔控制点搜索的曲线识别方法
TW201629839A (zh) * 2015-02-07 2016-08-16 阿里巴巴集團服務有限公司 用於提供使用者設備的安全資訊的方法及設備
US10788641B2 (en) 2016-02-12 2020-09-29 Ppc Broadband, Inc. Cable spool and storage
CN110363828A (zh) * 2019-06-18 2019-10-22 深圳壹账通智能科技有限公司 一种绘制流程图的方法及绘制流程图的设备
CN113961008A (zh) * 2021-10-25 2022-01-21 上海同普电力技术有限公司 一种应用于agv曲线路径导航跟随方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241654A (en) * 1988-12-28 1993-08-31 Kabushiki Kaisha Toshiba Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
KR930002339B1 (ko) 1989-04-20 1993-03-29 가부시기가이샤 도시바 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법
JP3339648B2 (ja) 1993-06-28 2002-10-28 株式会社ジャストシステム 情報処理装置及び描画方法
JP3341548B2 (ja) 1995-11-14 2002-11-05 ミノルタ株式会社 3次元形状データの生成方法及び処理装置
US6850249B1 (en) * 1998-04-03 2005-02-01 Da Vinci Systems, Inc. Automatic region of interest tracking for a color correction system
US6304677B1 (en) * 1998-04-07 2001-10-16 Adobe Systems Incorporated Smoothing and fitting point sequences
US6677944B1 (en) * 1998-04-14 2004-01-13 Shima Seiki Manufacturing Limited Three-dimensional image generating apparatus that creates a three-dimensional model from a two-dimensional image by image processing
JPH11345344A (ja) 1998-06-01 1999-12-14 Matsushita Electric Ind Co Ltd 3次曲線を与える方法及び装置
JP4066585B2 (ja) 2000-01-24 2008-03-26 株式会社日立製作所 図形作成方法
CA2380105A1 (en) * 2002-04-09 2003-10-09 Nicholas Routhier Process and system for encoding and playback of stereoscopic video sequences
JP2004295317A (ja) * 2003-03-26 2004-10-21 Just Syst Corp 情報処理装置、描画方法およびその方法をコンピュータに実行させるプログラム
US20050007369A1 (en) * 2003-07-07 2005-01-13 Jiangen Cao Graphic engine for approximating a quadratic Bezier curve in a resource-constrained device
GB2406028A (en) 2003-09-11 2005-03-16 Autodesk Canada Inc Tangent handle adjustment for Bezier curves
US7116327B2 (en) 2004-08-31 2006-10-03 A{grave over (g)}fa Corporation Methods for generating control points for cubic bezier curves
WO2007032215A1 (ja) * 2005-09-12 2007-03-22 Fujifilm Corporation 感光性組成物、パターン形成材料、感光性積層体、並びにパターン形成装置及びパターン形成方法
US7903336B2 (en) * 2005-10-11 2011-03-08 Gsi Group Corporation Optical metrological scale and laser-based manufacturing method therefor
US7782324B2 (en) * 2005-11-23 2010-08-24 Dreamworks Animation Llc Non-hierarchical unchained kinematic rigging technique and system for animation
JP2007287114A (ja) 2006-04-19 2007-11-01 Yasushi Suga 三次ベジェ曲線入力プログラム

Also Published As

Publication number Publication date
EP2244229A3 (en) 2011-03-02
TW201044313A (en) 2010-12-16
US8248419B2 (en) 2012-08-21
EP2244229B1 (en) 2013-09-18
CN101923725A (zh) 2010-12-22
US20100265255A1 (en) 2010-10-21
JP2010257460A (ja) 2010-11-11
EP2667357A2 (en) 2013-11-27
TWI427553B (zh) 2014-02-21
JP5033216B2 (ja) 2012-09-26
EP2244229A2 (en) 2010-10-27
EP2667357A3 (en) 2014-01-15
CN101923725B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
US8248419B2 (en) Generation of cubic Bezier control points in computer graphics systems
US8994736B2 (en) Methods and apparatus for freeform deformation of 3-D models
CN104423795B (zh) 使用最大曲率来拟合参数曲线
Grossman et al. An interface for creating and manipulating curves using a high degree-of-freedom curve input device
TWI501144B (zh) 用於資料視覺化平台性能最佳化之方法、系統及電腦可讀取媒體
WO2006106686A1 (ja) 3次元モデル変形システム、方法、及びコンピュータ読み取り可能プログラム、並びに、該プログラムを記憶したコンピュータ読み取り可能記憶媒体
US20150113453A1 (en) Methods and devices for simplified graphical object editing
CN102460421B (zh) 滑动可变内容路径
US10395412B2 (en) Morphing chart animations in a browser
JP2008003823A (ja) 線形状処理装置、線形状処理方法、ならびに、プログラム
US20220358258A1 (en) Computer-aided design methods and systems
JPH0612493A (ja) ジェスチャ認識方法およびユーザインタフェース方法
US10269150B1 (en) Curve editing based on inferred control points
WO2021014532A1 (ja) 情報処理装置、制御方法及び記憶媒体
US8681156B2 (en) Systems and methods for interactive vectorization
Nuntawisuttiwong et al. Approximating handwritten curve by using progressive-iterative approximation
JP4745699B2 (ja) 3次元モデル表示制御プログラム及び3次元モデル表示制御方法
US11687176B2 (en) Methods and apparatuses for producing smooth representations of input motion in time and space
JP2004013545A (ja) 情報処理装置
CN113946264A (zh) 滑动条处理方法及装置、存储介质、电子设备
JP2001338306A (ja) 編集ツール属性変更処理装置、編集ツール属性変更処理方法、および3次元モデル処理装置、3次元モデル処理方法、並びにプログラム提供媒体
JP4851542B2 (ja) ルート曲線生成システム、方法、及びプログラム
JP4089806B2 (ja) 曲線生成装置およびその方法ならびに記憶媒体
CN116061181A (zh) 机器人运动轨迹确定方法、装置、设备、介质和产品
CN114463467A (zh) 图形设备接口加绘图的坐标转换方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application