현재 위치 - 회사기업대전 - 같은 도시에서 셋방을 얻다 - 기타 시각화 기능

기타 시각화 기능

(a) 뷰 업데이트 메커니즘

뷰 업데이트 속도는 그래픽 시스템의 화면표시 효과에 매우 중요합니다. 뷰 업데이트 속도가 느리면 인간-컴퓨터 상호 작용이 손실되고 소프트웨어도 가용성이 떨어집니다.

그림 4-90 과 같이 모형 뷰를 업데이트하는 프로세스입니다.

그림 4-90 뷰 업데이트 프로세스

이 흐름도는 시각적 기능 클래스가 뷰를 완전히 제어할 수 있도록 지원하며 표시 목록도 인간-컴퓨터 상호 작용 기능에 영향을 미치는 중요한 요소입니다.

(2) 표시 목록

표시 목록은 나중에 실행하기 위해 저장된 OpenGL 명령 세트입니다. 표시 목록이 활성화되면 저장된 명령이 표시 목록에 미리 정해진 순서로 실행됩니다. 표시 목록을 사용하여 나중에 실행할 수 있도록 OpenGL 함수를 저장할 수 있으므로 표시 속도가 크게 향상됩니다.

이 모형에 설정된 표시 리스트는 다음과 같은 요구 사항을 충족합니다. 1 지질 모델에서 표시 목록을 만들지 않고 새 하위 트리의 표시 목록을 만들 수 있습니다. (2) 표시 목록이 생성된 경우 하위 트리의 표시 목록 업데이트를 지원할 수 있으며, 변경된 지질 엔티티만 표시 목록을 다시 만들어 업데이트 효율성을 높일 수 있습니다. ③ 표시 목록의 세분성 제어를 지원할 수 있습니다. 즉, 하위 루트 노드의 표시 목록이 이불 트리의 다른 노드에 대한 표시 목록이 중첩되는지 여부를 지정할 수 있습니다. ④ 각 트리 노드가 다른 요소를 그릴 수 있도록 지원하여 일부 요소 또는 프로그래머 디버거를 임시로 그릴 수 있습니다. ⑤ 모든 엔티티가 완전히 불투명하거나, 모든 엔티티가 완전히 반투명하거나, 불투명과 반투명 엔티티가 동시에 존재할 수 있도록 지원할 수 있습니다. ⑥ 다중 뷰 응용 프로그램을 지원할 수 있습니다.

OpenGL 표시 목록 생성이 다중 표시 목록을 지원하기 때문에 관련이 없거나 관련이 없습니다. 관련된 경우 하위 표시 목록을 생성한 다음 생성된 하위 표시 목록에서 병합된 신규 표시 목록을 생성해야 합니다. 이 조건의 제한으로 인해 모델은 깊이 우선 순위의 후순 순회 알고리즘을 사용하여 지질체 모형을 순회하고, 리프 노드에서 표시 목록을 생성하고, 하위 트리 표시 목록을 만든 다음 루트 노드 표시 목록을 생성하는 규칙에 따라 표시 목록을 만들고 업데이트합니다.

알고리즘: 다중 트리 데이터 구조에 기반한 표시 목록 갱신 알고리즘입니다.

마스터 프로세스: 현재 노드를 기준으로 하위 트리의 표시 목록을 생성합니다.

(1) 루트 노드부터 깊이 우선 순위에 따라 여러 분기 트리의 각 하위 트리를 반복합니다.

(2) 현재 노드에 하위 트리가 있는 경우 마스터 프로세스를 호출하여 현재 노드를 루트 노드로 하는 하위 트리 표시 목록을 생성합니다.

(3) 현재 노드에 하위 트리가 없는 경우' 하위 프로세스 1' 을 호출하여 현재 노드의 표시 목록을 정의합니다.

(4) 순회를 마치고 돌아오다.

하위 프로세스 1: 현재 노드의 표시 목록을 정의합니다.

(5) 현재 노드가 표시 목록을 업데이트해야 하는지 여부를 확인하고 필요하지 않은 경우 반환합니다.

(6) 현재 노드의 표시 목록을 정의하십시오.

① 현재 노드를 루트로 하는 하위 트리가 표시 목록을 사용하지 않으면 현재 노드가 있는 하위 트리가 그려집니다.

② 그렇지 않으면 현재 노드의 모든 하위 노드의 표시 목록을 호출합니다.

(7) 현재 노드에 지정된 그래픽 요소를 그립니다.

(8) 현재 노드 표시 목록의 업데이트 플래그를 설정하여 업데이트를 완료합니다.

표시 목록이 중첩되어 있기 때문에 OpenGL 은 중첩된 표시 목록을 최적화하므로 중첩된 표시 목록이 없는 것보다 중첩된 표시 목록이 없는 것보다 훨씬 효율적입니다.

(3) 전시 * * * 즐거움 메커니즘

디스플레이 * * * 공유 메커니즘은 많은 메모리를 절약하고 도면 효율성을 향상시킵니다. 이 모델은 두 가지 시나리오를 사용하여 디스플레이 속성의 재사용 가능성을 효과적으로 높임으로써 귀중한 메모리 자원을 절약하고 저장된 파일의 크기를 줄이며 표시 속도를 높입니다.

1. 컬렉션 원본 및 원본 컬렉션

"요소" 는 그릴 수 있는 객체입니다. 일부 그래픽 플랫폼에서 각 그래픽 요소에는 색상, 재료 등과 같은 고유한 화면표시 속성이 있습니다. 뷰가 새로 고쳐지면 시스템은 이 엔티티를 그릴 때 먼저 현재 도면 특성을 이 엔티티의 디스플레이 특성으로 설정한 다음 엔티티를 그립니다.

그러나 1000 개의 개별 점이 있는 개별 점 세트와 같은 세트의 표시 속성은 종종 동일합니다. 이때 각 요소에 고유한 화면표시 특성이 있는 경우 이 집합을 그릴 때 자신의 도면 특성을 동일한 화면표시 특성으로 반복적으로 설정해야 하므로 그리기 효율성이 크게 저하됩니다. 설상가상으로 메모리에 1000 개의 중복 디스플레이 속성이 있으며 나중에 파일에 저장됩니다. 실제 응용 프로그램에서는 하나의 점 세트에 1000 개의 점이 있는 것이 일반적이며, 시스템에 이러한 점 세트가 동시에 10 개 이상 있을 수 있습니다. 즉, 수만 개의 중복 데이터가 있을 수 있습니다.

위의 문제는 모든 세트가 각 요소에 대해 서로 다른 화면표시 특성이라고 생각하기 때문입니다. 따라서 논문은 집합을 두 가지 범주로 나누고 새로운 개념을 제시합니다. "도면요소 집합" 은 집합의 각 도면요소가 서로 다른 화면표시 속성을 가져야 함을 의미합니다. 예를 들어 도면층 집합의 각 도면층은 서로 다른 색상과 재료로 표시됩니다. "집합 도면요소" 란 집합 내의 모든 도면요소가 동일한 화면표시 특성을 공유하며 개별 점 세트와 같은 하나의 전체를 형성하는 것을 의미합니다.

요소 집합의 경우, 우리는 원래 방식으로 그립니다. 그러나 set 원어의 경우, 우리는 수학 집합 유형과 원어 유형에서 파생된 것으로, 하나의 디스플레이 속성만 저장하므로 메모리 사용량이 줄어든다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 예술명언) 그릴 때 원래 페인트 특성은 수정 작업 전에 저장되므로 어셈블리의 모든 구성원을 그리기 전에 표시 특성을 한 번만 설정하면 됩니다. 따라서 어셈블리를 그리는 속도와 표시 효율성이 향상됩니다.

2. * * * 등록 정보를 표시하는 공유 객체 관리자.

컬렉션 프리미티브와 컬렉션 프리미티브를 구별하는 것만으로는 충분하지 않습니다. 같은 컬렉션에 속하는 모든 구성원만 디스플레이 속성을 즐길 수 있기 때문입니다. 실제로 같은 세트에 속하지 않는 요소 간에 화면표시 특성을 공유하는 문제가 있습니다. 예를 들어, 지층이 화강암이라면, 이 지층의 모든 우물점과 이산점의 속성도 화강암이다.

실제 응용 프로그램에서는 일반적인 규모의 응용 프로그램으로 인해 모델 전체에 수천 개의 요소가 존재할 수 있지만 재질, 텍스처, 그라데이션 등은 10 개를 초과하지 않습니다. , 그래서 많은 중복 데이터가있을 것입니다.

이 문서에서는 표시 속성의 재사용 가능성을 더욱 향상시키기 위해 표시 객체 관리자를 소개합니다. 재질 오브젝트 관리자, 텍스처 오브젝트 관리자 및 그라데이션 오브젝트 관리자 로 나뉩니다. 각 관리자는 속성을 표시하는 * * * 공유 데이터 세트입니다. 이렇게 하면 동일한 디스플레이 속성의 복사본이 시스템에 유지되며 모든 그래픽 요소가 이러한 디스플레이 데이터를 참조할 때 검색할 수 있습니다.

예를 들어 장쑤 유전 이진공구에는 5 개의 지층이 있고, * * KLOC-0/00 여 개의 우물이 있다. 각 우물은 5 개의 지층을 통과한다. 각 우물이 지층을 통과하는 우물 세그먼트에 지층 텍스처를 붙여 넣어야 합니다. 각 텍스처는 5 개 지층 중 2 개가 같은 1M 비트맵 파일입니다. 최악의 경우 텍스처 정보, 즉 500M 를 저장하려면 5× 100× 1M 의 공간이 필요합니다. 새로운 디자인을 통해 텍스처 정보의 저장 용량을 4× 1M 또는 4M 으로 줄일 수 있습니다.

(d) 그래픽을 그리는 능력

1. 기본체의 사실적인 표시

일부 그래픽 플랫폼에서는 [일반 픽셀 점] 및 [일반 픽셀 선] 레벨의 요소만 그립니다. 사실적인 디스플레이 효과의 경우 한 가지 그래픽, 즉 삼각형만 있습니다. 새로운 요구 사항으로 인해 모형은 구, 원통 및 다이아 등 사실적인 3d 점을 생성할 수 있습니다. 원통, 원추, 화살표 및 기타 사실적인 표시 폴리선.

2. 재료

이 모델에서 각 요소에는 재료 라이브러리, 재료 객체 관리자 또는 해당 요소의 고유한 재료 객체에서 가져올 수 있는 자체 개별 재료가 있습니다. 또한 이 문서에서는 개발자와 사용자가 색상 재료를 사용할 수 있는 기능을 유지합니다. 즉, 요소에 지정된 실물이 없을 경우 해당 색상에 따라 실물을 임시로 만들고 그린 후 바로 파괴합니다.

반투명도

이 모델은 그림 4-9 1 과 같이 RGBA 를 지원하는 네 가지 색상 구성요소인 반투명 엔티티를 그리는 기능을 추가합니다.

그림 4-9 1 반투명 단면 수집 효과

4. 글꼴

일부 원본 그래픽 플랫폼에서는 사용자가 회전할 때 3D 글꼴이 모델을 따릅니다. 이 모델은 사용자가 회전할 때 상대 눈이 정지되거나 상대 모형이 정지될 수 있습니다.

(5) 보기 기능

시각화 함수 클래스는 변환, 회전, 배율 조정 등 지질 모델 정보를 수정하지 않고 OpenGL 시각화 변환 매트릭스만 수정하는 함수 클래스입니다.

일부 그래픽 플랫폼의 비주얼 함수 클래스에서 회전 및 축척의 중심점은 클라이언트 뷰포트의 기하학적 중심으로 설정되며 사용자는 위치를 수정할 수 없습니다. 두 가지 단점이 있습니다. 1 사용자와 프로그래머가 중심점이 아닌 위치를 회전할 때, 특히 이 점이 뷰포트 가장자리에 있을 때 여러 번 수행해야 합니다. (2) 사용자는 이 기능을 완성하기 위해 메뉴 또는 도구 모음을 여러 번 클릭하여 기능 전환을 해야 한다. 이로 인해 사용자에게 불편이 발생하고 프로그래머 디버거 및 관찰자 실행 결과의 효율성이 크게 떨어집니다.

그래픽 플랫폼에서 세 가지 기능이 하나의 기능으로 결합되어 메뉴 항목과 도구막대를 설정합니다. 뷰포트의 모든 픽셀을 회전 및 배율 조정의 중심으로 회전 및 배율 조정할 수 있도록 지정할 수 있습니다. 회전 및 배율 조정 전후에 지질 모델 픽셀의 위치가 변경되지 않도록 합니다. 즉, 화면 좌표계의 좌표는 변경되지 않습니다. 또한 마우스가 화면에서 지질 물체를 선택할 수 있는 수단을 제공합니다.

(6) 3 차원 공간 벡터 점 편집

지질체 정보를 수정하는 것은 지질체의 중요한 기능 중 하나이다. 과제 그룹의 지질체 모델의 데이터 구조에서 입력은 점 세트와 폴리라인 세트가 될 수 있지만 폴리라인 세트도 정렬된 점 세트로 나타납니다. 따라서 점의 편집 수정은 과제 그룹의 모든 편집 수정의 기초이다.

또한 이 모델은 그래픽 플랫폼 아래의 3D 점을 더 이상 3D 스칼라 점으로 간주하지 않고 원래 위치 좌표 외에 각 점에 "방향 벡터" 를 부여하는 "3D 공간 벡터 점" 의 새로운 개념을 제시합니다. 이렇게 하면 그래픽 플랫폼에서 3d 공간 벡터 점 편집을 수행할 수 있습니다. 이 개념을 제시한 후 광원 벡터 편집, 일방적 단면 벡터 편집 등 새로운 응용이 많이 등장했다.

copyright 2024회사기업대전