벡터 일반

Vector General

VG(Vector General)는 일련의 그래픽 단자로, 이를 제조한 캘리포니아 회사의 이름입니다.그것들은 1969년에 처음 도입되었고 1980년대 초반까지 컴퓨터 실험실에서 사용되었다.

단말기는 호스트 미니컴퓨터에 의해 제공되는 벡터를 읽는 공통 플랫폼을 기반으로 하며 단말기에서 기본적인 수학적 변환을 수행할 수 있는 하드웨어를 포함하고 있습니다.이를 통해 물체를 회전하거나 확대하는 등의 작업 성능이 크게 향상되었습니다.변환된 벡터는 단말기의 내장 벡터 모니터에 표시됩니다.

다른 벤더의 유사한 단말기와는 달리 Vector General 시스템에는 내장 메모리가 거의 없었습니다.대신 호스트 컴퓨터의 메모리에 벡터를 저장하고 직접 메모리 액세스(DMA)를 통해 액세스했습니다.완전한 장비를 갖춘 VG3D 단말기는 저가형 PDP-11 [1]컴퓨터를 포함하여 약 31,000달러에 작동했는데,[2][a] IBM 2250과 같은 기계는 단말기 하나에 10만 달러였습니다.

컴퓨터 그래픽 분야에서 알려진 여러 가지 유명한 용도 중 하나는 스타워즈에서 [4][5]데스 스타를 공격하는 것이 쉽지 않을 것이라는 애니메이션 제작에 사용된 PDP-11/45에 연결된 VG3D 단말기였다.

묘사

하드웨어

1960년대 후반, 특히 3D에서 그래픽 디스플레이의 성능을 개선하기 위한 일반적인 시도는 내장 메모리에 벡터 목록을 보관하는 특수 단자를 사용한 다음 디스플레이 컨트롤러에서 실행되는 하드웨어 또는 소프트웨어를 사용하여 회전 및 스케일링과 같은 기본적인 변환을 제공하는 것이었습니다.이러한 변환은 비교적 단순하기 때문에 비교적 저렴한 비용으로 터미널에 구현될 수 있으므로 이러한 작업을 수행하기 위해 호스트 CPU에 소비되는 시간을 피할 수 있습니다.이러한 조작의 적어도 일부를 실행하는 시스템에는 IDI, Adage 및 Imlac PDS-1이 [6]포함되어 있습니다.

VG 시리즈 터미널의 주요 혁신은 호스트 컴퓨터의 메모리에 액세스할 수 있도록 직접 메모리 액세스(DMA)를 사용하는 이었습니다.즉, 터미널은 자체 스토리지가 많이 필요하지 않았으며, 시리얼 기반 Tektronix 4010과 같은 [7]느린 링크를 통해 데이터를 복사하지 않고도 데이터에 빠르게 액세스할 수 있었습니다.이 접근법의 단점은 DMA를 제공하는 기계에서만 사용할 수 있고 비교적 비싼 [b]어댑터를 통해서만 사용할 수 있다는 것입니다.

기본 개념은 호스트 컴퓨터가 계산을 실행하여 2D 또는 3D 모델의 일련의 포인트를 생성하고 이를 12비트 값으로 표현하는 것이었습니다. 보통 16비트 단어로 저장되며 상태 비트가 추가로 채워집니다.그 후 단말기는 컴퓨터를 [8]1초에 30~60회 정기적으로 중단하고 데이터를 빠르게 [9]읽고 표시합니다.각 점을 로컬 메모리 레지스터에 하나씩 읽어 임시 저장하면서 수학적 함수를 적용하여 스케일링, 변환 및 (선택적으로) 회전시키고 최종 값이 계산되면 이러한 점을 CRT(음극선관)로 전송하여 [9]표시하였다.

좌표 변환 하드웨어에는 세 가지 다른 모델이 있었습니다.가장 기본적인 시스템에는 2D 이미지를 이동 및 확대/축소하는 데 필요한 하드웨어가 포함되어 있으며, 이 경우 이 이미지를 포함하는 단자는 벡터 일반 2D로 알려져 있습니다.또 다른 버전에서는 2DR(회전용)로 알려진 임의의 지점을 중심으로 2D 이미지를 회전하는 기능이 추가되었습니다.가장 비싼 옵션은 3D로, 3D 벡터를 회전, 이동 및 확대/축소할 수 있습니다.이러한 모델 중 하나에 추가할 수 있지만 이름에 반영되지 않은 다른 옵션은 문자 [10]생성기를 추가했습니다.

정사각형 CRT는 기존의 래스터 스캔 [9]방식을 사용하여 표시하는 것이 아니라 변환 하드웨어의 출력에서 직접 구동되었습니다.이 회사는 이러한 유형의 작업을 "랜덤 스캔"[8]이라고 불렀지만, 현대 참조에서는 일반적으로 벡터 모니터라고 부릅니다.대각선으로 17인치(430mm)와 21인치(530mm)의 두 가지 기본 CRT 모델을 사용할 수 있습니다.21인치 모델은 또한 드로잉 레이트를 향상시킨 특별한 "고속" 버전으로 출시되었습니다.CRT는 고속 스캔 [11]성능을 제공하기 위해 텔레비전에서처럼 자성이 아닌 전자파 편향을 사용했습니다.

시스템에 여러 다른 입력 장치를 연결할 수 있습니다.가장 일반적인 것은 70키 키보드였고, 다른 것들은 내부 레지스터 제어 조명을 갖춘 순간 푸시 버튼 스위치, 그래픽 태블릿, 가벼운 펜, 다이얼 박스, 그리고 [12]조이스틱을 포함했다.그 시스템은 전체적으로 작은 [13]냉장고만한 꽤 큰 규모였다.

도면 컨셉

벡터는 공간의 두 끝점에 의해 논리적으로 표현되었다.각 포인트는 2개 또는 3개의 12비트 값으로 정의되어 X, Y 및 (옵션) [11]Z로 0 ~ 4,095의 공간을 나타냅니다.단말기에는 3개의 12비트 레지스터가 있어 조작 [14]중에 값을 유지할 수 있습니다.

시스템은 벡터를 메모리에서 여러 가지 방법으로 표현할 수 있게 했습니다.가장 기본적인 모드인 "absolute"[15]는 벡터의 양 끝에 하나씩 두 개의 포인트가 필요했습니다."상대적인" 벡터는 마지막 값 집합에서 오프셋으로 표현되었기 때문에 벡터를 정의하는 데 필요한 것은 한 점뿐이었고 첫 번째 점이 마지막 한 개의 끝점이었습니다.이렇게 하면 데이터가 꺽은선형 차트처럼 연속적인 경우 전체 도면을 설명하는 데 필요한 점 수를 절반으로 줄일 수 있습니다.「증분」 벡터는, 각 포인트에 대해서 6비트만을 사용해 메모리를 한층 더 삭감해, 호스트내의 보다 적은 메모리로 데이터를 압축할 수 있습니다.마지막 값의 상위 또는 하위 6비트에 값을 추가하여 전체 또는 미세 이동을 허용하도록 시스템을 설정할 수 있습니다.마지막으로, 벡터를 「자동 증가」하면, 1개의 값만을 격납할 필요가 있어 메모리 요건을 한층 더 삭감할 수 있습니다.다른 값은 새로운 포인트가 읽힐 때마다 미리 설정된 양만큼 증가합니다.이는 상대 벡터와 유사하며, 두 축 중 하나의 상대 [16]오프셋이 항상 동일합니다.이 시스템에는 일련의 포인트를 [17]보내야 하는 것과는 달리 원형 아크를 생성하기 위한 별도의 회로도 있었습니다.

디스플레이는 32가지 다른 강도 레벨을 생성할 수 있습니다.이것은 단자에 레지스터를 설정하여 직접 프로그래밍할 수 있지만, 3D 프로그래밍 모드에서 더 일반적으로 사용되었습니다.이 모드에서는 벡터가 그려짐에 따라 강도가 자동으로 변경되어 Z 치수가 깊은 항목은 덜 강렬하게 그려집니다.이것은 디스플레이에서 물체의 전면을 밝게 보이게 하는 깊이 신호를 생성했다.이 변경의 속도는 ISR [18]레지스터를 통해 설정되었습니다.

별도의 12비트 PS 레지스터가 스케일 승수를 보유하고 있습니다.이 값을 사용하지 않을 경우 좌표계는 화면보다 두 배 정도 큰 물리적 영역을 나타내므로 이미지를 변환하여 스크롤을 제공할 수 있습니다.이 레지스터에 값을 배치하면 벡터 레지스터와 문자 그리기 시스템의 좌표에 이 값을 곱하여 줌 [19]효과를 얻을 수 있습니다.

옵션 문자 생성기는 5개의 하드웨어 정의 도형, 원, 가운데에 수직선이 있는 정사각형, 가운데 수평선이 있는 정사각형, 그리고 수직으로 향하는 모래시계 도형과 수평으로 향하는 유사한 도형을 사용하여 문자를 그렸습니다.하드웨어에 의해 각각의 모양이 그려질 때 빔을 켜고 끄면 시스템은 필요한 문자를 그릴 수 있습니다.예를 들어, 문자 C는 오른쪽에 있을 때 빔을 끄고 O자 모양을 사용하여 그려졌습니다.문자 D는 O자형을 사용하여 그려진 후 왼쪽에 있는 동안 꺼진 다음 중앙 수직 막대가 그려질 때만 빔이 켜진 수직선 상자를 그립니다.완전한 [20]캐릭터를 만들기 위해서는 1에서 3개의 "그림"이 필요합니다.이 시스템에는 일반 ASCII [21]문자 외에 많은 그리스 문자와 수학 기호가 포함되어 있었다.

프로그래밍

단말기는, DMA 를 사용해 호스트 컴퓨터의 메인 메모리를 정기적으로 읽어내, 디스플레이를 갱신합니다.추가 통신은 PIR [22]레지스터에서 요청 세부사항을 사용하여 인터럽트 요청을 생성한 후 단일 양방향 I/O[9] 포트를 통해 처리되었습니다.설정 및 명령은 I/O 포트에서 터미널의 85 레지스터 [14]중 하나로 데이터를 보내고 받는 방식으로 처리되었습니다.

예를 들어 호스트는 PS 레지스터 값을 설정하여 이미지를 줌할 수 있습니다.이를 수행하려면 인터럽트를 호출합니다.16 비트메시지에 설정되는 레지스터의 번호(이 경우는 17)가 포함되어 있습니다.단말기는 I/O채널을 통해 16비트메시지를 반송함으로써 응답합니다.쓰기는 유사한 프로세스를 사용하여 처리되었지만 단말기는 대신 [23]값을 읽어 인터럽트에 응답했습니다.

벡터 리스트의 시작과 그 안의 오프셋을 위한 베이스 주소는 레지스터 14와 [14]15에 있었습니다.이것에 의해, 컴퓨터의 메모리내에 다른 포인트 세트를 기입해, 레지스터 14 의 값을 다른 베이스 주소를 가리키도록 변경함으로써, 표시를 한꺼번에 변경하는 것으로, 일종의 「페이지 플립」을 실시할 수 있게 되었습니다.이것은 호스트 컴퓨터에서 [24]사용 가능한 메모리 양에 의해 제한되었습니다.

표시 명령에는 벡터뿐만 아니라 다양한 명령어를 구성할 수 있는 다양한 형식이 있습니다.예를 들어, 데이터를 특정 레지스터에 로드하는 명령이 있었는데, 첫 번째 16비트 워드와 두 번째 레지스터 세부 정보가 포함된 워드로 구성됩니다.다른 명령에서는 레지스터 값에 대해 논리 OR 또는 AND를 수행했습니다.이러한 조작에 의해, 표시 순서 자체가 혼재하는 경우가 있습니다.예를 들어, 시스템은 항목의 선택을 개시해, 램프를 점등시켜 화상을 회전시킨 후,[25] 한층 더 벡터를 그릴 수 있습니다.

주목할 만한 용도

VG3D는 스타워즈에서 사용된 것으로 역사적으로 유명하지만 컴퓨터 보조 설계 개발에서 초기 역할로도 잘 알려져 있습니다.

스타워즈

애니메이션의 일부에서는 필름에 캡처된 다음 필름 작업 중에 장면에 백프로젝트된 벡터 그래픽 출력을 보여 줍니다.

Larry Cuba는 VG3D 단말기가 장착된 PDP-11/45로 스타워즈용 컴퓨터 애니메이션 두 세그먼트를 제작했습니다.영상을 프레임별로 촬영하기 위해 푸시 버튼 패널의 조명 중 하나와 카메라의 셔터 트리거 사이에 와이어가 연결되었습니다.이는 호스트 컴퓨터에 의해 트리거되어 카메라가 셔터를 한 번 해제하고 필름을 한 [26][27]프레임씩 진행시킵니다.

데스 스타의 외관을 보여주는 첫 번째 세그먼트는 전적으로 VG3D의 내부 디스플레이 기능을 기반으로 합니다.이 모델은 관련된 GRAS 프로그래밍 언어의 곡선 생성 코드를 사용하여 알고리즘적으로 구성된 PDP-11의 메모리에 저장된 스테이션의 윤곽을 나타내는 단순한 3D 점 시리즈로 구성되었습니다.필름에서 보는 것처럼 이미지를 이동 및 회전하려면 관련 GRASS 프로그램이 새 회전 및 확대/축소 수치를 단말기의 레지스터에 로드한 다음 [26]카메라를 트리거합니다.

두 번째 세그먼트는 먼저 위에서부터 조종사의 관점에서 마지막 공격에서 참호를 따라 날아가는 풍경을 보여준다.단말기가 원근법 계산을 지원하지 않기 때문에 이 시퀀스에서 필요한 원근법 계산을 작성하기가 훨씬 더 어려웠습니다.촬영에 사용된 트렌치의 물리적 모델은 여러 번 복제한 다음 40피트(12m) 길이의 단일 모델을 만들기 위해 다른 방식으로 조립된 일련의 6가지 기능으로 구성되었습니다.쿠바는 사진으로부터 이 6가지 특징을 디지털화한 후 50개가 넘는 U자형 섹션으로 다른 구성으로 결합했다.각 프레임에 대해 이들 섹션 중 5개를 깊이 쌓은 후 투시 계산을 적용했습니다.애니메이션이 진행됨에 따라 새로운 섹션이 추가되는 것을 영화에서 볼 수 있다.그 후, 이것은 정지 화상으로서 단말기에 송신되어 카메라가 트리거 됩니다.각 프레임을 렌더링하는 [28]데 약 2분이 걸렸습니다.

미국 육군에서

마이크 뮤스(좌석)는 여기에 보이는 PDP-11/70과 벡터 제너럴 3D를 사용하여 XM-1 탱크의 회전 가능한 이미지를 만들었습니다.이것은 이후 2주 동안 시위를 요구하며 육군 간부들 사이에서 큰 파문을 일으켰다.

마이크 뮤스는 미 육군 탄도연구소가 이구동하기 위해 사이버 173과 VG3D 단말기와 PDP-11/34로 구성된 3대의 워크스테이션을 구입했다고 말한다.이들 워크스테이션을 서로 연결하려고 했지만 아무도 이를 작동시킬 수 없었고, 결국 VG 워크스테이션은 사용되지 않은 상태로 남게 되었습니다.그는 이 모든 하드웨어가 낭비되는 것을 보는 것이 귀찮아서 1979년 워크스테이션 중 하나를 연결하여 회전하는 3D [29]큐브를 만드는 프로그램을 만들었습니다.

또 다른 프로그래머에게는 XM1 탱크 설계의 3D 포인트 세트가 제공되어 Calcomp 플로터에 출력하기 위한 코드를 작성하고 있었습니다.그는 Muuss에게 VG 단말기에 표시되도록 할 수 있는지 물었다.처음에는 Tektronix 4014에 정지화면으로 출력했지만 다음날 밤 내부 벡터 [30]하드웨어를 사용하여 쉽게 회전할 수 있는 VG3D에 디스플레이를 올릴 수 있었습니다.

군대에서는 이런 걸 본 적이 없어요다음날 ARADCOM의 사령관이 생방송을 보기 위해 날아왔다.그 후 2주 동안 무스는 끊임없이 [30]이 시스템의 데모를 장교들의 행렬에 보여 주었다.이 데모는 매우 유명하여 Muuss는 [31]BRL-CAD의 개발을 시작할 수 있었습니다.

메모들

  1. ^ IBM 2250 Model III와 같은 이후 모델은 최대 4개의 터미널을 제어할 수 있었기 때문에 터미널당 비용 [3]65,000달러와 호스트 비용이 비슷했습니다.
  2. ^ 메뉴얼에는, 「모든」컴퓨터를 적절한 어댑터와 함께 사용할 수 있다고 기재되어 있습니다만, 서드 파티의 모든 레퍼런스에는, 사용되고 있는 PDP-11 만이 기재되어 있습니다.

레퍼런스

인용문

  1. ^ 필립스 1978, 페이지 C.24
  2. ^ Weisberg 2008, 13-8-13-9페이지.
  3. ^ Weisberg 2008, 13-9페이지
  4. ^ 1981년 스위트.
  5. ^ 보렐리 2017년
  6. ^ 페디 2013, 페이지 316
  7. ^ 1972년, 페이지 1-1, 1-3 참조.
  8. ^ a b 참고 자료 1972, 1-4페이지.
  9. ^ a b c d 참고 자료 1972, 1-3페이지.
  10. ^ 참고 자료 1972, 1-1페이지.
  11. ^ a b 참고 자료 1972, 1-7페이지.
  12. ^ 참고 자료 1972, 1-2페이지.
  13. ^ 보렐리 2017, 페이지이미지 보기..
  14. ^ a b c 참고 자료 1972, 3-3페이지
  15. ^ 참고 자료 1972, 1-14페이지.
  16. ^ 참고 자료 1972, 1-16페이지.
  17. ^ 참고 자료 1972, 페이지 2-12.
  18. ^ 참고 자료 1972, 1-23페이지.
  19. ^ 1972년 참조, 페이지 1-9-1-14.
  20. ^ 참고 자료 1972, 1-20페이지.
  21. ^ 참고 자료 1972, 페이지 2-13.
  22. ^ 참고 자료 1972, 3-4페이지.
  23. ^ 참고 자료 1972, 3-4-3-6페이지.
  24. ^ 참고 자료 1972, 부록 B. 페이지.
  25. ^ 1972년 참조, 3-14-3-35페이지.
  26. ^ a b 1981년 달달한 29쪽.
  27. ^ DeFanti & Sandin 1981, 50페이지
  28. ^ 1981년, 페이지 30
  29. ^ 뮤스 2000, 페이지 91
  30. ^ a b 뮤스 2000, 페이지 92
  31. ^ "Overview". BRL-CAD.

참고 문헌

외부 링크

참고 항목