KR100876025B1 - 이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템 - Google Patents

이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100876025B1
KR100876025B1 KR1020047000097A KR20047000097A KR100876025B1 KR 100876025 B1 KR100876025 B1 KR 100876025B1 KR 1020047000097 A KR1020047000097 A KR 1020047000097A KR 20047000097 A KR20047000097 A KR 20047000097A KR 100876025 B1 KR100876025 B1 KR 100876025B1
Authority
KR
South Korea
Prior art keywords
program
display
data
export
modeling
Prior art date
Application number
KR1020047000097A
Other languages
English (en)
Other versions
KR20040018425A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8860110&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100876025(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 오카이그렉제드 filed Critical 오카이그렉제드
Publication of KR20040018425A publication Critical patent/KR20040018425A/ko
Application granted granted Critical
Publication of KR100876025B1 publication Critical patent/KR100876025B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Numerical Control (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 기하 요소들(10)의 모델링 및/또는 조작을 위한 컴퓨터 시스템(1)을 사용하는 2 또는 3 차원 기하 요소들에 대한 데이터 전송 방법에 관한 것이다. 상기 컴퓨터 시스템(1)은 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11) 및 적어도 하나의 디스플레이 프로그램(12)을 포함하고, 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)은, 상기 적어도 하나의 디스플레이 프로그램(12) 내에 위치한 디스플레이 함수들을 호출함으로써 디스플레이될 상기 기하 요소들(10)과 관련된 데이터를 상기 적어도 하나의 디스플레이 프로그램(12)으로 전송하고, 기하 요소들(10)과 관련된 데이터의 엑스포트 프로그램(15)은 상기 적어도 하나의 디스플레이 프로그램들(12) 중 적어도 하나를 대체하고, 상기 엑스포트 프로그램(15)은 상기 적어도 하나의 디스플레이 프로그램(12)과 동일한 디스플레이 함수들을 갖는 것을 특징으로 한다.

Description

이차원 또는 삼차원 기하 요소와 관련된 데이터 엑스포트를 위한 방법 및 시스템{PROCESS AND SYSTEM FOR THE EXPORTATION OF DATA ASSOCIATED WITH BIDIMENSIONAL OR TRIDIMENSIONAL GEOMETRIC ENTITIES}
본 발명은 일반적으로는 컴퓨터 데이터의 엑스포트(export)에 관한 것으로서, 보다 구체적으로는 CAD(computer assisted design) 또는 비디오 게임과 같은 컴퓨터 프로그램에서 기하 요소(geometric entity)와 관련된 데이터의 엑스포트에 관한 것이다.
CAD 및 비디오 게임과 같은 기하 요소의 모델링 및/또는 조작을 위한 기술 및 시스템은 비행 시뮬레이터와 같은 시뮬레이션 프로그램을 통해 자동차 및 비행기와 같은 제품의 CAD에서 액션 게임 및 3D 가상 현실까지 전 산업 분야에 걸쳐 확산되어 있다.
특히, CAD 기술이 약 20년 이하로 상대적으로 새로운 것인데 반해, 이전 CAD 시스템과의 호환성에 대한 요구는 정보 기술의 급속한 발전에도 불구하고 현대 컴퓨터 시스템에 의해 제안된 가능성들을 부분적으로만 사용하는 역사적인 데이터 구조의 보전에 까지 이르게 되었다.
또한, CAD 또는 비디오 게임 분야에서, 이러한 사용되는 데이터 구조의 포맷은 통상 독점적으로, 즉 그 소프트웨어에 포함되어 있거나, 최소한 그 소프트웨어의 저자 소유이다. 그러나, 적어도 CAD 분야에서, 일반적으로 그래픽 소프트웨어는 기하 요소와 관련된 다양한 포맷의 데이터를 받아들일 필요가 있다.
반면에, 고객층 유리를 위한 명백한 이유 때문에, 이러한 소프트웨어의 저자들은 누구건 간에, 그들이 사용한 데이터 포맷에 대한 스펙 설명을 공개하기를 매우 꺼려하고, 또한, 일반적으로 그들의 소프트웨어에서 다른 소프트웨어로 모든 데이터를 엑스포트하도록 하는 것을 허용하려 들지 않는다.
이러한 상황은 이러한 소프트웨어에 사용되는 데이터를 기하 요소의 모델링 및/또는 조작 컴퓨터 시스템에서 유사한 컴퓨터 시스템으로 완전히 이동시키는 것을 매우 어렵게 하였다. 그러나, 이러한 이동성이 필요한 경우가 있다. 예컨대, 이질적인 CAD 시스템들 간의 데이터 엑스포트가 동일한 주문자의 하청업자들 간에 요구되기도 하고, 또한, 한 회사 안에서도 이러한 이동성이 요구되기도 한다. 이러한 데이터 이동문제는 CAD를 오랜 시간동안 사용해 온 대형 회사들에서 일반적으로 발생하는 문제이다.
마찬가지로, 비디오 게임 기술의 발전은 결국 인물 또는 객체를 비디오 게임으로 삽입할 수 있도록 해주게 될 것이고, 이것 또한 이러한 타입의 데이터 이동 문제를 야기할 것임을 알 수 있다.
기하 요소와 관련된 데이터의 이질적인 모델링 및/또는 조작 시스템 간의 데이터 이동의 필요성은 데이터베이스의 포맷에 관련된 정확한 설명의 부재 때문에, 또한, 유틸리티 프로그램들이 시스템의 데이터베이스 구조에 따라 개발 또는 변형 을 위해 전체 또는 부분적으로 재작성되어야 하기 때문에, 이러한 데이터의 변환 유틸리티 프로그램 개발에 매우 많은 비용을 소요시키는 문제점이 있다. 또한, 변환될 데이터의 포맷에 대한 정확한 설명이 없기 때문에 일반적으로 이러한 변환은 불완전하게 된다.
또한, CAD 시스템을 사용하는 회사에는 서로 다른 CAD 시스템들 간의 교환의 수단으로서, 또한, 사용하고 있는 CAD 소프트웨어의 저자의 최소한의 독립성을 보장하면서, 사용하고 있는 CAD 소프트웨어의 저자의 활동 중단 등의 경우에 다른 소프트웨어로 CAD 데이터를 엑스포트할 수 있도록 하기 위해, 공개 데이터, 공지된 구조 및 포맷이 필요하다.
위와 같은 상황에서, 저 비용으로도 신뢰성을 제공하면서, 소프트웨어에 사용되는 데이터 구조에 대해 모르고, 이러한 소프트웨어의 변형없이, 소프트웨어로의 특정 인터페이스의 개발 없이도, 기하 요소와 관련된 데이터의 모델링 및/또는 조작 소프트웨어로부터 기하 요소와 관련된 데이터의 엑스포트를 가능케하는 프로세스 및 시스템이 요구된다.
glTrace 또는 glAnalysePro와 같은 종래의 유틸리티 프로그램에는 그래픽 응용프로그램에 의해 수행되는 동반 호출(company call) 및 그래픽 원본을 인터셉트 및 저장할 필요성이 존재한다. 그러나, 이러한 유틸리티들은 그래픽 프로그램을 디버깅하는 기능만을 가질 뿐, 동일한 성질을 갖는 다른 시스템으로 기하 요소와 관련된 데이터를 엑스포트할 수 있도록 하지 못한다.
본 발명은 기하 요소들(geometric entities)의 모델링 및/또는 조작을 위한 컴퓨터 시스템을 사용하여 기하 요소들과 관련된 데이터를 엑스포트하기 위한 방법에 있어서, 상기 기하 요소의 모델링 및/또는 조작을 위한 컴퓨터 시스템은 컴퓨터 프로그램들을 수행할 수 있는 적어도 하나의 중앙 처리 장치, 상기 컴퓨터 프로그램들의 수행 중에 상기 컴퓨터 프로그램들 및 기하 요소들과 관련된 데이터를 저장할 수 있는 메모리, 및 상기 기하 요소들과 관련된 데이터를 영구히 저장할 수 있는 적어도 하나의 저장 유닛을 포함하고, 상기 컴퓨터 시스템은 상기 기하 요소들의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램 및 상기 기하 요소들과 관련된 데이터를 디스플레이하기 위한 적어도 하나의 디스플레이 프로그램을 포함하며, 상기 모델링 및/또는 조작을 위한 적어도 하나의 프로그램은 상기 적어도 하나의 디스플레이 프로그램에 위치한 디스플레이 함수들을 호출함으로써 상기 디스플레이될 기하 요소들과 관련된 데이터를 상기 적어도 하나의 디스플레이 프로그램으로 전송하고, 상기 디스플레이 프로그램에 의해 디스플레이될 데이터는 기하 요소들의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램에 의해 호출된 상기 디스플레이 함수들의 호출 파라미터의 형태로 상기 적어도 하나의 모델링 및/또는 조작 프로그램에 의해 상기 적어도 하나의 디스플레이 프로그램으로 전송되며, 상기 디스플레이 함수들은 기하 요소들과 관련된 소정 수의 데이터의 디스플레이를 가능케하고, 상기 기하 요소들과 관련된 데이터의 엑스포트 프로그램은 상기 적어도 하나의 디스플레이 프로그램 중 적어도 하나를 대체하며, 상기 엑스포트 프로그램은 상기 적어도 하나의 디스플레이 프로그램과 동일한 기하 요소들과 관련된 데이터의 디스플레이 함수들을 가지고, 상기 엑스포트 프로그램의 상기 기하 요소들과 관련된 데이터의 디스플레이 함수들은 상기 적어도 하나의 디스플레이 프로그램의 해당 함수들과 동일한 파라미터를 가지며, 상기 기하 요소들의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램은 상기 적어도 하나의 디스플레이 프로그램의 해당 함수들 대신 명시적으로 상기 엑스포트 프로그램의 함수들을 호출하는 것을 특징으로 하는 데이터 엑스포트 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 방법에서, 상기 적어도 하나의 모델링 및/또는 조작 프로그램 중 적어도 하나는 CAD(computer assisted design) 타입의 프로그램 또는 비디오 게임 타입의 프로그램인 것을 특징으로 한다.
또한, 본 발명에 따른 방법에서, 상기 엑스포트 프로그램의 상기 디스플레이 프로그램 중 어느 하나에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램의 호출 중에, 상기 엑스포트 프로그램은 상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램의 호출의 상기 엑스포트 프로그램에 의한 처리로부터의 데이터를 적절한 포맷으로 상기 적어도 하나의 저장 유닛에 저장하는 것을 특징으로 한다.
또한, 본 발명에 따른 방법에서, 상기 엑스포트 프로그램의 상기 디스플레이 함수들 중 어느 하나에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램의 호출 중에, 상기 엑스포트 프로그램은 상기 엑스포트 프로그램의 상기 함수의 호출 중에 존재하는 것과 동일한 호출 파라미터로 상기 호출 프로그램에서 호출된 상기 디스플레이 함수에 해당하는 상기 디스플레이 프로그램의 디스플레이 함수를 호출하는 것을 특징으로 한다.
이 경우, 상기 호출된 디스플레이 프로그램은 상기 엑스포트 프로그램이 대신하는 상기 디스플레이 프로그램 또는 상기 엑스포트 프로그램이 대신하는 상기 디스플레이 프로그램과 다른 디스플레이 프로그램인 것을 특징으로 한다.
또한, 본 발명에 따른 방법에서, 상기 컴퓨터 시스템은 적어도 하나의 그래픽 디스플레이 장치를 더 포함하고, 상기 적어도 하나의 디스플레이 장치는 적어도 하나의 리프레쉬 및/또는 디스플레이 메모리를 포함하고, 상기 적어도 하나의 디스플레이 프로그램은 상기 적어도 하나의 디스플레이 장치에 대해, 상기 디스플레이 프로그램에 의해 수신된 디스플레이 함수들의 상기 호출의 포인트들 형태로 디지털화를 명령하며, 상기 디스플레이 장치는 상기 리프레쉬 및/또는 디스플레이 메모리에 상기 적어도 하나의 디스플레이 프로그램에 의해 수신된 디스플레이 함수들의 상기 호출의 디지털화로부터의 포인트를 저장하는 것을 특징으로 한다.
이 경우, 상기 컴퓨터 시스템은 적어도 하나의 그래픽 스크린을 더 포함하고, 상기 리프레쉬 및/또는 디스플레이 메모리는 상기 적어도 하나의 디스플레이 장치에 의해 재판독되며, 상기 적어도 하나의 디스플레이 장치는 상기 적어도 하나의 그래픽 스크린 상에 상기 리프레쉬 및/또는 디스플레이 메모리로부터 재판독된 상기 포인트들을 디스플레이하는 것을 특징으로 한다.
상기 엑스포트 프로그램에 의한 데이터의 엑스포트는 상기 적어도 하나의 모델링 및/또는 조작 프로그램에 의해 상기 엑스포트 프로그램으로 전송된 적어도 하나의 특정 그래픽 명령어에 의해 개시되고, 상기 데이터의 엑스포트를 개시하는 상기 적어도 하나의 특정 그래픽 명령어는 상기 리프레쉬 및/또는 디스플레이 메모리 의 상기 포인트에 수신된 상기 그래픽 호출 함수의 상기 디지털화를 완료시키는 명령어인 것을 특징으로 한다.
변형예로써, 상기 적어도 하나의 디스플레이 장치는 적어도 2개의 리프레쉬 및/또는 디스플레이 메모리를 포함하고, 상기 엑스포트를 기동시키는 명령어는, 상기 적어도 2개의 리프레쉬 및/또는 디스플레이 메모리 중 하나를 상기 적어도 2개의 리프레쉬 및/또는 디스플레이 메모리 중 나머지 하나로 스위칭시키는 동작을 기동시키는 명령어인 것을 특징으로 한다.
또한, 상기 엑스포트 프로그램의 상기 디스플레이 함수들 중 어느 하나에 대한 상기 모델링 및/또는 조작 프로그램의 호출 중에, 상기 엑스포트 프로그램은 상기 엑스포트 프로그램의 상기 디스플레이 함수들에 대한 호출의 상기 엑스포트 프로그램에 의한 처리로부터의 데이터를 적절한 포맷으로 상기 메모리에 저장하는 것을 특징으로 한다. 이 경우, 상기 컴퓨터 시스템은 상기 메모리에서 상기 엑스포트 프로그램에 의한 처리로부터의 상기 데이터를 재판독하는 유틸리티 프로그램을 더 수행하는 것을 특징으로 한다. 또한, 상기 메모리를 재판독하는 상기 유틸리티 프로그램은 상기 메모리로부터 재판독된 상기 엑스포트 프로그램에 의한 처리로부터의 상기 데이터를 적절한 포맷으로 상기 적어도 하나의 저장 유닛에 저장하는 것을 특징으로 한다.
또한, 상기 유틸리티 프로그램은 상기 적어도 하나의 디스플레이 프로그램의 디스플레이 함수들의 호출의 도움으로 상기 메모리로부터 재판독된 상기 데이터를 디스플레이하는 것을 특징으로 한다.
상기 엑스포트 프로그램이 대신하는 상기 적어도 하나의 디스플레이 프로그램 중 하나는 실리콘 그래픽스 인코포레이티드의 OpenGL 스펙에 따른 것을 특징으로 한다. 이 경우, 상기 엑스포트를 기동하는 상기 적어도 하나의 명령어는 OpenGL 명령어 "wgSwapBuffers" 및/또는 OpenGL 명령어 "glFlush"인 것을 특징으로 한다.
마찬가지로, 상기 엑스포트 프로그램에 의해 대체되는 상기 적어도 하나의 디스플레이 프로그램 중 하나는 마이크로소프트 사의 DirectX 스펙에 따른 것을 특징으로 한다.
본 발명에 따른 방법에서, 상기 기하 요소들과 관련된 상기 데이터는 기하 데이터를 포함하는 것을 특징으로 한다. 이 경우, 상기 기하 데이터는 2차원 및/또는 3차원 타입인 것을 특징으로 한다. 또한, 상기 기하 데이터는 포인트들 및/또는 2개의 포인트들을 갖는 세그먼트의 데이터, 및/또는 삼각형들에 대한 데이터, 및/또는 사각형들에 대한 데이터 및/또는 다각형들에 대한 데이터를 포함하는 것을 특징으로 한다.
마찬가지로, 상기 기하 데이터는 라인 타입 및/또는 표면 타입 및/또는 체적 타입의 기하 요소들과 관련된 것을 특징으로 한다. 상기 기하 요소들과 관련된 기하 데이터는 상기 라인 타입 및/또는 상기 표면 타입 및/또는 상기 체적 타입의 요소들 중 적어도 하나에 수직인 적어도 하나의 벡터와 관련된 기하 데이터를 더 포함하는 것을 특징으로 한다.
마찬가지로, 상기 기하 요소들과 관련된 상기 데이터는 색채와 관련된 데이터 및/또는 텍스쳐와 관련된 데이터를 포함하는 것을 특징으로 한다.
본 발명은 또한, 기하 요소들의 모델링 및/또는 조작을 위한 컴퓨터 시스템을 사용하여 상기 기하 요소들과 관련된 데이터를 엑스포트하기 위한 시스템에 있어서, 상기 모델링 및/또는 조작을 위한 컴퓨터 시스템은 컴퓨터 프로그램들을 수행할 수 있는 적어도 하나의 중앙 처리 장치, 상기 컴퓨터 프로그램들의 수행 중에 상기 컴퓨터 프로그램들 및 상기 기하 요소들과 관련된 데이터를 저장할 수 있는 메모리, 및 기하 요소들과 관련된 데이터를 영구히 저장할 수 있는 적어도 하나의 저장 유닛을 포함하고, 상기 컴퓨터 시스템은 상기 기하 요소들의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램 및 상기 기하 요소들과 관련된 데이터를 디스플레이하기 위한 적어도 하나의 디스플레이 프로그램을 포함하며, 상기 모델링 및/또는 조작을 위한 적어도 하나의 프로그램은 상기 적어도 하나의 디스플레이 프로그램에 위치한 디스플레이 함수들을 호출함으로써 상기 디스플레이될 기하 요소들과 관련된 데이터를 상기 적어도 하나의 디스플레이 프로그램으로 전송하고, 상기 디스플레이 프로그램에 의해 디스플레이될 데이터는 상기 기하 요소들의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램에 의해 호출된 상기 디스플레이 함수들의 호출 파라미터 형태로 상기 적어도 하나의 모델링 및/또는 조작 프로그램에 의해 상기 적어도 하나의 디스플레이 프로그램으로 전송되며, 상기 디스플레이 함수들은 상기 기하 요소들과 관련된 소정 수의 데이터의 디스플레이를 가능케하고, 제1항 내지 제25항 중 어느 한 항에 따른 데이터 엑스포트 프로그램(15)에 의해 데이터를 엑스포트하기 위한 방법을 사용하는 것을 특징으로 하는 데이터 엑스포트 시스템을 제공한다.
도1은 본 발명의 송신 방법없이 표준 디스플레이 함수의 라이브러리와 함께 컴퓨터의 스크린 상에 기하 모델을 디스플레이하는 동작 다이어그램이다.
도2는 본 발명에 따라 기하 요소와 관련된 데이터의 송신 방법을 사용함으로써 컴퓨터의 기하 모델을 디스플레이하는 동작 다이어그램이다.
도3은 본 발명에 따른 기하 모델의 데이터 송신 방법을 나타내는 흐름도이다.
도4는 본 발명의 제1 실시예에 따른 방법에서 도3의 스텝(40)의 동작을 나타내는 스펙 흐름도이다.
도5는 본 발명의 제2 실시예에 따른 방법에서 도3의 스텝(40)의 동작을 나타내는 스펙 흐름도이다.
이하, 도면을 참조하여 본 발명을 2개의 실시예에 따라 설명한다.
본 발명의 방법은 기하 요소들과 관련된 데이터를 모델링 및/또는 조작하는 컴퓨터 시스템(1) 상에서 동작한다.
이 컴퓨터 시스템(1)은, 본 발명의 방법이 컴퓨터 시스템(1)에서 사용되던 사용되지 않던 간에, 사용자(2)(미도시)에 의한 기하 요소들과 관련된 데이터의 모델링 및/또는 조작용 프로그램(11)의 사용을 허용한다. 컴퓨터 시스템(1)은 또한, 그래픽 함수의 라이브러리(12)에 의해 제어되는 그래픽 인터페이스 카드(13)로부터의 그래픽 신호의 그래픽 스크린(14)의 디스플레이를 허용한다.
이하에서, 기하 요소와 관련된 데이터의 모델링 및/또는 조작용 프로그램(11)을 간략하게 그래픽 응용 프로그램(11)이라 하기로 한다.
본 발명의 바람직한 실시예에서, 본 발명의 방법을 실행하기 위한 컴퓨터 시스템(1)은 사용자 시스템인 마이크로소프트 사의 윈도우즈를 사용하는 컴퓨터이고, 이 사용자 시스템에서, 기하 데이터의 디스플레이 프로그램(12)은 예컨대 실리콘 그래픽스 인코포레이티드의 OpenGL 스펙(specification)에 따라 DLL(Dynamic Link Library)를 통해 구현되는 그래픽 API(Advanced Programming Interface)이다. 이 DLL은 통상적으로 윈도우의 레퍼토리 시스템에 위치하며, "opening132.dll"이라 불린다.
본 명세서에서 예로서 사용되는 OpenGL 함수들의 조합인, 수백개의 함수들을 포함하는 OpenGL 라이브러리는 OpenGL 함수들의 매우 감소된 하위어셈블리로 자발적으로 제한되어 본 설명이 적절한 범위에 해당하도록 한다. 그러나, 본 발명의 원리가 본 명세서에 제공된 OpenGL 함수들로 제한되지 않고, OpenGL 스펙에 제공된 모든 함수들에도 유사하게 적용된다는 점이 이해되어야 한다.
이하 도1을 참조하여, 본 발명의 데이터 엑스포트 방법을 사용하지 않고 그래픽 스크린(14) 상의 기하 모델(10)의 디스플레이의 동작 원리를 설명한다. 그래픽 응용 프로그램(11)이 그래픽 스크린(14) 상에 기하 모델(10)을 디스플레이하고자 하는 경우에, 그래픽 인터페이스(12)의 DLL에 위치한 그래픽 함수를 호출한다. 이 그래픽 인터페이스(12)는 그와 관련된 소프트웨어 파일럿(13)을 통해 벡터 타입의 명령을 그래픽 카드(13)로 엑스포트한다.
비디오 타입 스위핑(sweeping)에 의해 디스플레이를 수행하는 소위 음극선관 으로 구성된 컴퓨터 스크린, 또는 유사한 장치들은, 디스플레이된 그래픽 데이터의 이진 이미지를 저장할 필요가 있게 되어, 디스플레이된 그래픽 데이터의 비젼의 일정함은 사용자(2)를 위해 홀드될 수 있다. 스크린(14)의 디스플레이 가능한 포인트들 각각에 대해 소정 수의 비트들로 구성된 이러한 이진 이미지는 그래픽 카드(13) 내부의 소위 프레쉬 메모리에 저장된다. 사용자(2)에 대한 데이터의 비젼의 일정함은 이 이진 이미지를 초당 수십회 재판독하고, 재판독된 정보로부터 그래픽 카드(13)의 리프레쉬 메모리에 저장된 이미지를 나타내는 비디오 신호들을 재생함으로써 그래픽 카드(13)에 의해 획득된다. 이러한 비디오 신호들은 그래픽 카드(13)에 의해 그래픽 카드(13)의 리프레쉬 메모리에 이진 형태로 저장된 이미지의 디스플레이를 발생시키는 그래픽 스크린(14)으로 엑스포트된다.
컴퓨터 스크린(14) 상에 기하 모델을 디스플레이하고자 하는 그래픽 응용 프로그램(11)은 DLL OpenGL(12)에 존재하는 그래픽 함수들에 대한 일련의 호출을 수행할 것이다. OpenGL 스펙에서, 이러한 일련의 그래픽 함수의 호출은 그래픽 스크린(14) 상에 이진 포인트 단위로 디스플레이된 카드(13)로 엑스포트된 명령어들의 변환을 완료시키는 특정 함수를 호출함으로써 종료된다.
예를 들어, 다음 각 좌표들
A : (0,10,0);
B : (0,10,-10);
C : (0,0,0);
D : (0,0,-10);
의 포인트 ABC, BCD를 각각 통과하는 2개의 삼각형 T1,T2의 스크립으로 구성된 기하 모델(10)을 디스플레이 하기 위해, 그래픽 응용 프로그램(11)은 DLL OpenGL(12), 즉
glBegin(GL_TRIANGLE_STRIP)
glVertex3fv(0.000, 10.000, 0.000)
glVertex3fv(0.000, 10.000, -10.000)
glVertex3fv(0.000, 0.000, 0.000)
glVertex3fv(0.000, 0.000, -10.000)
glEnd
wgSwapBuffers
에 따른 그래픽 함수의 호출을 수행할 것이다.
이러한 일련의 호출들에서, 호출 glBegin(GL_TRIANGLE_STRIP)은 삼각형의 스트립의 시작을 표시하고, 호출 glEnd는 삼각형의 끝을 표시한다. glVertex3fv 함수는 3개의 좌표 x,y,z에 의해 삼각형의 꼭지점들을 정의할 수 있도록 해준다.
모든 이전 구성요소들이 그래픽 응용프로그램에 의해 위 함수 호출을 통해 그래픽 API(12)로 전달되면, 그래픽 응용프로그램(11)은 위의 예 중 함수 "glFlush" 또는 함수 "wgSwapBuffers"와 같은 API 그래픽(12)의 적절한 함수의 도움으로 이전에 엑스포트된 구성요소들의 디스플레이를 완료시킨다. 이들 함수는 모두 그래픽 카드(13)의 현재 리프레싱 메모리에 비트 이미지로서 이전에 수신된 그래픽 명령어들의 변환을 완료시키며, 이것은 그래픽 스크린(14) 상에 이전에 수신된 그래픽 수신의 디스플레이를 종료시키게 된다.
명령어 "wglSwapBuffers"는 또한 그래픽 카드(13)가 갖는 2개의 래스터(raster) 메모리를 치환시킨다.
설명된 디스플레이의 예에서, 명령어 "wglSwapBuffers"의 수신은 그래픽 명령어의 그래픽 스크린(14) 상의 유효 디스플레이가 그래픽 응용프로그램(11)에 의해 그래픽 인터페이스(12)를 통해 그래픽 카드(13)로 엑스포트되도록 하는 효과를 가져온다. 이 경우에, 이 스크린(14) 상의 2개의 삼각형 T1 및 T2에 의해 구성된 기하 모델(10)의 디스플레이를 완료시키는 효과를 갖는다.
이하 도2 및 도3을 참조하여 본 발명의 엑스포트 방법을 사용하는 기하 모델의 엑스포트를 설명한다.
본 발명의 방법을 사용하는 그래픽 데이터의 송신 프로그램의 인스톨 중에, 윈도우즈의 레퍼터리 시스템에 원래 존재하던 DLL "open132.dll"은 예컨대, "open132bis.dll"로 리네임(rename)되고, 본 발명의 방법을 사용하는 DLL(15)로 대체되며, 원래 이름, 예컨대 "open132.dll"과 동일하게 명명된다. 본 발명에 따른 이 DLL(15)은 원래 DLL(12)와 OpenGL 스펙에 따른 동일한 함수들을 갖는다. 즉, 원래 DLL OpenGL(12)와 동일한 이름과 동일한 파라미터들을 갖는 동일한 인터페이스 함수들을 제안한다.
조작자(2)(미도시)가 그래픽 응용 프로그램(11)에 의해 생성 및/또는 조작된 기하 모델(10)의 데이터를 송신하고자 하는 경우에, 조작자(2)는 우선 상술한 바와 같은 본 발명의 방법을 수행하는 DLL을 사용한다. 그리고 나서, 조작자(2)는 그래픽 응용 프로그램(11)에 의해 원하는 기하 모델(10)을 디스플레이한다. 본 발명의 방법을 사용하지 않고, 컴퓨터 시스템(1)의 사용 범위에서 앞서 설명된 것과 동일한 방식으로, 그래픽 응용 프로그램이 스크린 상에 기하 모델을 디스플레이하고자 하는 경우에, 윈도우즈의 레퍼터리 시스템에 위치한 "open132.dll"이라 불리는 DLL(15)를 사용한다. 즉, DLL(15)에 포함된 OpenGL 스펙를 따라 함수들 및 원래 파일들의 호출을 수행한다.
이와 같은 상황에서, 본 발명에 따른 기하 요소들과 관련된 데이터의 송신 프로그램의 인스톨 시에, DLL(12)은 본 발명의 방법을 사용하여 DLL(15)에 의해 대체되고, 그래픽 응용 프로그램은 원래 DLL(12)에 존재하는 함수들 및 원래 파일들 대신에 본 발명의 방법을 사용하여 DLL(15)에 존재하는 함수들 및 원래 파일들을 명백한 방식으로 호출한다.
변형예로서, "open132.dll"이라 불리는 DLL(15)은 특정 응용 프로그램(11)의 레퍼터리에만 DLL(15)을 인스톨시킴으로써, 특정 모델링 또는 구조적 조작(11)에서만의 사용을 위해 인스톨될 수 있을 것이다. 따라서, 윈도우즈를 사용하는 시스템이 응용 프로그램(11)에 의해 DLL(15) 기준을 검색할 때, 시스템은 우선 상기 응용 프로그램(11)이 위치한 것과 동일한 레퍼터리의 DLL(15)을 검색한다. 검색 결과가 없는 경우에, 윈도우즈를 이용하는 시스템은 시스템(1)의 소정의 레퍼터리에서 이 DLL(15)을 검색하고, 상기 시스템(1)은 무엇보다도 이용하는 윈도우즈 시스템이 인스톨된 레퍼터리 시스템을 포함한다.
따라서, 본 발명의 방법이 실행되면, 상술한 예에 따라, 본 발명의 방법의 DLL(15)이 원래 DLL OpenGL(12) 대신에 예정된 그래픽 함수의 호출을 수신하게 된다. 본 발명의 실시예에서, 본 발명의 DLL(15)은 수신된 조작 호출을 원래 DLL(12)로 엑스포트한다. 즉, 그래픽 응용 프로그램(11)으로부터의 호출에 수신된 것과 동일한 파라미터를 갖는 DLL(12)에 해당하는 함수들을 호출한다.
결과적으로, 본 발명의 DLL(15)은 다음 함수 호출을 수신한다.
glBegin(GL_TRIANGLE_STRIP)
glVertex3fv(0.000, 10.000, 0.000)
glVertex3fv(0.000, 10.000, -10.000)
glVertex3fv(0.000, 0.000, 0.000)
glVertex3fv(0.000, 0.000, -10.000)
glEnd
wgSwapBuffers
기하 요소들과 관련된 데이터를 송신하기 위해, 본 발명에 따라 DLL(15)에 포함된 프로그램은 메모리(16)에, 기하 요소들과 관련된 특정 수의 데이터 테이블, 예컨대, 비제한 방식으로 포인트의 "Points" 테이블 및 삼각형의 "Triangles" 테이블을 저장한다. 처음에는, 그들 2개의 테이블이 비어 있다. 즉, 포인트 테이블의 엘리먼트 수 NPoints 및 삼각형 테이블의 엘리먼트 수 NTriangles는 모두 0이다.
DLL(15)의 프로그램은 스텝(30)에서 시작되며, 스텝(30)에서 포인트의 수 NPoints 및 삼각형의 수 NTriangles는 0으로 초기화되고, 그래픽 응용 프로그램(11)으로부터 그래픽 명령어의 수신을 대기한다. 명령어 glBegin(GL_TRIANGLE_STRIP)의 수신 중에, 본 발명에 따른 방법은 스텝(31)을 거치고, 스텝(31)에서 명령어 GL_BEGIN의 파라미터 값이 그 꼭지점으로 정의되는 삼각형 스트립을 정의한 일련의 그래픽 명령어들의 시작을 표시하는 소정의 값 GL_TRIANGLE_STRIP 인지를 테스트한다. 응답이 부정적이면, 스텝(30)으로 돌아간다. 스텝(31)에서의 응답이 긍정적이면, 즉 파라미터의 값이 GL_TRIANGLE_STRIP이면, 스텝(32)에서 그래픽 명령어를 기다린다.
그래픽 명령어의 수신 중에, 본 발명의 방법은 스텝(33)에서 수신된 명령어가 glVertex3fv 명령어 인지를 테스트한다. 주어진 예에서, 응답은 긍정적이고, 호출 glVertex3fv(0.000, 10.000, 0.000)을 수신하는 중에, 본 발명의 방법은 스텝(34)으로 이동한다. 스텝(34)에서, 프로그램(15)은 한 유닛만큼 수신된 포인트의 수 NPoints를 증가시킨다. 즉, NPoints 값을 그 초기값 0에서 1로 증가시킨다. 그리고 나서, 수신된 포인트를 포인트 테이블에 저장한다. 즉, 다시 스텝(34)에서, 수신된 명령어 glVertex3fv의 제1, 제2 및 제3 파라미터 각각을 저장하고, 이 경우에는 포인트 테이블의 제1 포인트의 x, y 및 z 좌표값인 0.000, 10.000 및 0.000을 각각 저장한다. 그리고 나서, 스텝(35)으로 이동한다.
스텝(35)에서, 수신된 포인트의 수 NPoints가 3 이하인지를 테스트한다. 응답이 긍정적이면 스텝(32)으로 이동하고, 그렇지 않으면 스텝(36)으로 이동한다.
스텝(36)에서, 응답이 부정적이면, 이것은 적어도 3개의 포인트가 위 명령어 glVertex3fv에 의해 엑스포트되었음을 나타낸다. 삼각의 스트립 GL_TRIANGLE_STRIP에 대한 OpenGL 스펙에 따르면, 이것은 수신된 3개의 마지막 포인트로 구성되는 스트립의 삼각형이 정의되었음을 표시한다.
결과적으로, 스텝(36)에서, 본 발명을 사용하는 DLL(15)의 프로그램은 한 유닛에 의해 수신된 삼각형 수를 증가시킨다. 즉, 한 유닛에 의해 수신된 삼각형의 수 NTriangles를 증가시킨다. 그리고 나서, 수신된 삼각형을 구성하는 포인트들, 즉, OpenGL 스펙에 따라 삼각형의 테이블의 해당 위치에서 수신된 마지막 3개의 포인트들의 번호 n1, n2 및 n3를 저장한다. 즉, 수신된 3개의 마지막 포인트들의 번호들 NPoints-2, NPoints-1 및 NPoints를 삼각형 테이블의 번호 위치 NTriangle의 위치 n1, n2 및 n3에 저장한다.
프로그램(15)은 스텝(32)으로 가서 그래픽 응용 프로그램(11)에 의해 엑스포트된 삼각형들의 스트립의 다른 가능성 있는 포인트들을 기다린다.
그리고 나서, 스텝(33)에서의 응답이 부정이 될 때까지 스텝(32) 내지 스텝(36)을 반복한다.
상술한 예에서, 4개의 명령어들 "glVertex3fv"를 통한 4개의 포인트들을 가진 후에, DLL(15)은 다른 "glVertex3fv" 명령어를 수신하지 않고, 대신 명령어 "glEnd"를 수신한다. 결과적으로, 스텝(33)에서 응답이 부정되고, DLL(15)은 스텝(37)으로 이동한다.
OpenGL 스펙에서, 명령어 "glEnd"는 일련의 그래픽 명령어들이 이전 명령어 glBegin에 의해 개시되었음을 의미하고, 이 경우 삼각형들의 스트립 GL_TRIANGLE_STRIP이 완료되었음을 의미한다.
스텝(37)에서, DLL(15)은 후에 수신한 함수 호출이 "glEnd" 함수 호출이었는지를 테스트한다. 응답이 부정적이면, DLL(15)에 포함된 프로그램은 스텝(32)으로 돌아간다. 스텝(37)에서의 테스트에 대한 응답이 긍정적이면, DLL(15)의 프로그램은 스텝(18)으로 이동한다. 상술한 예에서, 이것은 4개의 명령어들 "glVertex3fv" 다음에 그래픽 응용 프로그램(11)이 명령어 "glEnd"를 엑스포트할 때 발생한다.
스텝(38)에서, 본 발명의 DLL(15)에 포함된 프로그램은 그래픽 응용 프로그램(11)으로부터의 명령어를 기다리고, 그러한 명령어가 수신되면, 스텝(39)으로 이동한다.
스텝(39)에서, DLL(15)의 프로그램은 수신된 그래픽 명령어가 OpenGL 명령어 "wgSwapBuffers" 인지 또는 "glFlush"인지를 테스트한다. 응답이 부정적이면 즉, 수신된 명령어가 "wglSwapBuffers" 명령어도 아니고, "glBuffers" 명령어도 아니면, 본 발명의 방법에 따른 DLL(15)의 프로그램은 종료된다. 스텝(39)에 대한 응답이 긍정적이면, DLL(15)의 프로그램은 스텝(40)으로 이동한다.
상술한 예에서, "glEnd" 명령어들을 송신한 후에, 그래픽 응용 프로그램(11)은 명령어 "wglSwapBuffers"를 프로그램(15)으로 엑스포트하지만, 명령어 "glFlush"도 동일하게 사용될 수 있다.
위에 지적된 바와 같이, 본 발명의 방법을 사용하지 않는 컴퓨터 시스템(1)의 실시예에서의 프레임웍에서, 이러한 명령어들은 그래픽 명령어의 변환을 완료시키고, 소위 스크린(14) 상에 적절하게 디스플레이되며, 암시적으로 이전에 송신된 명령어들은 다른 그래픽 명령어들을 기다리지 않고 스크린 상에 디스플레이 될 것이기 때문에, 일관성 있는 전체(coherent whole)를 형성한다는 의미를 포함한다.
결과적으로, 본 발명의 실시예에서, 이러한 명령어들은 이전에 수신된 그래픽 명령어들이 일관성 있는 전체를 형성하는지를 결정하고, 저장 유닛(18)으로 송신할 것인지를 결정하는데 사용된다.
결과적으로, 스텝(39)에서, 테스트에 대한 응답이 긍정적이면, 즉 명령어 "wglSwapBuffer" 또는 "glFlush"가 수신되었으면, 프로그램(15)에 의해 이전에 수신된 명령어들은 일관성 있는 전체를 형성하고, 본 발명의 방법을 사용하는 프로그램(15)은 스텝(40)으로 이동하고, 여기서 레이더3D(17)라 불리는 모듈(17)은 메모리(16)에 저장된 포인트들 및 삼각형들의 저장 유닛(18)으로의 송신을 수행한다.
본 발명에 따른 방법에서, 포인트들 및 삼각형들 테이블이 저장되는 메모리(16)는 본 발명의 방법을 사용하는 컴퓨터에 제공된 메모리이고, 이것은 DLL(15)에 기록하고, 동시에 모듈, 레이더3D(17)에 의해 재판독될 수 있음을 의미한다.
본 발명에 따른 제1 실시예에서, 포인트들 및 삼각형들 테이블은 포인트들 및 삼각형들이 저장 유닛(18)에 동일한 이름의 파일로 기록되는 단순 텍스트 파일의 형태로 유닛(18)으로 엑스포트된다.
이하, 다시 도4를 참조하여 본 발명의 방법의 제1 실시예에 따른 레이더3D(17) 모듈의 동작을 설명한다.
본 제1 실시예에 있어서, 스텝(41)에서, 레이더3D(17) 모듈은 포인트의 엑스포트를 위한 파일, 즉 "Points"를 생성하여 연다. 본 실시예에 있어서, 저장 유닛(18)에서는, 값 0 이후에 "Points" 파일에 기록된 포인트들의 수 i가 시작되고, 스텝(42)으로 이동한다.
스텝(42)에서, 레이더3D(17) 모듈은 "Points" 파일에 기록된 포인트들의 수 i가 포함된 메모리에 존재하는 NPoints들의 수보다 작은지를 테스트한다. 스텝(42)에서의 응답이 긍정적이면, 레이더3D(17) 모듈은 스텝(43)으로 이동한다. 스텝(43)에서, 레이더3D(17) 모듈은 i값을 1만큼 증가시키고, 메모리(16)에 포함된 "Points" 테이블의 입력 i로부터 복사된 해당 i의 포인트의 3개의 좌표 x, y 및 z에 의해 "Points" 파일에 동일한 라인 상의 다음에 새로운 i값을 기록한다. 레이더3D(17) 모듈은 "Points" 파일의 라인으로 이동하고, 그리고 나서 스텝(42)으로 되돌아 간다.
스텝(42)에서의 응답이 부정적이면, 레이더3D(17) 모듈은 스텝(44)으로 이동한다. 스텝(44)에서, 레이더3D(17) 모듈은 저장 유닛에 삼각형의 엑스포트를 위한 파일, 즉 상술한 예에서의 "Triangles"를 생성하고 연다. 그리고 나서, "Triangles" 파일에 기록된 삼각형의 i 값을 0에서 출발시킨다. 그리고 나서, 스텝(46)으로 이동한다.
스텝(46)에서, 레이더3D(17) 모듈은 "Triangles" 파일에 기록된 삼각형의 i 값이 포함된 메모리에 존재하는 NTriangles의 수보다 작은지를 테스트한다. 스텝(46)에서의 응답이 긍정적이면, 레이더3D(17) 모듈은 스텝(47)으로 이동한다. 스텝(47)에서, 레이더3D(17) 모듈은 i 값을 한 유닛 만큼 증가시키고, 현재 삼각형의 i 값을 "Triangle" 파일에 기록하고, "Triangles" 파일의 동일 라인에서, 포함된 메모리에 저장된 "Triangles" 테이블의 입력 i로부터 번호 i의 삼각형을 구성하는 3개의 포인트들의 수 n1, n2 및 n3를 재복사한다. 모듈(17)은 스텝(46)으로 되돌아 간다.
스텝(46)에서 응답이 부정적이면, 레이더 모듈은 스텝(48)으로 이동하고, 여기서 엑스포트 파일 "Triangles"를 닫는다.
상술한 예의 경우에 텍스트 파일 "Points" 및 "Triangles"은 각각 이하의 테이블 1 및 테이블 2의 형태를 가질 것이다.
테이블 1
1 0.000, 10.000, 0.000
2 0.000, 10.000, -10.000
3 0.000, 0.000, 0.000
4 0.000, 0.000, -10.000
테이블 2
1 1,2,3
2 2,3,4
본 발명의 제1 실시예에 따른 기하 타입 요소에 연결되는 데이터 엑스포트 방법이 완료되고, 이 응용 프로그램(11)의 어떠한 변형없이도, 또한, 이 응용 프로그램(11)에 특정된 임의의 프로그램 개발 없이도, 응용 프로그램의 데이터 포맷에 대한 지식없이 그래픽 응용 프로그램(11)에 의해 생성 및/또는 조작되는 기하 모델(10)의 엑스포트를 가능케할 수 있다.
본 발명의 제2 실시예에서, 사용되는 엑스포트 포맷은 AutoDesk 사의 DXF(Data eXchange Format)이고, 이것은 기하 요소와 관련된 데이터 엑스포트 재료 시장에 대한 표준 포맷이다.
DXF 포맷은 라인 정보 때문에 텍스트 포맷이다. 라인들은 쌍으로 수집되며, 그 쌍의 첫번째 라인은 그 다음 라인의 데이터 타입을 표시하는 전체 수 데이터를 포함한다. 따라서, 한 타입의 수치 데이터가 0 내지 9 사이의 수로 구성된 완전한 수일 경우에, 다음 라인 상에 나타나는 데이터는 일련의 문자들일 것이고, 한 타입에 대한 수치 데이터는 10 내지 59 사이의 수로 구성된 완전한 수일 것이며, 다음 라인에 나타나는 데이터는 두배의 정확성을 갖는 부동 타입의 3차원 포인트들에 대한 좌표일 것이다.
또한, DXF 파일은 섹션으로 구성된다. 한 섹션은 한쌍의 라인으로 유도된다. 한 라인은 일련의 문자들을 유도하는 숫자 0으로 구성되고, 한 라인은 워드 키 SECTION으로 구성되며, 처음은 숫자 0이고 그 다음은 키 ENDSEC으로 구성되는 한 쌍의 라인들로 종료된다.
DXF 파일은 소정 수의 서로 다른 섹션 타입, 특히, 기하 타입 요소를 정의하는 섹션 ENTITIES 및 소정 수의 다른 섹션들, 예컨대 본 발명의 범위에서 벗어나는 파라미터 또는 클래스를 정의하는 섹션들을 포함한다.
섹션 ENTITIES는 기하 모델의 다양한 기하 요소들로 구성되고, 각 기하 요소는 기하 요소의 타입을 나타내는 일련의 문자들로 시작되고, 그 다음은 그 기하 요소를 정의하는데 필요한 파라미터들이 뒤따른다.
예를 들어, 공간 상의 한 면의 정의는 한쌍의 라인들로 구성되며, 그 중 첫번째 라인은 0으로 시작하고, 그 다음은 키워드 3DFACE로 구성되는 일련의 문자들로 구성된다.
한 면은 각각 삼각형 또는 사각형을 구성하는 3개 또는 4개의 포인트들로 구성되고, 4번째 포인트는 관습에 의해 사각형이 아닌 삼각형임을 표시하기 위해 3번째 것과 동일하도록 정해진다. 한 면의 4개의 포인트 각각은 3개의 좌표 x, y 및 z에 의해 정의되고, 이들 좌표 각각은 상술한 바와 같이 첫번째는 10 내지 59로 구성된 완전한 수 표시자이고, 두번째 적절하게 좌표로 구성된 한 쌍의 라인들로 정의된다.
DXF 포맷의 스펙에서, 그 면의 첫번째 포인트의 좌표 x1, y1 및 z1에 대한 표시자는 각각 10, 20 및 30이고, 그 면의 두번째 포인트의 좌표 x2, y2 및 z2에 대한 표시자는 각각 11, 21 및 31이며, 그 면의 세번째 포인트의 좌표들 x3, y3 및 z3에 대한 표시자는 각각 12, 22 및 32이며, 그 면의 네번째 포인트의 좌표들 x4, y4 및 z4에 대한 표시자는 각각 13, 23 및 33이다.
즉, 한 면의 1 내지 4까지 변화하는 번호 j의 포인트에 대해서, 포인트 j의 좌표 x에 대한 수치 표시자는 9+j 이고, 포인트 j의 좌표 y에 대한 수치 표시자는 19+j이며, 포인트 j의 좌표 z에 대한 수치 표시자는 29+j이다.
보다 정확하게는, 도5를 참조하면, 본 발명의 제2 실시예에 따른 레이더3D(17) 모듈은 스텝(51)에서, 상술한 실시예에서의 엑스포트 파일인 "DXF"를 생성하고 연다음, 스텝(52)으로 이동한다. 스텝(52)에서, 레이더3D(17) 모듈은 DXF 포맷의 파일의 헤드라인, 즉 다음의 4개의 라인을 기록한다.
0
SECTION
2
ENTITIES
그리고 나서, "DXF" 파일에 기록된 면들의 수 i를 0에서부터 증가시키기 시작한다. 레이더3D(17) 모듈은 스텝(53)으로 이동한다. 스텝(53)에서, 레이더3D(17) 모듈은 기록된 면의 i값이 보드상의 메모리에 저장된 삼각형들의 수보다 작은지를 테스트한다.
스텝(53)에서의 응답이 긍정적이면, 즉 이전에 DXF 파일에 기록된 삼각형들의 i 값들이 보드상의 메모리(16)에 저장된 삼각형들의 수 NTriangles보다 작으면, 레이더3D(17) 모듈은 스텝(54)으로 이동한다. 스텝(54)에서, 레이더3D(17) 모듈은 파일에 이전에 기록된 삼각형들의 i 값을 한 유닛만큼 증가시키고, 한 면에 대한 DXF 포맷에 헤드라인 즉, 다음 2개의 라인들을 기록한다.
0
3DFACE
또한, 스텝(54)에서, 레이더3D(17) 모듈은 "DXF" 파일에 기록된 삼각형 i의 포인트들의 j 값을 0으로 초기화하고, 스텝(55)으로 이동한다. 스텝(55)에서, 레이더3D(17) 모듈은 "DXF" 파일에 기록된 삼각형 i의 포인트의 수 j가 3보다 작은지를 테스트한다. 응답이 긍정적이면, 레이더3D(17) 모듈은 스텝(56)으로 이동한다.
스텝(56)에서, 레이더3D(17) 모듈은 "DXF" 파일에 기록된 삼각형 i의 포인트의 수 j를 한 단위만큼 증가시키고, Triangles·n1과 동일하도록 n을 계산한다. 즉, n은 삼각형 i의 포인트 j의 번호 nj와 같아지게 된다. 그리고 나서, DXF 포맷으로 그 면의 포인트 j에 대한 좌표 x의 표시자를 연속적으로 기록한다. 즉, n 값이 이전에 계산된 포인트에 대해 9+j를 첫번째 라인에 기록하고, 좌표 x 자신을 두번째 라인에 기록한다.
마찬가지로, 스텝(56)에서 n의 포인트에 대해, 레이더3D(17) 모듈은 표시자 19+j를 세번째 라인에 기록하고, 좌표 y를 네번째 라인에 기록하며, 표시자 29+j를 5번째 라인에 기록하고, 좌표 z를 여섯번째 라인에 기록한다. 그리고 나서, 레이더3D(17) 모듈은 스텝(55)으로 되돌아 간다.
스텝(55 및 56)은 스텝(55)에서 응답이 부정적이 될 때까지 즉, "DXF" 파일에 기록된 삼각형의 포인트들의 수 j가 3이 될 때까지 반복된다. 이 조작 포인트에서, 레이더3D(17) 모듈은 삼각형 i의 3개의 포인트들에 기록될 것이다.
i가 1일때, 즉 첫번째 삼각형에 대해, 레이더3D(17) 모듈은 다음 라인들을 "DXF" 파일에 연속적으로 기록할 것이다.
삼각형 1의 포인트 n1=1에 대해서는,
10
0.0
20
10.0
30
0.0
삼각형 1의 포인트 n2=2에 대해서는,
11
0.0
21
10.0
31
-10.0
삼각형 1의 포인트 n3=3 에 대해서는,
12
0.0
22
0.0
32
0.0
스텝(55)에서 "DXF" 파일에 기록된 포인트들의 수 j가 3이면, 레이더3D(17) 모듈은 스텝(57)으로 이동한다. 스텝(57)의 시작시에, 레이더3D(17) 모듈은 "DXF" 파일에 위에 제시된 형태로 삼각형 i의 3개의 포인트들을 기록할 것이다. 그러나, 상술한 바와 같이 DXF 스펙은 면당 4개의 포인트를 필요로 하고, n3의 세번째 포인트가 반복되는데, 이것은 DXF 규약에 따라 설명된 면이 삼각형임을 의미한다.
이에 대해, 스텝(57)에서, 레이더3D(17) 모듈은 파일에 평면의 네번째 포인트 즉 13에 대한 좌표 x의 표시자를 첫번째 라인 상에 기록하고, 그리고 나서, 좌표 x를 두번째 라인에 기록한다. 마찬가지로, 좌표 표시자 y, 즉 23을 세번째 라인에 기록하고, 좌표 y를 네번째 라인에, 좌표 z 즉 33을 다섯번째 라인에, 좌표 z를 여섯번째 라인에 각각 기록한다.
i가 1인 경우에, 즉 첫번째 삼각형인 경우에 이것은 스텝(57)에서, 레이더3D(17) 모듈이 "DXF" 파일에 다음 라인들을 기록한다는 것을 의미한다.
13
0.0
23
0.0
33
0.0
이것은 현재 면의 이전 포인트, 즉 첫번째 삼각형의 세번째 포인트의 좌표를 반복한다.
스텝(57)의 마지막에서, 레이더3D(17) 모듈은 스텝(54)으로 되돌아가서 첫번째 삼각형에 대해 스텝(54)에서 응답이 긍정적이 될 때까지 상술한 바와 같은 동일한 방법을 사용함으로써 다음 삼각형을 엑스포트한다.
스텝(54)에서 응답이 긍정적이 되면, 즉 이전에 보드 상의 메모리(16)에 저장된 모든 삼각형들이 "DXF"에 기록되었으면, 레이더3D(17) 모듈은 스텝(58)으로 이동한다. 스텝(58)에서, 레이더3D(17) 모듈은 섹션 라인들의 마지막, 즉 다음 2개의 라인을 기록한다.
0
ENDSEC
그리고 나서, DXF 포맷의 엑스포트 파일의 마지막을 표시하는 2개의 라인들, 즉
0
EOF
를 기록한다.
그리고 나서, 다시 스텝(58)에서, 레이더3D(17) 모듈은 "DXF" 파일을 형성하고, 이것은 따라서 다음의 테이블3에 제시된 형태를 갖게 될 것이다.
테이블3
0
SECTION
2
ENTITIES
3DFACE
10
0.0
20
10.0
30
0.0
11
0.0
21
10.0
31
-10.0
12
0.0
22
0.0
32
0.0
13
0.0
23
0.0
33
0.0
0
3DFACE
10
0.0
20
10.0
30
-10.0
11
0.0
21
0.0
31
0.0
12
0.0
22
0.0
32
-10.0
13
0.0
23
0.0
33
-10.0
0
ENDSEC
0
EOF
상술한 바와 같은 방법에 의해 본 발명의 제2 실시예에 따라 기하 타입의 요소에 연결된 데이터를 엑스포트하는 방법이 완료된다. 그래픽 응용 프로그램(11)에 의해 생성 및/또는 조작된 기하 모델(10)을 엑스포트하는 응용 프로그램의 데이 터의 포맷에 대한 지식없이, 응용 프로그램(11)의 어떠한 변형없이도, 또한, 응용 프로그램(11)에 특정한 어떠한 프로그램 개발 없이도 가능하다.
명백하게, 본 발명의 방법은 상술한 포인트들 및 삼각형들의 그래픽 함수의 인터셉트 및 엑스포트에 한정되지 않는다. 특히, 상술한 예에서, 포인트들의 생성에 사용되는 함수는 glVertex3fv 였지만, 당업자에게는 전술한 실시예들이 glVertex 그룹의 임의의 명령어에도 적용될 수 있음을 이해할 것이다.
또한, 상술한 설명에서 본 발명의 방법이 비제한적인 방식으로 사각형 엘리먼트를 정의하는 함수, 어느 한 점에 수직인 면의 방향에 대한 정보를 정의하는 함수, 색채, 표면 텍스쳐, 투명도에 대한 정보를 정의하는 함수와 같이 임의의 원하는 OpenGL 함수의 엑스포트를 가능케한다는 점은 명백하다.
또한, 임의의 모델링된 구조는 그 구조가 아무리 복잡하다 하여도 방향, 삼각형, 사각형 등등의 포인트에 의해 디스플레이될 것이고 상술한 방법을 사용함으로써 엑스포트될 수 있을 것이기 때문에, 본 발명에 따른 방법은 상술한 예와 같이 단순한 기하 요소의 엑스포트에만 제한되지 않고, 임의의 모델의 엑스포트를 가능케하는데 적용될 수 있다는 점은 당업자에게 명백하다
마찬가지로, 설명의 간명함을 위해, 특정 포인트들에서 사용된 모든 기하 요소들은 특정적이었으며, 따라서 어떠한 테이블이 사용되던 간에 반복을 찾거나 최적화할 필요가 없다고 가정된다. 실제에 있어서, 복제된 엘리먼트들은 DLL(15) 프로그램에 의한 Points 및 Trinangles에 대한 기록 중에 또는, 레이더3D(17) 모듈에 의한 저장 유닛(18)으로의 엑스포트 중에, 적절한 방법에 의해 명백히 생략될 것이다.
마찬가지로, 본 발명의 방법은 OpenGL 그래픽 라이브러리를 사용하여 설명된 실시예들로 제한되지 않으며, 당업자는 모델링 또는 기하 모델링(10)의 응용 프로그램에 의해 사용되도록 구성된 디스플레이 함수의 다른 라이브러리(12), 예컨대 마이크로소프트 사의 DirectX 디스플레이 라이브러리와 같은 라이브러리에도 적용될 수 있음은 당업자에게 명백하다.
또한, 본 발명은 모델링 및/또는 조작 시스템(1)에 존재하는 모든 그래픽 응용 프로그램 보다는, 윈도우즈 사용자 시스템의 레퍼터리 시스템 대신에 원하는 응용 프로그램 레퍼터리에 대해서만 본 발명의 방법으로 사용하는 DLL(15)을 인스톨함으로써, 임의의 특정 응용 프로그램(11)에 사용될 수 있다.
전술한 바로부터, 본 발명의 방법은 응용 프로그램(11)의 어떠한 변형 없이도, 응용 프로그램(11)에 대한 특정 프로그램의 개발없이도, 응용 프로그램(11)에 의해 사용되는 데이터의 포맷에 대한 어떠한 지식없이도, 단지 기하 모델(10)의 디스플레이에 사용되는 응용프로그램의 함수 및 원 그래픽을 인터셉트함으로써, 응용 프로그램(11)에 의해 모델링된 예(10)의 구조에 대한 정보의 엑스포트를 가능케함을 알 수 있다.
저장 유닛(18)에서 엑스포트된 기하 요소들과 관련된 데이터를 저장하는데 사용되는 데이터의 포맷은 제1 실시예에 제시된 것과 같은 공지된 포맷으로 또는 DXF 포맷과 같은 표준 포맷 또는 특정 응용 프로그램에 의해 요구되는 임의의 포맷일 수 있으며, 이러한 데이터를 기하 모델링 또는 조작하는 임의의 바람직한 시스템으로 임포트(import)하는 것이 용이해질 것이다.
따라서, 본 발명의 방법은 매우 다양한 분야에서 사용될 수 있으며, 특히 자동차 또는 비행기, 또는 산업디자인 건축, 비디오 게임의 설계 산업 및 서비스와 같은 기하 요소와 관련된 데이터를 사용하는 모든 산업 및 서비스와 같이, 기하 요소들과 관련된 데이터가 서로 다른 시스템 간에 교환되어야 하는 모든 분야에 적용될 수 있다.

Claims (26)

  1. 기하 요소들(10)의 모델링 및/또는 조작을 위한 컴퓨터 시스템(1)을 사용하여 상기 기하 요소들(10)과 관련된 데이터를 엑스포트하기 위한 방법에 있어서,
    상기 기하 요소들(10)의 모델링 및/또는 조작을 위한 컴퓨터 시스템(1)은 컴퓨터 프로그램들(11,12,15)을 수행할 수 있는 적어도 하나의 중앙 처리 장치, 상기 컴퓨터 프로그램들(11,12,15)의 수행 중에 상기 컴퓨터 프로그램들(11,12,15) 및 상기 기하 요소들(10)과 관련된 데이터를 저장할 수 있는 메모리(16), 및 상기 기하 요소들(10)과 관련된 데이터를 영구히 저장할 수 있는 적어도 하나의 저장 유닛(18)을 포함하고,
    상기 컴퓨터 시스템(1)은 상기 기하 요소들(10)의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11) 및 상기 기하 요소들(10)과 관련된 데이터를 디스플레이하기 위한 적어도 하나의 디스플레이 프로그램(12)을 포함하며,
    상기 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11)은 상기 적어도 하나의 디스플레이 프로그램(12)에 위치한 디스플레이 함수들을 호출함으로써 상기 디스플레이될 기하 요소들(10)과 관련된 데이터를 상기 적어도 하나의 디스플레이 프로그램(12)으로 전송하고,
    상기 디스플레이 프로그램(12)에 의해 디스플레이될 데이터는 기하 요소들(10)의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11)에 의해 호출된 상기 디스플레이 함수들의 호출 파라미터의 형태로 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)에 의해 상기 적어도 하나의 디스플레이 프로그램(12)으로 전송되며,
    상기 디스플레이 함수들은 상기 기하 요소들(10)과 관련된 소정 수의 데이터의 디스플레이를 가능케하고,
    상기 기하 요소들(10)과 관련된 데이터의 엑스포트 프로그램(15)은 상기 적어도 하나의 디스플레이 프로그램(12) 중 적어도 하나를 대체하며,
    상기 엑스포트 프로그램(15)은 상기 적어도 하나의 디스플레이 프로그램(12)과 동일한 기하 요소들(10)과 관련된 데이터의 디스플레이 함수들을 가지고,
    상기 엑스포트 프로그램(15)의 상기 기하 요소들(10)과 관련된 데이터의 디스플레이 함수들은 상기 적어도 하나의 디스플레이 프로그램(12)의 해당 함수들과 동일한 파라미터를 가지며,
    상기 기하 요소들의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11)은 상기 적어도 하나의 디스플레이 프로그램(12)의 해당 함수들 대신 명시적으로 상기 엑스포트 프로그램(15)의 함수들을 호출하고,
    상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들 중 어느 하나에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)의 호출 중에, 상기 엑스포트 프로그램(15)은 상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)의 호출의 상기 엑스포트 프로그램(15)에 의한 처리로부터의 데이터를 DXF(Data eXchange Format) 포맷으로 상기 적어도 하나의 저장 유닛(18)에 저장하는 것을 특징으로 하는 데이터 엑스포트 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 모델링 및/또는 조작 프로그램(11) 중 적어도 하나는 CAD(computer assisted design) 타입의 프로그램인 것을 특징으로 하는 데이터 엑스포트 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 모델링 및/또는 조작 프로그램(11) 중 적어도 하나는 비디오 게임 타입의 프로그램인 것을 특징으로 하는 데이터 엑스포트 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들 중 어느 하나에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)의 호출 중에, 상기 엑스포트 프로그램(15)은 상기 엑스포트 프로그램(15)의 상기 함수의 호출 중에 존재하는 것과 동일한 호출 파라미터로 상기 호출 프로그램(15)에서 호출된 상기 디스플레이 함수에 해당하는 상기 디스플레이 프로그램(12)의 디스플레이 함수를 호출하는 것을 특징으로 하는 데이터 엑스포트 방법.
  6. 제5항에 있어서,
    상기 호출된 디스플레이 프로그램은 상기 엑스포트 프로그램이 대신하는 상기 디스플레이 프로그램(12)인 것을 특징으로 하는 데이터 엑스포트 방법.
  7. 제5항에 있어서,
    상기 호출된 디스플레이 프로그램은 상기 엑스포트 프로그램이 대신하는 상기 디스플레이 프로그램과 다른 디스플레이 프로그램(12)인 것을 특징으로 하는 데이터 엑스포트 방법.
  8. 제1항에 있어서,
    상기 컴퓨터 시스템(1)은 적어도 하나의 그래픽 디스플레이 장치(13)를 더 포함하고,
    상기 적어도 하나의 디스플레이 장치(13)는 적어도 하나의 리프레쉬 및/또는 디스플레이 메모리를 포함하고,
    상기 적어도 하나의 디스플레이 프로그램(12)은 상기 적어도 하나의 디스플레이 장치(13)에 대해, 상기 디스플레이 프로그램(12)에 의해 수신된 디스플레이 함수들의 상기 호출의 포인트들 형태로 디지털화를 명령하며,
    상기 디스플레이 장치(13)는 상기 리프레쉬 및/또는 디스플레이 메모리에 상기 적어도 하나의 디스플레이 프로그램(12)에 의해 수신된 디스플레이 함수들의 상기 호출의 디지털화로부터의 포인트를 저장하는 것을 특징으로 하는 데이터 엑스포트 방법.
  9. 제8항에 있어서,
    상기 컴퓨터 시스템(1)은 적어도 하나의 그래픽 스크린(14)을 더 포함하고, 상기 리프레쉬 및/또는 디스플레이 메모리는 상기 적어도 하나의 디스플레이 장치(13)에 의해 재판독되며, 상기 적어도 하나의 디스플레이 장치(13)는 상기 적어도 하나의 그래픽 스크린(14) 상에 상기 리프레쉬 및/또는 디스플레이 메모리로부터 재판독된 상기 포인트들을 디스플레이하는 것을 특징으로 하는 데이터 엑스포트 방법.
  10. 제8항에 있어서,
    상기 엑스포트 프로그램(15)에 의한 데이터의 엑스포트는 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)에 의해 상기 엑스포트 프로그램(15)으로 전송된 적어도 하나의 특정 그래픽 명령어에 의해 개시되는 것을 특징으로 하는 데이터 엑스포트 방법.
  11. 제10항에 있어서,
    상기 데이터의 엑스포트를 개시하는 상기 적어도 하나의 특정 그래픽 명령어는 상기 리프레쉬 및/또는 디스플레이 메모리의 상기 포인트에 수신된 상기 그래픽 호출 함수의 상기 디지털화를 완료시키는 명령어인 것을 특징으로 하는 데이터 엑스포트 방법.
  12. 제10항에 있어서,
    상기 적어도 하나의 디스플레이 장치(13)는 적어도 2개의 리프레쉬 및/또는 디스플레이 메모리를 포함하고, 상기 엑스포트를 기동시키는 명령어는, 상기 적어도 2개의 리프레쉬 및/또는 디스플레이 메모리 중 하나를 상기 적어도 2개의 리프레쉬 및/또는 디스플레이 메모리 중 나머지 하나로 스위칭시키는 동작을 기동시키는 명령어인 것을 특징으로 하는 데이터 엑스포트 방법.
  13. 제1항에 있어서,
    상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들 중 어느 하나에 대한 상기 모델링 및/또는 조작 프로그램(11)의 호출 중에, 상기 엑스포트 프로그램(15)은 상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들에 대한 호출의 상기 엑스포트 프로그램(15)에 의한 처리로부터의 데이터를 DXF 포맷으로 상기 메모리(16)에 저장하는 것을 특징으로 하는 데이터 엑스포트 방법.
  14. 제13항에 있어서,
    상기 컴퓨터 시스템(1)은 상기 메모리(16)에서 상기 엑스포트 프로그램(15)에 의한 처리로부터의 상기 데이터를 재판독하는 유틸리티 프로그램(17)을 더 수행하는 것을 특징으로 하는 데이터 엑스포트 방법.
  15. 제14항에 있어서,
    상기 메모리(16)를 재판독하는 상기 유틸리티 프로그램(17)은 상기 메모리(16)로부터 재판독된 상기 엑스포트 프로그램(15)에 의한 처리로부터의 상기 데이터를 DXF 포맷으로 상기 적어도 하나의 저장 유닛(18)에 저장하는 것을 특징으로 하는 데이터 엑스포트 방법.
  16. 제14항에 있어서,
    상기 유틸리티 프로그램(17)은 상기 적어도 하나의 디스플레이 프로그램(12)의 디스플레이 함수들의 호출의 도움으로 상기 메모리(16)로부터 재판독된 상기 데이터를 디스플레이하는 것을 특징으로 하는 데이터 엑스포트 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 제1항에 있어서,
    상기 기하 요소들과 관련된 상기 데이터는 기하 데이터를 포함하는 것을 특징으로 하는 데이터 엑스포트 방법.
  21. 제20항에 있어서,
    상기 기하 데이터는 2차원 및/또는 3차원 타입인 것을 특징으로 하는 데이터 엑스포트 방법.
  22. 제20항에 있어서,
    상기 기하 데이터는 포인트들 및/또는 2개의 포인트들을 갖는 세그먼트의 데이터, 및/또는 삼각형들에 대한 데이터, 및/또는 사각형들에 대한 데이터 및/또는 다각형들에 대한 데이터를 포함하는 것을 특징으로 하는 데이터 엑스포트 방법.
  23. 제22항에 있어서,
    상기 기하 데이터는 라인 타입 및/또는 표면 타입 및/또는 체적 타입의 기하 요소들과 관련된 것을 특징으로 하는 데이터 엑스포트 방법.
  24. 제23항에 있어서,
    상기 기하 요소들과 관련된 기하 데이터는 상기 라인 타입 및/또는 상기 표면 타입 및/또는 상기 체적 타입의 요소들 중 적어도 하나에 수직인 적어도 하나의 벡터와 관련된 기하 데이터를 더 포함하는 것을 특징으로 하는 데이터 엑스포트 방법.
  25. 제1항에 있어서,
    상기 기하 요소들과 관련된 상기 데이터는 색채와 관련된 데이터 및/또는 텍스쳐와 관련된 데이터를 포함하는 것을 특징으로 하는 데이터 엑스포트 방법.
  26. 기하 요소들(10)의 모델링 및/또는 조작을 위한 컴퓨터 시스템(1)을 사용하여 상기 기하 요소들(10)과 관련된 데이터를 엑스포트하기 위한 시스템에 있어서,
    상기 기하 요소들(10)의 모델링 및/또는 조작을 위한 컴퓨터 시스템(1)은 컴퓨터 프로그램들(11,12,15)을 수행할 수 있는 적어도 하나의 중앙 처리 장치, 상기 컴퓨터 프로그램들(11,12,15)의 수행 중에 상기 컴퓨터 프로그램들(11,12,15) 및 상기 기하 요소들(10)과 관련된 데이터를 저장할 수 있는 메모리(16), 및 상기 기하 요소들(10)과 관련된 데이터를 영구히 저장할 수 있는 적어도 하나의 저장 유닛(18)을 포함하고,
    상기 컴퓨터 시스템(1)은 상기 기하 요소들(10)의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11) 및 상기 기하 요소들(10)과 관련된 데이터를 디스플레이하기 위한 적어도 하나의 디스플레이 프로그램(12)을 포함하며,
    상기 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11)은 상기 적어도 하나의 디스플레이 프로그램(12)에 위치한 디스플레이 함수들을 호출함으로써 상기 디스플레이될 기하 요소들(10)과 관련된 데이터를 상기 적어도 하나의 디스플레이 프로그램(12)으로 전송하고,
    상기 디스플레이 프로그램(12)에 의해 디스플레이될 데이터는 상기 기하 요소들(10)의 모델링 및/또는 조작을 위한 적어도 하나의 프로그램(11)에 의해 호출된 상기 디스플레이 함수들의 호출 파라미터의 형태로 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)에 의해 상기 적어도 하나의 디스플레이 프로그램(12)으로 전송되며,
    상기 디스플레이 함수들은 상기 기하 요소들(10)과 관련된 소정 수의 데이터의 디스플레이를 가능케하고,
    제1항 내지 제3항, 제5항 내지 제16항, 제20항 내지 제25항 중 어느 한 항에 따른 데이터 엑스포트 프로그램(15)에 의해 데이터를 엑스포트하기 위한 방법을 사용하며,
    상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들 중 어느 하나에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)의 호출 중에, 상기 엑스포트 프로그램(15)은 상기 엑스포트 프로그램(15)의 상기 디스플레이 함수들에 대한 상기 적어도 하나의 모델링 및/또는 조작 프로그램(11)의 호출의 상기 엑스포트 프로그램(15)에 의한 처리로부터의 데이터를 DXF 포맷으로 상기 적어도 하나의 저장 유닛(18)에 저장하는 것을 특징으로 하는 데이터 엑스포트 시스템.
KR1020047000097A 2001-07-04 2001-07-04 이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템 KR100876025B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR2001/002136 WO2003005201A1 (fr) 2001-07-04 2001-07-04 Procede et systeme d'exportation de donnees associees a des entites geometriques bidimensionnelles ou tridimensionnelles

Publications (2)

Publication Number Publication Date
KR20040018425A KR20040018425A (ko) 2004-03-03
KR100876025B1 true KR100876025B1 (ko) 2008-12-26

Family

ID=8860110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047000097A KR100876025B1 (ko) 2001-07-04 2001-07-04 이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템

Country Status (13)

Country Link
US (2) US7150026B2 (ko)
EP (1) EP1402371B1 (ko)
JP (1) JP4125673B2 (ko)
KR (1) KR100876025B1 (ko)
CN (1) CN1318975C (ko)
AT (1) ATE278987T1 (ko)
CA (1) CA2450941A1 (ko)
DE (1) DE60106301T2 (ko)
DK (1) DK1402371T3 (ko)
ES (1) ES2228910T3 (ko)
HK (1) HK1063082A1 (ko)
PT (1) PT1402371E (ko)
WO (1) WO2003005201A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2823896B1 (fr) * 2001-04-23 2003-10-24 E Bourgeois Ets Simulateur de vol adapte a une famille d'aeronefs
KR100876025B1 (ko) 2001-07-04 2008-12-26 오카이그렉제드 이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템
US7236914B1 (en) * 2002-02-22 2007-06-26 Microsoft Corporation Integrated aircraft flight dynamics prediction and simulation
US7002573B2 (en) * 2003-01-16 2006-02-21 1914 Holding Company Method and system for converting engineering data into 3D modeling data
WO2005055148A1 (en) * 2003-11-29 2005-06-16 Vital Images, Inc. Segmented volume rendering using a programmable graphics pipeline
US20070168309A1 (en) * 2005-12-01 2007-07-19 Exent Technologies, Ltd. System, method and computer program product for dynamically extracting and sharing event information from an executing software application
US20070129990A1 (en) * 2005-12-01 2007-06-07 Exent Technologies, Ltd. System, method and computer program product for dynamically serving advertisements in an executing computer game based on the entity having jurisdiction over the advertising space in the game
US7596536B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically measuring properties of objects rendered and/or referenced by an application executing on a computing device
US7596540B2 (en) * 2005-12-01 2009-09-29 Exent Technologies, Ltd. System, method and computer program product for dynamically enhancing an application executing on a computing device
US8629885B2 (en) * 2005-12-01 2014-01-14 Exent Technologies, Ltd. System, method and computer program product for dynamically identifying, selecting and extracting graphical and media objects in frames or scenes rendered by a software application
US20070296718A1 (en) * 2005-12-01 2007-12-27 Exent Technologies, Ltd. Dynamic resizing of graphics content rendered by an application to facilitate rendering of additional graphics content
US20070171222A1 (en) * 2006-01-23 2007-07-26 Autodesk, Inc. Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation
US20080007563A1 (en) * 2006-07-10 2008-01-10 Microsoft Corporation Pixel history for a graphics application
JP5815408B2 (ja) * 2008-09-16 2015-11-17 トムソン ライセンシングThomson Licensing スケーラブルビデオコーディングを利用したリニアなデジタルtv番組の伝送方法
DE102009058802B4 (de) * 2009-12-18 2018-03-29 Airbus Operations Gmbh Anordnung zur kombinierten Darstellung eines realen und eines virtuellen Modells
EP2523130A1 (en) * 2011-05-11 2012-11-14 Dassault Systèmes Method for designing a geometrical three-dimensional modeled object
CN104346753A (zh) * 2013-08-07 2015-02-11 鸿富锦精密工业(深圳)有限公司 裁切最优化处理系统及方法
WO2015187133A1 (en) * 2014-06-03 2015-12-10 Landmark Graphics Corporation Integrating external algorithms into a flexible framework for imaging visualization data
US10416836B2 (en) * 2016-07-11 2019-09-17 The Boeing Company Viewpoint navigation control for three-dimensional visualization using two-dimensional layouts
CN108259496B (zh) 2018-01-19 2021-06-04 北京市商汤科技开发有限公司 特效程序文件包的生成及特效生成方法与装置、电子设备
CN112860168B (zh) 2018-02-08 2022-08-02 北京市商汤科技开发有限公司 特效程序文件包的生成及特效生成方法与装置、电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819062A (en) * 1994-12-05 1998-10-06 Motorola Inc. Method for converting design intent into a neutral-file-format for computer aided design applications
US5616876A (en) * 1995-04-19 1997-04-01 Microsoft Corporation System and methods for selecting music on the basis of subjective content
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5988862A (en) * 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
JP4253045B2 (ja) 1996-08-01 2009-04-08 武藤工業株式会社 図面データ修復方法
US5995113A (en) 1996-08-02 1999-11-30 Hewlett-Packard Company Coloring events in event streams in order to provide information about operation of a software library
JPH10155094A (ja) 1996-09-30 1998-06-09 Ricoh Co Ltd 色変換処理装置およびその方法,動的にリンク可能なプログラムモジュールの拡張方法およびそれを適用した色変換処理方法並びにそれらの方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH10301971A (ja) 1997-04-24 1998-11-13 Hiruta Kogyo Kk Cadデータ受渡方法
US5999186A (en) * 1997-05-23 1999-12-07 3-Design L.L.C. Reference based parametric dimensioning method and system
JPH1125154A (ja) * 1997-07-07 1999-01-29 Hitachi Telecom Technol Ltd Cadシステム
US6847384B1 (en) * 1998-05-14 2005-01-25 Autodesk, Inc. Translating objects between software applications which employ different data formats
US6614428B1 (en) * 1998-06-08 2003-09-02 Microsoft Corporation Compression of animated geometry using a hierarchical level of detail coder
JP3301971B2 (ja) 1998-08-05 2002-07-15 三洋電機株式会社 集光ユニット及び該集光ユニットを具えた投写装置
FR2782183B1 (fr) * 1998-08-05 2000-10-13 Geofermat Sarl Procede et systeme de traitement d'informations a reference spatiale, notamment d'informations cartographiques, applications et appareils implementant ce procede
US6738065B1 (en) * 1999-08-10 2004-05-18 Oshri Even-Zohar Customizable animation system
US7203946B2 (en) * 1999-10-11 2007-04-10 Hewlett-Packard Development Company, L.P. System and method for intercepting, instrumenting and characterizing usage of an application programming interface
US7203634B2 (en) * 2000-10-30 2007-04-10 Translation Technologies, Inc. Computational geometry system, interrupt interface, and method
KR100876025B1 (ko) 2001-07-04 2008-12-26 오카이그렉제드 이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템
EP1443431A4 (en) * 2001-11-07 2007-05-09 Kajima Corp Construction output INFORMATION INTEGRATION SYSTEM
US7492364B2 (en) * 2002-07-23 2009-02-17 Imagecom, Inc. System and method for creating and updating a three-dimensional model and creating a related neutral file format

Also Published As

Publication number Publication date
DE60106301D1 (de) 2004-11-11
JP2004534320A (ja) 2004-11-11
DE60106301T2 (de) 2005-10-20
CA2450941A1 (fr) 2003-01-16
US20070094299A1 (en) 2007-04-26
US20040189671A1 (en) 2004-09-30
DK1402371T3 (da) 2005-02-14
EP1402371B1 (fr) 2004-10-06
ES2228910T3 (es) 2005-04-16
PT1402371E (pt) 2004-12-31
US7150026B2 (en) 2006-12-12
EP1402371A1 (fr) 2004-03-31
CN1318975C (zh) 2007-05-30
JP4125673B2 (ja) 2008-07-30
US7747570B2 (en) 2010-06-29
KR20040018425A (ko) 2004-03-03
ATE278987T1 (de) 2004-10-15
CN1526098A (zh) 2004-09-01
WO2003005201A1 (fr) 2003-01-16
HK1063082A1 (en) 2004-12-10

Similar Documents

Publication Publication Date Title
KR100876025B1 (ko) 이차원 또는 삼차원 기하 요소와 관련된 데이터엑스포트를 위한 방법 및 시스템
EP2438576B1 (en) Displaying a visual representation of performance metrics for rendered graphics elements
KR20070011062A (ko) 모델 3d 구성 애플리케이션 프로그램 인터페이스
JPH10320235A (ja) 呼び出し分析方法
CN111932689B (zh) 一种采用id像素图的三维对象快速选取方法
Dunwoody et al. Tracing interactive 3D graphics programs
Angel et al. An interactive introduction to computer graphics using WebGL
KR101239965B1 (ko) 렌더링 장치 및 방법
Kelleher Pixelvision architecture
Cywiak et al. Multi-Platform Graphics Programming with Kivy
Jern Visualization of scientific data
Buck Learning OpenGL ES for iOS: A hands-on guide to modern 3d graphics programming
Tarbell et al. Continued Development and Implementation of a Standard Graphics Package for the AFIT VAX 11/780
CN115984409A (zh) 一种地理信息系统矢量数据绘制的方法、装置及电子设备
EO mmmmmmmmmmml
CN116664589A (zh) 一种基于WebGIS的实景三维模型分割方法与系统
Gaman et al. PHIGS by Example
CN116385253A (zh) 图元绘制方法、装置、计算机设备和存储介质
Sung et al. A critical evaluation of PEX
Alshammari Web-based Computer Graphics Learning
Magnenat-Thalmann et al. Some unusual primitives in the mira graphical extension of PASCAL
Krisher et al. JVIEW Visualization for Next Generation Air Transportation System
Lindner Aspects Of Interactive Computer Graphics-Applications And Systems
KR100917747B1 (ko) 나노 임프린트 스테이지 장비 개발을 위한 시뮬레이션 시스템
Sarnacki III Advanced Visualization and Interactive Display Rapid Innovation and Discovery Evaluation Research Program task 8: Survey of WEBGL Graphics Engines

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111122

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20121123

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee