RFC192 日本語訳
0192 Some factors which a Network Graphics Protocol must consider.R.W. Watson. July 1971. (Format: TXT=48540 bytes) (Status: UNKNOWN)
プログラムでの自動翻訳です。
RFC一覧
英語原文
Network Working Group R. Watson Request for Comments: 192 SRI-ARC NIC: 7137 12 July 1971
コメントを求めるワーキンググループR.ワトソン要求をネットワークでつないでください: 192 様アークNIC: 7137 1971年7月12日
Some Factors which a Network Graphics Protocol must Consider
Network GraphicsプロトコルがそうしなければならないいくつかのFactors、Consider
After reading some of the RFC's on a network graphics protocol it seems that many are not providing general enough mechanisms to handle attention handling, picture structure, and other higher level processes involved in interactive graphics.
ネットワークグラフィックスプロトコルでいくらかのRFCを読んだ後に、多くが対話的なグラフィックスにかかわる注意取り扱い、画像構造、および他の高レベル処理を扱うために十分一般的なメカニズムを提供していないように思えます。
Therefore for what it is worth I am sending out these rough introductory notes which contain ideas that I think any network graphics protocol must come to grips with.
したがって、それは価値があることのために、私が私が、何かネットワークグラフィックスプロトコルが取り組まなければならないと思うという考えを含むこれらの荒い紹介している注意を出していますか?
The network graphics protocol should allow one to operate the most sophisticated system with more general data structures and concepts than those described in these notes and allow very simple systems to function also.
ネットワークグラフィックスプロトコルで、1つをこれらの注意で説明されたものより一般データ構造と概念で最も精巧なシステムを操作して、また、非常に簡単なシステムが機能するのを許容するべきです。
Introduction
序論
It is our contention that, if computer graphics is to be widely useful, the graphics terminals must be just another type of terminal on a timesharing system with minimal special privileges. In these brief notes we outline the basic features which we feel must be available in a graphics support package to allow easy interactive graphics application programming.
それはグラフィックス端末がコンピュータグラフィックスが広く役に立つことであるなら最小量の特権がある時分割システムの上の端末のただのタイプであるに違いないという私たちの主張です。 私たちが概説するこれらの短信では、私たちが感じる基本的特徴は、簡単なインタラクティブグラフィックスアプリケーションプログラミングを許容するためにグラフィックス支援パッケージの中で利用可能でなければなりません。
If one examines the types of tasks in industry, government and universities which can avail themselves of timesharing support from graphics consoles, one can estimate that the large majority can effectively utilize quite simple terminals such as those employing storage tubes. I would estimate 75% of the required terminals to fall in this class. Another 15-20% of terminals may require higher response and some simple realtime picture movement, thus requiring simple refresh displays. The remainder of terminals are needed for high payout tasks requiring all the picture processing power one can make available. In this talk we are not considering support for this latter class of applications.
1つがグラフィックスコンソールから自分たちに時分割サポートを利用できる産業、政府、および大学における、タスクのタイプを調べるなら、人は、事実上、大多数が蓄積管を使うものなどのかなり簡単な端末を利用できると見積もることができます。 私は、このクラスで低下するように必要な端末の75%を見積もっているでしょう。 もう15-20%の端末は簡単な状態で、より高い応答とその結果、何らかの簡単なリアルタイムで画像運動、必要さを必要とするかもしれません。ディスプレイをリフレッシュしてください。 端末の残りがパワー1が利用可能にすることができるすべての画像処理を必要とする高い支払タスクに必要です。 この話では、私たちはこの後者のクラスのアプリケーションのサポートを考えていません。
MAIN ASSUMPTIONS AND REQUIREMENTS FOR SYSTEM DESIGN
システム設計のための主な仮定と要件
The main assumptions and requirements underlying the interactive graphics are the following:
インタラクティブグラフィックスの基礎となる主な仮定と要件は以下です:
Watson [Page 1] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[1ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
1) The user of the graphics terminal should be just another timesharing system user.
1) グラフィックス端末のユーザはただの時分割システムユーザであるべきです。
2) The graphics software support should interface to existing timesharing programs.
2) グラフィックス・ソフトサポートは既存の時分割プログラムに接続するべきです。
3) The software support should allow technicians, engineers, scientist, and business analysts as well as professional programmers to easily create applications using a graphic terminal.
3) 職業プログラマと同様に技術者、技術者、科学者、およびビジネスアナリストは、ソフトウェアサポートでグラフィックターミナルを使用することで容易にアプリケーションを作成するはずであることができます。
4) The software support should easily allow use of new terminals and types of terminals as they come on the market.
4) 売り物に出るとき、ソフトウェアサポートは容易に新しい端末とタイプの端末の使用を許すべきです。
5) The software support should be expandable as experience indicates new facilities are required.
5) 経験が、新しい設備が必要であることを示すとき、ソフトウェアサポートは拡張可能であるべきです。
6) The software support should be portable from one timesharing service to another.
6) ソフトウェアサポートは別のものに対する1つの時分割サービスによって携帯用であるべきです。
7) Some form of hardcopy should be available.
7) 何らかの形式のハードコピーは利用可能であるべきです。
MULTILEVEL MODULAR APPROACH TO SYSTEM DESIGN
システム設計への多レベルモジュール的接近法
If one wants to create as system which is easy to use by inexperienced programmers and ultimately non-programmers, one needs to provide powerful problem-oriented aids to program writing. One has to start with the primitive machine language used to command the graphics system hardware and build upward. The philosophy of design chosen is the one becoming more common in the computer industry, which is to design increasingly more powerful levels of programming support, each of which interfaces to its surrounding levels and builds on the lower levels. It is important to try to design these levels more or less at the same time so that the experience with each will feed back on the designs of the others before they are frozen and difficult to change.
人が未経験なプログラマで使用しやすいシステムと結局非プログラマ、1つとして書くことをプログラムするために強力な問題指向の援助を提供する必要性を作成したいなら。 1つは、使用される原始的な機械言語から上向きにグラフィックスシステムハードウェアを命令して、建て始めなければなりません。 選ばれたデザインの哲学はコンピュータ産業で、より一般的になるものです(ますます、それのそれぞれが周囲のレベルに連結して、下のレベルに建てられるより強力なレベルのプログラミングサポートを設計することになっています)。 彼らは凍って変えるのが難しくなる前にそれぞれの経験が他のもののデザインを食べるように同時に多少これらのレベルを設計しようとするのは重要です。
One can recognize five basic levels:
人は5つの基礎水準を認識できます:
1) The basic system level:
1) 基本体系レベル:
This level provides facilities for use of the terminal by the assembly language programmers.
このレベルはアセンブリ言語プログラマによる端末の使用のために便宜を与えます。
Watson [Page 2] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[2ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
2) The problem programming language level:
2) 言語水準をプログラムすることにおける問題:
This level of support provides powerful facilities for interactive graphics programming from the commonly used higher level programming languages.
このサポート水準は、言語をプログラムしながら、強力な施設を一般的に使用されたより高いレベルからインタラクティブグラフィックスプログラミングに提供します。
3) The picture editor or drawing system:
3) 画像エディタかシステムを描きます:
This level of support allows pictures to be drawn and linkage to these pictures and application programs.
このサポート水準は描かれるべき画像とリンケージをこれらの画像とアプリケーション・プログラムに許容します。
Data management support for interactive programming:
双方向番組のデータ管理サポート:
This level of support is to provide facilities to aid creation and manipulation of data structures relating data associated with the pictures and the application.
このサポート水準は画像とアプリケーションに関連しているデータについて話すデータ構造の作成と操作を支援するために便宜を与えることです。
5) The application program level:
5) アプリケーション・プログラムレベル:
A REVIEW OF TERMINAL HARDWARE CHARACTERISTICS OF CONCERN TO THE USERS
ユーザにとって、重要な端末のハードウェアの特性のレビュー
There are two basic kinds of general purpose cathode ray tube display systems available on the present market. Within each class there are alternate forms and techniques of implementation which we do not discuss here. One type is called a "refresh display". The other type is called a "storage tube display". The refresh display must keep repainting the picture on the screen at rates of from 20-60 times per second. Commands which instruct the system how to draw the picture are stored in a memory. The storage tube display on the other hand, through its internal method of construction can maintain on the face of the display a picture for practical purposes, indefinitely once drawn.
現在の市場で利用可能な汎用のブラウン管ディスプレイ・システムの基本的な2種類があります。 中では、そこの各クラスは、私たちがここで議論しない代替のフォームと実装のテクニックです。 あるタイプは「ディスプレイをリフレッシュしてください」というaと呼ばれて、ことです。 もう片方のタイプは「蓄積管ディスプレイ」と呼ばれます。 ディスプレイをリフレッシュしてください。1秒あたり20-60回からレートにおけるスクリーンの上の画像に塗り替え続けなければなりません。 画像を描く方法をシステムに命令するコマンドがメモリに保存されます。 他方では、蓄積管は表示して、一度無期限に描かれた実用的な目的のためにディスプレイの表面の上で工事の内部のメソッドで画像を維持できます。
REFRESHED DISPLAYS
壮快なディスプレイ
There are limits to how much information can be drawn on the face of refreshed display before the time required to paint it forces the refresh rate below a critical value and the picture appears to flicker. This quantity of information is a function of the type of phosphor on the tube face, the speed of display system in drawing lines and characters, and the ambient light level in the room. Refresh display systems range in cost upwards from $10,000 to several hundred thousand dollars. Refresh displays, because the picture can be changed every few milliseconds by simply altering its command list (often called a display file or display buffer), allow the picture parts to be moved on the face of the screen either under operator control or computer control. Objects on the screen can be selectively erased without affecting other objects on the screen.
それを塗装するのに必要である時間がリフレッシュレートを臨界値より下であるまで強制して、画像が揺らめくように見える前に壮快なディスプレイの表面にどのくらいの情報を引くことができるかへの限界があります。 この量の情報がチューブ表面の燐光体のタイプ、線とキャラクタを描くことにおける、ディスプレイ・システムの速度、および部屋の周囲の光源レベルの関数です。 1万ドルから数十万ドルまで上向きに費用におけるディスプレイ・システム範囲をリフレッシュしてください。 ディスプレイをリフレッシュしてください、数あらゆるミリセカンド単位で単に、コマンドリスト(しばしばディスプレイファイルかディスプレイバッファと呼ばれる)を変更することによって画像を変えることができるので画像の部品はスクリーンの表面で操作員制御かコンピュータ制御の下で動かさされてください。 スクリーンで他のオブジェクトに影響しないで、選択的にスクリーンの上のオブジェクトを消すことができます。
Watson [Page 3] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[3ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
These characteristics make refreshed displays suitable for a wide range of applications.
これらの特性で、壮快なディスプレイはさまざまなアプリケーションに適するようになります。
STORAGE TUBE DISPLAYS
蓄積管ディスプレイ
Storage tube based displays can display a large amount of information without a flicker, and generally cost under $20,000. Present systems suffer from some limitations, however. They cannot be selectively erased. If an object is to be moved or deleted from the screen, the entire screen must be erased and then the new picture can be redrawn. Because this type of display generally operates over a communication line, the speed of the line may seriously restrict the amount of interaction if much erasing and redrawing is required. The graphics software concepts to be described can be used with both a storage tube and refreshed display, although some features are only appropriate to the refreshed type of display. The important point is that new storage tube technologies insure that this class of terminal will be with us a long time.
蓄積管に基づいているディスプレイは、明滅する光なしで多量の情報を表示して、2万ドルの下で一般に費用を表示できます。 しかしながら、現行制度はいくつかの制限が欠点です。選択的にそれらは消すことができません。 物体がスクリーンから動かされるつもりであるか、または削除されるつもりであるなら、全体のスクリーンを消さなければなりません、そして、そして、新しい画像はredrawnであるかもしれません。 このタイプのディスプレイが通信回線の上で一般に作動するので、非常に消すなら、系列の速度は真剣に相互作用の量を制限するかもしれません、そして、描き直すことが必要です。 蓄積管と壮快なディスプレイの両方と共に説明されるべきグラフィックス・ソフト概念は使用できます、いくつかの特徴が単に壮快なタイプのディスプレイに適切ですが。 重要なポイントは新しい蓄積管技術が、このクラスの端末が長い間私たちと共にいるのを保障するということです。
INPUT DEVICES
入力装置
It is necessary to allow a console user to communicate with the graphics system. This is done through a keyboard and through specialized graphic input devices, the Light Pen, the Tablet, the SRI "Mouse", and the "Joy Stick". These latter devices enable a console user to point to vectors and characters displayed on the CRT and to input position information to the graphics system.
コンソールユーザがグラフィックスシステムとコミュニケートするのを許容するのが必要です。 キーボードを通して専門化しているグラフィック入力装置、Light Pen、Tablet SRI「マウス」、および「ジョイスティック」を通してこれをします。 これらの後者のデバイスは、コンソールユーザがCRTで見せられたベクトルとキャラクタを指さして、位置の情報をグラフィックスシステムに入力するのを可能にします。
Comparison of the Graphics Input Devices -- Analog Comparitors
グラフィックス入力装置の比較--アナログComparitors
The Joy Stick, Mouse, and Tablet are similar in that they both generate a two dimensional position address without the aid of the display processor, but cannot be directly used to identify displayed objects. The light pen-display processor hardware combination and its associated software, on the other hand, can easily sense and identify displayed vectors and characters but does not generate directly any position data. A "tracking cross" program is used to obtain the position data for the light pen. To obtain the pointing capability for the Joy Stick, Mouse, and Tablet, we can use a pair of analog comparitors which generate interrupts when the beam is drawn on the CRT lies within a rectangular "viewing window" in much the same way that the light
ジョイStick、Mouse、およびTabletをそれらの両方が、ディスプレイ・プロセッサの補助なしで二次元位置がアドレスであると生成するという点において同様ですが、表示されたオブジェクトを特定するのに直接使用できません。 軽いペンディスプレイ・プロセッサハードウェア組み合わせとその関連ソフトウェアは、他方では容易に表示されたベクトルとキャラクタを感じて、特定できますが、どんな位置もデータであると直接生成しません。 「トラッキング・クロス」プログラムは、ライトペンのための位置のデータを得るのに使用されます。 ビームが描かれて、大体同じようなやり方でそれが長方形の「見ることの窓」の中にCRTでは、横たわっているということであるときに、ジョイStick、Mouse、およびTabletに指す能力を得るのに、私たちが中断を生成する1組のアナログcomparitorsを使用できる、光
Watson [Page 4] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[4ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
pen generates interrupts when a beam is drawn under its circular viewing area. These comparitors sense the x and y axis drive voltages of the display analog bus.
ビームが円形の表示画面の下で描かれると、ペンは中断を生成します。 これらのcomparitorsはxを感じます、そして、ディスプレイアナログのy軸のドライブ電圧はバスで行きます。
A comparator will generate an output signal when the drive voltage is between two limits which may be set using special display processor commands. When both comparitors generate a signal simultaneously, the output voltages on the analog buss correspond to a beam position within the rectangular viewing window. The position of viewing window is set based on the position of the pen, Mouse, or Joy Stick.
特別出品プロセッサ命令を使用するように設定されるかもしれない2つの限界の間にドライブ電圧があるとき、比較器は出力信号を生成するでしょう。 両方のcomparitorsが同時に信号を生成するとき、アナログの荷舟の出力電圧は長方形の見ることの窓の中のビーム位置に対応しています。 見ることの窓の位置はペン、Mouse、またはジョイStickの位置に基づいて設定されます。
We can also use software to simulate the effect of hardware comparators. Hardware comparators cannot be use with storage tube displays and, therefore, a software simulation is required. This simulation is discussed later in these notes.
また、私たちは、ハードウェア比較器の効果をシミュレートするのにソフトウェアを使用できます。 蓄積管ディスプレイでハードウェア比較器は使用であるはずがありません、そして、したがって、ソフトウェアシミュレーションが必要です。 後でこれらの注意でこのシミュレーションについて議論します。
The light pen can be used only with a refreshed display. The other types of devices can be used with present storage tube displays and refreshed displays. They are used with storage tube displays which have hardware which produces on the screen a dot, cross or other cursor, indicating the x, y position of the device. The reason one can move this cursor around it that the cursor is created using special techniques to avoid its storing on the screen.
壮快なディスプレイだけと共にライトペンを使用できます。 現在の蓄積管ディスプレイと壮快なディスプレイと共に他のタイプのデバイスを使用できます。 それらはドット、十字または他のカーソルをスクリーンに生産するハードウェアを持っている蓄積管ディスプレイと共に使用されます、x(デバイスのy位置)を示して カーソルがそれの周りのこのカーソルですが、スクリーンで保存するのを避けるのに特殊技術を使用することで作成されて、1つが動かすことができる理由。
USER SOFTWARE REQUIREMENTS
ユーザソフトウェア要件
The user requirements on a timesharing system based interactive graphics system are the following:
時分割システムに基づいているインタラクティブグラフィックスシステムの上のユーザ要件は以下です:
1) The user should have available a language for creating a computer representation of the picture to be displayed. This language should allow more complex pictures to be built up from simpler structures.
1) ユーザには、表示するために画像のコンピュータ表現を作成するための利用可能な言語があるべきです。 この言語で、より複雑な画像は、より簡単な構造から増すべきです。
2) The computer representation of the picture must allow easy identification of picture parts when pointed at or "picked" or "hit" with graphical input devices such as light pen, electronic pen-tablet, Joy Stick, SRI mouse, or other supplying x, y information.
2) 光ペン、電子ペンタブレット、ジョイStick、SRIマウス、または他の供給xなど(y情報)のグラフィカルな入力装置で指し示されるか、「選ばれる」か、または「打たれる」と、画像のコンピュータ表現は画像の部品の簡単な識別を許さなければなりません。
3) The computer representation of the picture must allow linking of picture parts with data about these parts appropriate to the application using the terminal. There should be an appropriate data management system for use with interactive application programming.
3) 画像のコンピュータ表現で、端末を使用することでアプリケーションに適切なこれらの部分に関するデータに画像の部品をリンクしなければなりません。 対話型アプリケーションがプログラムを作っている使用の適切なデータ管理システムがあるはずです。
Watson [Page 5] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[5ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
4) There must be some way of communicating events taking place at the terminal in real-time, such as picking objects with the light pen, with the application program running in the timesharing system.
4) リアルタイムでの端末で行われるイベントは遠くの交信のものであるに違いありません、ライトペンがある選択オブジェクトなどのように、アプリケーション・プログラムが時分割システムへ駆け込んでいて。
5) The user should be able to save and restore pictures from one console session to the next.
5) ユーザは、1つのコンソールセッションから次まで画像を保存して、回復できるべきです。
6) If possible, the user should be able to use the display as a stand-alone terminal or in conjunction with a teletype or other typewriter terminal.
6) できれば、ユーザはスタンドアロンの端末かテレタイプか他のタイプライタ端末に関連してディスプレイを使用できるべきです。
7) The user should be able to do some graphic programming by drawing directly at the console.
7) ユーザは直接コンソールの図面で何らかのグラフィックプログラミングができるべきです。
The choice of an appropriate data structure for picture representation simplifies the handling of requirements one to five. It is this data structure that we consider now in more detail.
画像表現のための適切なデータ構造の選択は1〜5に要件の取り扱いを簡素化します。 それは私たちが現在さらに詳細に考えるこのデータ構造です。
Picture-Related Structures
画像関連の構造
If a picture displayed on the console had meaning only in the physical position of its lines and characters, the system would be little more effective than an easily erased piece of paper. To significantly enhance the capabilities of the system, we must be able to express relations between displayed entities. A line is much more than just a line when it represents a boundary or a part of some more complex unit. Such units in turn may be related in a similar way to higher level units. Furthermore, we may wish to create picture elements that may be used repeatedly so that a change in the one master copy will be reflected in every use of that copy.
コンソールの上に表示された画像がその系列とキャラクタの物理的な位置だけに意味を持っているなら、システムは容易に消された枚の紙より少ししか効果的でないでしょうに。 システムの能力をかなり高めるために、私たちは表示された実体の関係を言い表すことができなければなりません。 それ以上の単位複素数の境界か一部を表すとき、系列はまさしく系列よりはるかに多いです。 そのようなユニットは順番により高い平らな単位への同様の方法で関係づけられるかもしれません。 その上、マスターコピー1部における変化がそのコピーをあらゆる使用で反映されるように繰り返して使用されるかもしれない画像要素を作成するかもしれなくたいと思います。
To illustrate the usefulness of this picture-subpicture relationship, we shall consider the three houses of Figure 1. While the two types of houses differ in appearance, it is obvious that they have picture elements that could be drawn by a designer of prefabricated houses and that the designer wished to incorporate a new standard window unit into all houses. The use of conventional pencil and paper techniques would require that he redraw or overlay each window on his diagram to reflect the changed component. If the window were, instead, drawn by the graphics system within a common subroutine, only that one master copy would have to be modified in order to change the appearance of every reference to that kind of window on the diagram.
この画像-「副-画像」関係の有用性を例証するために、私たちは図1の3軒の家を考えるつもりです。 2つのタイプの家は外観で異なりますが、それらにはプレハブ住宅のデザイナーが描くことができる画像要素があって、デザイナーが新しい標準のウィンドウユニットをすべての家に組み入れたがっていたのは、明白です。 従来の鉛筆と紙のテクニックの使用は、彼が変えられたコンポーネントを反映するために彼のダイヤグラムの上の各窓を描き直したか、またはかぶせたのを必要とするでしょう。 窓が代わりに一般的なサブルーチンの中にグラフィックスシステムによって描かれるなら、そのマスターコピー1部だけが、ダイヤグラムの上のその種類の窓のあらゆる参照の外観を変えるように変更されなければならないでしょうに。
Watson [Page 6] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[6ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
Nodes and Branches
ノードと支店
To facilitate the discussion we will introduce the terms "node" and "branch". A node is a form of picture subroutine that may cause the display of lines and characters and may also call other nodes. The subroutine call is called a "branch". Nodes may also be thought of as representing PICTURES or SUBPICTURES and the branches to these nodes as uses or instances of these subpictures.
私たちは、議論を容易にするために、「ノード」という用語を紹介して、「分岐するでしょう」。 ノードは、系列とキャラクタのディスプレイを引き起こすかもしれない画像サブルーチンのフォームであり、また、他のノードと呼ぶかもしれません。 サブルーチン呼出しは「ブランチ」と呼ばれます。 また、ノードはこれらの「副-画像」の用途かインスタンスとしてPICTURESかSUBPICTURESとブランチをこれらのノードに代表すると考えられるかもしれません。
Directed Graph Structure
有向グラフ構造
The nodes and branches form a directed graph. The branches contain positioning information indicating the beam location to be used by the called node. This location is relative to the position of the node in which the branch is made. This use of relative beam positions allows the user of the system to create subroutine structures that make multiple branches to common nodes. Branches may also set other display parameters such as intensity and character size. A subroutine calling structure appropriate to the requirements of our hypothetical designer is shown schematically in Figure 2. Nodes are shown as circles and branches are shown as connecting lines. The picture of the house is composed of wall unit and roof SUBPICTURES. The wall unit is in turn composed of subpictures.
ノードとブランチは有向グラフを形成します。 ブランチは呼ばれたノードによって使用されるためにビーム位置を示す位置決め情報を含みます。 この位置はブランチが作られているノードの位置に比例しています。 相対的なビーム位置のこの使用で、システムのユーザは複数のブランチを一般的なノードにするサブルーチン構造を作成できます。 また、支店は強度やキャラクタサイズなどの他の表示パラメタを設定するかもしれません。 私たちの仮定しているデザイナーの要件に適切なサブルーチン呼ぶ構造は図2で図式的に見せられます。 円とブランチが回線を接続するとして見せられるようにノードは見せられます。 家の絵は壁ユニットと屋根SUBPICTURESで構成されます。 壁ユニットは「副-絵」で順番に構成されます。
Node and Branch Display Parameters
ノードと支店表示パラメタ
Branches may contain the setting of parameters which will be in effect when the called node is executed. The parameters which may be set are the beam position to be used (relative to the current beam position, i.e., a displacement value), intensity, character size, line type, visibility, (the display of vectors and characters may be suppressed), "hitablility" (whether or not vectors and text may be "viewed" by devices such as the light pen), and blinking.
支店は事実上呼ばれたノードが作成される時になるパラメタの設定を含むかもしれません。 設定されるかもしれないパラメタは、使用されていて(すなわち、ビーム位置、置換え値に比例した)、強度、キャラクタサイズがタイプ、目に見えることを裏打ちするという(ベクトルとキャラクタの表示は抑圧されるかもしれません)ことであるビーム位置と、"hitablility"(ベクトルとテキストがライトペンなどの装置によって「見られるかもしれない」か否かに関係なく)と、瞬くことです。
Coding within nodes may modify only the parameters controlling position, intensity, character size, and line type to be used by subsequent display coding or branches. It is not necessary that a node or branch specify every parameter. For those parameters other than position, the system allows a "don't care" option; the parameter setting in effect when the node or branch is executed will be retained and used in this case.
ノードの中のコード化はその後の表示コード化かブランチによって使用されるように位置、強度、キャラクタサイズ、および線タイプを監督するパラメタだけを変更するかもしれません。 ノードかブランチがあらゆるパラメタを指定するのは必要ではありません。 位置以外のそれらのパラメタに関しては、システムは「気にかけないでください」というオプションを許容します。 ノードかブランチが作成されると有効なパラメタ設定は、この場合保有されて、使用されるでしょう。
Watson [Page 7] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[7ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
Identification of Graphic Entities with Graphic Input Devices
グラフィック入力装置とのグラフィック実体の識別
Structural Hits
構造的なヒット
A console operator or application program may modify, add, or delete branches to any of the nodes as well as add new nodes. To allow a console operator to manipulate any branch in such a structure, we have implemented a "structural hit identification" scheme. To illustrate the following discussion, we refer the reader to Figures 1 and 2.
コンソールオペレータかアプリケーション・プログラムが、ノードのどれかへのブランチを新しいノードを加えるのと同じくらいよく変更するか、加えるか、または削除するかもしれません。 コンソールオペレータがそのような構造のどんなブランチも操るのを許容するために、私たちは「構造的なヒット識別」計画を実行しました。 以下の議論を例証するために、私たちは図1と2に読者を差し向けます。
A viewing device, such as a light pen, can respond only to the individual vectors or characters displayed on the screen. At the time a vector is drawn under the viewing area of the light pen, an interrupt is generated and, if enabled, will be sent to the central computer. Even though the same node is used to display the eight windows in the diagram of Figure 1, we can tell which window and house is being pointed to by examining the sequence of branches taken to arrive at the window displayed at the time of interrupt. If the console user points to the right hand window of the middle house of Figure 1 (marked with an asterisk *) an examination of the subroutine return addresses in the push down stack would show that the current "window" node had been arrived at via the dotted line path shown on the network of Figure 2.
ライトペンなどの見る装置はスクリーンで見せられた個々のベクトルかキャラクタだけに反応できます。 ライトペンの表示画面の下でベクトルを描くとき、中断を発生して、可能にするなら、中央のコンピュータに送るでしょう。 同じノードは図1のダイヤグラムの8つの窓を表示するのに使用されますが、私たちは、どの窓と家が中断時点で表示された窓に到着するのに要するブランチの系列を調べることによって示されているかを言うことができます。 コンソールユーザが図1(アスタリスク*で、マークされます)の中央家の右手の窓を示すなら、スタックの下側へのプッシュにおける、サブルーチン返送先の試験は、図2のネットワークに示された点線経路を通して現在の「窓」ノードに達したのを示すでしょう。
There remains the question "Are we pointing at a window, at a wall, at the house, or at all three houses?" The location of this structural hit depends on how many branches are counted in examination of the return addresses before one stops to consider to which branch that return jump points. This is analogous to counting a fixed number of levels from the ends of the graph structure. This number of jumps is set using reserved keys on the keyboard, one incrementing and the other decrementing the limit. By manipulating these keys and pointing to various displayed objects with the light pen, it is possible to point to any branch in the network of subroutine calls.
「私たちは壁において、または、家において、または、すべての3軒の家で窓を指し示していますか?」という問題は残っています。 この構造的なヒットの位置は1つがリターン・ジャンプが指すとどれが分岐するかと考えるために止まる前に、いくつのブランチが返送先の試験で数えられるかによります。 これはグラフ構造の端からレベルの定数を数えるのに類似しています。 この数のジャンプが、1つが増加して、キーボードの上に予約されたキーを使用するセットと限界を減少させる他です。 ライトペンでこれらのキーを操作して、様々な表示された物を示すことによって、サブルーチン呼出しのネットワークでどんなブランチも示すのは可能です。
All information concerning the path in the node-branch network taken to arrive at any displayable coding is contained in a push down stack. Return jumps are stored in the stack by the subroutine calls to nodes. These jumps when executed will return the processor to the next instruction after the call.
どんな表示可能コード化にも到着するのに要するノード支店網における経路のすべての情報がプッシュにスタックの下側に含まれています。 リターン・ジャンプはスタックにサブルーチン呼出しでノードに格納されます。 実行されると、これらのジャンプは呼び出しの後に次の指示にプロセッサを返すでしょう。
A greatly simplified version of the display coding used to generate the picture and tree of Figures 1 and 2 is shown in Figure 3. The labels a through d on the diagram represent the
図1と2の絵と木を発生させるのに使用される表示コード化の大いに簡易型のバージョンは図3に示されます。 ダイヤグラムの上のラベルaからdは表します。
Watson [Page 8] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[8ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
address of the subroutine calls which cause the display of the subpicture hit by the viewing device -- in this case the right hand window of the second house. The returns from the called subroutines are stored in the push down stack as jumps to the location following the calls. The routine RETURN would merely execute POP instructions which ultimately will cause the execution of a jump instruction previously placed in the stack by the calling branch, thus returning control to the calling routine. The stack is shown in the condition at the time of the hit on the right hand window of the middle house. Note that by counting 3 jumps upward (downward in the diagram) in the memory containing the stack, we will arrive at the jump pointing to a structural hit at (b) in Figure 3, the call to model 120.
「副-絵」の表示を引き起こすサブルーチン呼出しのアドレスは見る装置のそばで当たりました--この場合セカンドハウスの右手の窓。 呼び出しに続いて、呼ばれたサブルーチンからのリターンは位置までジャンプとしてプッシュにスタックの下側に格納されます。 通常のRETURNは単に結局以前に呼ぶブランチによってスタックに置かれた飛越し命令の実行を引き起こすPOP指示を実行するでしょう、その結果、コントロールを呼出しルーチンに返します。 スタックは中央家の右手の窓におけるヒット時点で、状態で見せられます。 スタックを含んでいて、メモリで3を数えることによって上向きにジャンプする(ダイヤグラムで下向きの)音、私たちは図3の(b)に構造的なヒットを示しながら、ジャンプに到達するでしょう、120をモデル化するという要求。
Console Operator Feedback
コンソールオペレータフィードバック
The console operator must be informed of where he is pointing in the network of nodes and branches. This is accomplished by flashing all displayable coding below the structurally hit branch when a vector or character is viewed. This flashing is a doubling of the intensity at 2 to 8 cycles per second. In addition, a list of the names of all nodes and branches taken to arrive at the vector or character viewed is displayed in a corner of the screen. The name of the branch selected is intensified somewhat brighter than the other names.
コンソールオペレータはノードとブランチのネットワークで指しているところにおいて知識があるに違いありません。 これは、ベクトルかキャラクタが見られるとき構造的に当たっている支店の下のすべての表示可能コード化をひらめかせることによって、達成されます。 このひらめきは2〜8ヘルツの強度の倍増です。 さらに、スクリーンの隅にノードとベクトルに達するのに要するブランチかキャラクタが見たすべての名前のリストを表示します。 選択されたブランチの名前は他の名前よりいくらか明るい状態で激化します。
Generating an Attention
注意を発生させます。
After the operator has confirmed the correctness of his choice, he need only terminate the view in order to generate an attention on the desired branch. This is done by releasing the button on the light pen or lifting the pen from the Tablet. A button on the mouse will perform the same function. If the structural hit is not correct then the operator could move the viewing device to a new area.
オペレータが彼の選択の正当性を確認した後に、彼は、必要な支店で注意を発生させるように視点を終えるだけでよいです。 ライトペンの上でボタンをリリースするか、またはTabletからペンを持ち上げることによって、これをします。 マウスの上のボタンは同じ機能を実行するでしょう。 構造的なヒットが正しくないなら、オペレータは見る装置を新しい領域に動かすかもしれません。
A termination of the view on a blank area of the screen will result in the generation of a "null" attention. This attention returns only position data; no structural data is generated. The significance of this attention is determined by the application program.
スクリーンの空白の領域における視点の終了は「ヌル」の注意の世代で結果として生じるでしょう。 この注意は位置のデータだけを返します。 どんな構造的なデータも発生しません。 この注意の意味はアプリケーション・プログラムで決定します。
The above discussion assumed a refreshed display and use of a light pen, but it greatly simplifies interactive graphics programming if the above concepts can be implemented no matter what type of display or graphical input device is being used. This in fact can be accomplished as discussed later.
上の議論はライトペンの壮快な表示と使用を仮定しましたが、表示のタイプが者であっても上記の概念を実行できるか、またはグラフィカルな入力装置が使用されているなら、それはインタラクティブグラフィックスプログラミングを大いに簡素化します。 事実上、後で議論するようにこれを達成できます。
Watson [Page 9] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[9ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
THE GRAPHICS LANGUAGE
グラフィックス言語
For the purpose of discussion we assume that the graphics language statements are a set of subroutine calls, although a more sophisticated syntax could be imbedded in the host programming language. The statements required are:
議論の目的のために、私たちは、グラフィックス言語声明が1セットのサブルーチン呼出しであると思います、ホストプログラミング言語で、より精巧な構文を埋め込むことができるでしょうが。 必要である声明は以下の通りです。
1) Subroutine calls for creation and manipulation of the picture- subpicture data structure.
1) 絵の「副-絵」のデータ構造の創造と操作のためのサブルーチン呼出し。
2) Subroutine calls to generate displayed pictures and picture parts such as lines and characters.
2) 発生させるサブルーチン呼出しは、絵を飾って、線やキャラクタなどの部分について描写します。
3) Subroutine calls to input information about events or "attentions" occurring in real time at the console.
3) 出来事の入力情報かリアルタイムでコンソールに現れる「こころづくし」へのサブルーチン呼出し。
4) Subroutine calls to manipulate picture parameters such as line type, (solid, dashed, dotted, etc.), brightness, character size, and so forth.
4) 操るサブルーチン呼出しは線タイプ、(固体の、そして、投げつけられて、点を打たされたなど)、明るさ、キャラクタサイズなどなどのパラメタについて描写します。
5) Subroutine calls to perform utility functions such as saving and restoring pictures from disk files, initiating the display and so forth.
5) 表示などを開始して、ディスクファイルから絵を保存して、回復などなどのユーティリティ機能を実行するサブルーチン呼出し。
NAMING
命名
A number of different naming conventions are required to meet system and application programmer needs.
多くの異なった命名規則が、システムとアプリケーション・プログラマー需要を満たすのに必要です。
The Display Pointer
表示ポインタ
Nodes and branches in the system are named by assigning an integer or array location as an argument in the call used to create them. The system places in these variables a number which points to the physical location of the branch or node position in the picture-subpicture data structure. We call this name the DISPLAY POINTER. As long as the user does not change the contents of these variables he can refer to particular nodes or branches in various subroutines by use of these integer variables as arguments. In other words, to the user, the name of a picture or subpicture can be thought of as the variable used at the time of its creation. Such a naming scheme is clearly required if pictures or subpictures are to be manipulated by the programmer.
システムのノードとブランチは、呼び出しにおける議論が以前はよくそれらを作成しながら整数かアレイ位置を割り当てることによって、命名されます。 システムは絵-「副-絵」のデータ構造におけるブランチかノード位置の物理的な位置を示す数をこれらの変数に置きます。 私たちは、この名前をDISPLAY POINTERと呼びます。 ユーザがこれらの変数のコンテンツを変えない限り、彼はこれらの整数変数の使用で様々なサブルーチンの特定のノードかブランチを議論と呼ぶことができます。 言い換えれば、ユーザに、創造時点で使用された変数として絵か「副-絵」の名前を考えることができます。 絵か「副-絵」がプログラマによって操作されるつもりであるなら、そのような命名計画が明確に必要です。
Watson [Page 10] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[10ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
The Light Button Code
軽いボタンのコード
Additional identification is useful to the application programmer in order to simplify his programming task. A user has no control over the number assigned by the system to a Display Pointer. There are situations in which the user would like to associate a particular known number with a branch. One common example is in the use of "light buttons". A light button is a displayed object that the user wants to be able to point at in order to command the controlling application program to do something. A light button is commonly a string of characters forming an English word or words, but could be any picture. When the user picks or hits the light button, information identifying the object must be transmitted to the timesharing application program. The program must then branch to an appropriate statement or subroutine to perform the operations required to execute the command. The Display Pointer uniquely identifies the object hit, but because its value is not under the programmers control, writing the code necessary to test it against the various Display Pointers considered legitimate to be hit at this point in the program is tedious. If, however, the application programmer knew that at this point only objects with identification numbers 20-28 were legitimate to be hit, then testing to see that one was in this range and branching by use of a computed GOTO simplifies the programming of flow of control. Often one does not need unique identification of an object, but wants to perform a certain action if any object in a class of objects is hit.
追加識別は、彼のプログラミングタスクを簡素化するためにアプリケーション・プログラマーの役に立ちます。 ユーザはシステムによってDisplay Pointerに割り当てられた数を管理しません。 ユーザが特定の既知数をブランチに関連づけたがっている状況があります。 1つの一般的な例が「軽いボタン」の使用であります。 軽いボタンはできる表示された物です。 軽いボタンは、一般的に英単語を形成する一連のキャラクタか単語ですが、どんな絵であるかもしれません。 ユーザが軽いボタンを選ぶか、または打つと、物を特定する情報を時分割アプリケーション・プログラムに伝えなければなりません。 そして、プログラムは、コマンドを実行するのに必要である操作を実行するために適切な声明かサブルーチンに分岐しなければなりません。 Display Pointerは唯一物のヒットを特定しますが、値がプログラマコントロールでないので、ここにプログラムで打たれるために正統であると考えられた様々なDisplay Pointersに対してそれをテストするのに必要なコードを書くのは退屈です。 しかしながら、アプリケーション・プログラマーが、打たれるためにここに識別番号20-28がある物だけが正統であったのを知っていたなら、1つがこの範囲にあったことを確認するためにテストして、計算されたゴトーの使用で分岐するのはコントロールの流れのプログラミングを簡素化します。 人は、しばしば、物のユニークな識別を必要としませんが、何か物のクラスにおける物が打たれるなら、ある動作を実行したがっています。
The above need for identification is satisfied by allowing the application programmer the ability to assign a number, not necessarily unique, to a branch. This number is called the Light Button Code. This code can be used in any way the programmer desires, but is most commonly used, as its name implies, as a code identifying light buttons. This number is sent to the application program along with the Display pointer of the object hit on the screen with a graphical input device.
識別の上の需要は番号をつける能力をアプリケーション・プログラマーに許容することによって、満たされています、必ずユニークであるというわけではありません、ブランチに。 この数はLight Button Codeと呼ばれます。 このコードは、プログラマが望んでいるどんな方法でも使用できますが、最も一般的に使用されます、名前が含意するように、軽いボタンを特定するコードとして。 グラフィカルな入力装置でスクリーンに打たれた物のDisplayポインタに伴うアプリケーション・プログラムにこの数を送ります。
The Back Pointer
バック・ポインタ
We indicated earlier that it is required in interactive graphic programming to be able to associate application oriented data with picture and subpicture objects on the screen. The data may be stored in many kinds of data structures depending on the nature of the application, examples being arrays, lists, trees, etc. We meet the need by associating with each branch one word which could contain a pointer to the appropriate spot in the application data structure containing the data associated with
私たちは、より早くそれが絵と「副-絵」がある指向のデータがスクリーンで反対させるアプリケーションを関連づけることができるように対話的なグラフィックプログラミングで必要であることを示しました。 アプリケーション、アレイである例、リスト、木などの本質によって、データは多くの種類のデータ構造に格納されるかもしれません。 私たちは、データを含むアプリケーションデータ構造に適切なスポットにポインタを含むことができた交際したそれぞれのブランチ1単語と交際することによって、需要を満たします。
Watson [Page 11] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[11ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
the branch. We call this word the Back Pointer. The application programmer can in fact store any code he desires in this word and use it in any way desired, but its common use as a pointer back into a data base in the application program dictated its name.
ブランチ。 私たちは、この言葉をBack Pointerと呼びます。 アプリケーション・プログラムのデータベースの中へのポインタが名前を書き取ったので、事実上、アプリケーション・プログラマーは、彼がそれが何らかの方法で望んでいたこの単語と使用で望んでいるどんなコードも格納して、一般の使用を格納できます。
For example, consider an application which would allow a chemical engineer to draw a chemical flow sheet on the screen and then input this flow sheet into a process calculation system. There will be various symbol-pictures on the screen representing basic process units such as heat exchangers, mixers, columns, and so forth that can be copied and positioned on the screen. These units will have to be connected together by streams. The units and the streams will have names and data associated with them describing their contents and properties. Further, the node-branch structure. while visually indicating to the user what units are connected together and how, does not necessarily have the connecting information in a form easily handled by the application program.
例えば、化学エンジニアがプロセス計算システムに化学フローチャートをスクリーンに引き込んで、次にこのフローチャートを入力するアプリケーションを、考えてください。 様々なシンボル絵がスクリーンにコピーして、置くことができる熱交換器、ミキサー、コラムなどなどの塩基性製鋼法単位を表すスクリーンにあるでしょう。 これらのユニットは流れで一緒に接続されなければならないでしょう。ユニットと流れには、彼らのコンテンツと特性について説明するそれらに関連している名前とデータがあるでしょう。 さらに、ノード分岐構造目視によりどんなユニットが一緒に接続されるかをユーザに示して、どのようにをゆったり過ごすか、そして、必ずアプリケーション・プログラムによって容易に扱われたフォームに接続情報を持っているというわけではありません。
The continuity is best represented by a data structure using simple list processing in which each unit and stream has a block of cells associated with it containing data for it and pointers containing the connectivity information. When a branch is created to position and display a unit, it will contain in the Back Pointer a pointer to the block of data associated with it. The block of data will probably contain the Display Pointer for the associated branch so that one can go from the picture to the data block or from the data block to the picture. For example, one may point at a unit for the purpose of deleting it. Given the Back Pointer of the unit hit, one can find its associated block and return that block to free space. One can then follow the appropriate chain of pointers to the blocks for the streams connected to the unit. In these blocks one has the Display Pointers for the branches displaying the stream and can then delete it from the node- branch structure, thus making it disappear from the screen.
データ構造で各ユニットと流れがそれのためのデータを含んでいて、ポインタが接続性情報を含んでいると関連しているセルのブロックを持っている単純並び処理を使用することで連続を表すのは最も良いです。 ブランチがユニットを置いて、表示するために創設されるとき、それはBack Pointerにそれに関連しているデータのブロックにポインタを含むでしょう。 データのブロックは、1つが絵からデータ・ブロックまでデータ・ブロックから絵まで行くことができるように、たぶん関連ブランチのためのDisplay Pointerを含むでしょう。 例えば、それを削除する目的のためにユニットを指し示すかもしれません。 打たれたユニットのBack Pointerを考えて、1つは、関連ブロックを見つけて、スペースを解放するためにそのブロックを返すことができます。 そして、1つはユニットに接続された流れのためのブロックにポインタの適切なチェーンに続くことができます。 これらのブロックでは、1つが流れを表すブランチのためのDisplay Pointersを持っています、そして、次に、ノード分岐構造からそれを削除できます、その結果、それをスクリーンから見えなくならせます。
An additional form of name is to allow the programmer to store an alphanumeric string with each branch or node. This form of name is not required for most applications, but can be useful with the picture editor.
追加フォームの名前はプログラマが各ブランチかノードで英数字のストリングを格納するのを許容することです。 このフォームの名前は、ほとんどのアプリケーションに必要ではありませんが、絵のエディタにとって、役に立つ場合があります。
To review, each node and branch has associated with it a unique identifier named by the user and called the Display Pointer; its value is assigned by the system. Each branch has two additional pieces of information which can be assigned to it by the programmer, called the Light Button Code and Back Pointer.
論評するために、各ノードとブランチはユーザによって命名されて、Display Pointerと呼ばれるユニークな識別子をそれに関連づけました。 値はシステムによって割り当てられます。 Light Button CodeとBack Pointerは、各ブランチにはプログラマがそれに割り当てることができる2つの追加情報があると呼びました。
Watson [Page 12] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[12ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
Given a Display Pointer for a branch, the programmer can obtain the Light Button Code or the Back Pointer for the branch. Given a Light Button Code or the Back Pointer, the programmer can obtain a Display Pointer for a branch with such a code. This display pointer may not be unique if several branches have the same Light Button Code or Back Pointer. The above naming and identification inventions have proven to be easy to understand and yet completely general and easy to use.
ブランチのためのDisplay Pointerを考えて、プログラマはLight Button CodeかBack Pointerをブランチに入手できます。 Light Button CodeかBack Pointerを考えて、プログラマはそのようなコードでDisplay Pointerをブランチに入手できます。 いくつかのブランチに同じLight Button CodeかBack Pointerがあるなら、この表示ポインタはユニークでないかもしれません。 上の命名と識別発明品は分かり易いのですが、完全に一般的であって、使用するのが簡単であると判明しました。
COORDINATE SYSTEMS
座標系
We now consider the question of a coordinate system within which to describe picture position. The actual display generation hardware in a terminal has a fixed coordinate system (commonly 1024 by 1024 units on a fixed size screen with the origin 0,0 in the left hand corner or center on the screen). Ultimately, the user wants to work on a virtual screen much larger than the hardware screen and wants to consider the hardware screen as a window that he can move around to view this virtual screen. Further, pictures are to be capable of being constructed out of subpictures as in the example of Figures 1 and 2. To be able to accomplish the latter and allow future expansion to allow the former, the following coordinate system conventions are used.
私たちは現在、絵の位置について説明する座標系の問題を考えます。 端末の実際の表示世代ハードウェアには、固定座標系(一般的に起源0、0がスクリーンの上の左手角かセンターにある固定サイズスクリーンの上の1024ユニットの1024)があります。 結局、ユーザは、この仮想のスクリーンを見るためにハードウェアスクリーンが彼が動かすことができるおよそ窓であるとみなすためにハードウェアスクリーンと必需品よりはるかに大きい仮想のスクリーンに働きたがっています。 さらに、絵は図1と2に関する例のように「副-絵」から組み立てることであることができます。 後者を達成して、今後の拡大が前者を許容するのを許容できるように、以下の座標系コンベンションは使用されています。
Each node has its own coordinate system. When a node A is created, the picture-drawing CRT beam is assumed by the programmer to be at the origin of the node's coordinate system. When a node is used within a node B by use of a branch, the positioning of node A is relative to the beam position in the coordinate system of node B. All nodes are positioned relative to each other by x, y positioners in the corresponding branches. When a picture is actually to be displayed, one node is indicated to the system as the initial or Universe Node. This initial node is positioned absolutely on the screen and all other nodes appear relative to this one as specified in the branches pointing to them. This scheme is required to give the flexibility and generality required in the picture-subpicture tree.
各ノードには、それ自身の座標系があります。 ノードAが作成されるとき、絵図面CRTビームがノードの座標系の起源にあるとプログラマによって思われます。 ノードがノードBの中でブランチの使用で使用されるとき、ノードAの位置決めはノードB.の座標系のビーム位置に比例しています。x(対応するブランチにおけるy位置決定装置)によってAllノードは互いに比例して置かれます。 絵が実際に表示することであるときに、初期か宇宙Nodeとして1つのノードをシステムに示します。 この初期のノードはスクリーンに絶対に置かれます、そして、他のすべてのノードがそれらを示しながら、ブランチにおける指定されるとしてのこれに比例して現れます。 この計画が柔軟性を与えるのに必要です、そして、一般性が絵-「副-絵」の木で必要です。
Logical Completeness of Operation Set
操作の論理的な完全性はセットしました。
Throughout the system design one should try to follow the philosophy of incorporating a logically complete and consistent set of operations. In particular, for each call that sets a value there should be another call to fetch the value. That is, for each operation there is an inverse operation whenever it is meaningful to have one. We see a need for a basic system with the calls as primarily primitives. One can incorporate calls that could be created by the programmer from other calls, when it is
システム設計中では、論理的に完全で一貫した操作を取り入れる哲学に従おうとするべきです。 値を設定する各呼び出しのために特に、値をとって来るという別の要求があるべきです。 すなわち、各操作のために、1つを持っているのが重要であるときはいつも、逆さの操作があります。 私たちは呼び出しで同じくらい主として基本体系の必要性を認めます。基関数。 それが取り入れるとき、1つはプログラマが他の呼び出しから作成できた呼び出しを取り入れることができます。
Watson [Page 13] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[13ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
felt that usage would warrant the expansion. We would expect a library of higher level routines in the language.
用法が拡大を保証すると感じました。 私たちは言語における、より高い平らなルーチンのライブラリを予想するでしょう。
It is beyond the scope of these notes to go into all the calls required except to indicate a few basic ones. For structure creation, one needs to be able to create a node or branch, delete a branch, add a new branch to a node at run time.
それは、いくつかの基本的なものを示すのを除いて、必要であるすべての呼び出しに入るためにこれらの注意の範囲を超えています。 構造創造には、人は、ノードを作成するか、または分岐できる必要があって、ブランチを削除してください、そして、ランタイムのときに新しいブランチをノードに追加してください。
One needs to be able to specify beam movements in nodes and place text in nodes with the normal write-format statements of the host programming language. This latter point is very important for easy programming.
指定できる1つの必要性がノードのホストプログラミング言語の正常な書式を書いている声明があるノードと場所テキストにおける動きを発します。 簡単なプログラミングに、この後者のポイントは非常に重要です。
One needs to be able to set and test parameters and convert one form of name into others.
人は、セットして、パラメタをテストして、1つのフォームの名前を他のものに変換できる必要があります。
We discuss Attention handling in more detail because of its importance in making interactive programming easy.
さらに詳細に重要性のために、私たちは双方向番組を簡単にする際にAttention取り扱いについて議論します。
Attention Handling
注意取り扱い
The user sitting at the console is operating in real time while the application program is operating in timesharing time. At any point where the user may perform some operation at the console, the application program may not be running. A mechanism must be created to communicate between the user and the application program. The design of this mechanism is very important and must be carefully considered. There are many different operations that one might want to provide the user at the console. A basic mechanism is discussed which will allow others to be added in the future. When the application program gets to a point where it is expecting input from the terminal, it issues a call and passes an array as an argument. The Attention handling mechanism dismisses the program until an event is reported from the console. The information passed back to the application is the type of event which occurred and other relevant information for that event.
アプリケーション・プログラムが時分割時間作動している間、コンソールに座るユーザはリアルタイムで、働いています。 ユーザがコンソールでの何らかの操作を実行するかもしれない任意な点では、アプリケーション・プログラムが走っていないかもしれません。 ユーザとアプリケーション・プログラムの間で交信するためにメカニズムを作成しなければなりません。 このメカニズムのデザインを非常に重要であり、慎重に考えなければなりません。 1つがコンソールでユーザを提供したがっているかもしれない多くの異なった操作があります。 基本的機構について議論します(将来、他のものを加えさせるでしょう)。 アプリケーション・プログラムがそれが端末からの入力を予想しているポイントに着くとき、それは、呼び出しを発行して、議論としてアレイを通り過ぎます。 出来事がコンソールから報告されるまで、Attention取り扱いメカニズムはプログラムを棄却します。 アプリケーションに戻された情報はその出来事のための現れた出来事と他の関連情報のタイプです。
On refreshed displays a common input device is the light pen. The light pen has a physical field of view of about a 1/8-1/4 inch circle. The most common use of the light pen is to point at an object to be hit or picked. The logical field of view seen by the user is a branch in the node-branch structure. The picture drawn by the structure below the branch is blinked to give feedback to the user about what object he is going to hit or operate upon. The level in the structure at which the logical view is given can be set under program control or adjusted by the user from the keyboard. When the user obtains feedback indicating the correct object is in view, he then presses a button on the light pen to
壮快な表示のときに、一般的な入力装置はライトペンです。 ペンが物理的な視野を持っている光は1/8-1/4インチに関して旋回します。 ライトペンの最も一般の使用は打たれるか、または選ばれる物を指し示すことです。 ユーザによって見られた論理的な視野はノード分岐構造のブランチです。 支店の下の構造によって描かれた絵は、彼がどんな物を当たるか、または働かせるだろうかに関してユーザにフィードバックするために明滅します。 キーボードから論理的な意見が与えられている構造のレベルをプログラムの制御の下で設定するか、またはユーザは調整できます。 ユーザはいつまで視点には正しい物があって、次に、彼がライトペンの上でボタンを押すのを示すフィードバックを得ますか。
Watson [Page 14] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[14ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
generate an Attention. He is said to obtain a "structural bit" at a branch at the level in the node-branch structure set by the application program or by himself. When the hit occurs, appropriate information is then entered into the Attention queue as described below.
Attentionを発生させてください。 彼はノード分岐構造セットでアプリケーション・プログラムか自分でブランチにおける「構造的なビット」をレベルで得ると言われています。 ヒットが起こると、適切な情報は以下で説明されるようにAttention待ち行列に入力されます。
The other type of graphical input device commonly in use on both refreshed and non-refreshed displays, such as electronic pen- tablets, Joy Sticks, SRI Mouse, etc., produce x, y position information which is fedback to the screen as some sort of cursor, such as a dot or a cross. It is difficult, if not impossible, without special hardware to provide the kind of feedback possible with the light pen, but structural hits can be generated by the use of special hardware or software. These devices require the application programmer to set the appropriate level for an expected hit.
両方で一般的に使用中のグラフィカルな入力装置のもう片方のタイプはリフレッシュしました、そして、電子ペンタブレット、ジョイSticks、SRI Mouseなどの非壮快な表示はxを生産します、ある種のカーソルとしてのスクリーンへのfedbackであるy位置の情報、ドットや十字のように。 ライトペンで可能なフィードバックの種類を提供するのが難しいか、または特別なハードウェアなしで不可能ですが、構造的なヒットは特別なハードウェアかソフトウェアの使用で発生できます。 これらの装置は、アプリケーション・プログラマーが予想されたヒットに適正水準を設定するのを必要とします。
The level of a structural hit is counted up from the bottom of the node-branch structure. A hit at level 1 is the lowest branch presently in view. A hit at level 0 is a hit on an individual vector or group of characters. Only special programs, such as a picture editor, are likely to obtain hits at level 0.
構造的なヒットのレベルはノード分岐構造の下部から合計されます。 レベル1におけるヒットは現在、視点で最も低いブランチです。 レベル0におけるヒットはキャラクタの個々のベクトルかグループにおけるヒットです。 絵のエディタなどの特別なプログラムだけがレベル0でヒットを得そうです。
The Attention type obtained when one gets a structural hit on a branch returns the following information: The information returned in the array is that required by the application program, the Display Pointer, the Light Button Code, and x, y, information. The x, y, information returned is not the absolute x,y pen position because this would not be of use on this type of hit. The x, y information returned is the physical beam position just before execution of the branch which was hit. If one wants the physical location of the node origin to which the hit branch is connected, one executes another call to obtain the branch positioner and adds these values to the corresponding values obtained from the hit. Given the Display Pointer, one can obtain the Back Pointer or other parameter values associated with the given branch call.
1つがブランチで構造的なヒットを得るとき得られたAttentionタイプは以下の情報を返します: アレイで返された情報は、アプリケーション・プログラムによって必要とされたそれと、Display Pointerと、Light Button Codeと、xです、y、情報。 x、y、返された情報はこれがこのタイプのヒットのときに役に立たないでしょう、したがって、絶対x、yが位置を書くということではありません。 xであり、返されたy情報は殴られたブランチの実行のすぐ前の物理的なビーム位置です。 人がヒットブランチが関連しているノードの起源の物理的な位置が欲しいなら、人は、ブランチ位置決定装置を得るという別の要求を実行して、ヒットから得られた換算値にこれらの値を加えます。 Display Pointerを考えて、1つがBack Pointerを入手できますか、または与えられたブランチに関連している他のパラメタ値は呼びます。
The attention type obtained when a hit is generated, but no object is in view, is now discussed. This type of attention is called a null attention. It is used frequently to position objects on the screen. The only information returned in the array is the absolute screen coordinates of the position on the screen of the graphic input device or cursor. This information can be converted into relative information for placement in a branch positioner or for incrementing a branch position when an object is being moved.
現在、ヒットが発生しますが、視点では物が全くないとき得られた注意タイプについて議論します。 このタイプの注意はヌル注意と呼ばれます。 それは、スクリーンに物を置くのに頻繁に使用されます。 アレイで返された唯一の情報がグラフィック入力装置かカーソルのスクリーンの上の位置の絶対画面座標です。 ブランチ位置決定装置のプレースメントか支店の位置を増加するための相対的な情報に物体がいつ動かされているかというこの情報を変換できます。
Watson [Page 15] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[15ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
Other calls are required to obtain information about other branches which are related to the one hit, and to perform other functions.
他の呼び出しが、1つのヒットに関連する他のブランチの情報を得て、他の機能を実行するのに必要です。
STRUCTURAL HITS FOR STORAGE TUBE DISPLAYS
蓄積管表示のための構造的なヒット
The final topic is to consider how to obtain structural hit information using a storage tube display or device which only gives absolute x, y screen information.
最終的な話題は絶対x(y画面情報)を与えるだけである蓄積管表示か装置を使用する構造的なヒット情報を得る方法を考えることです。
The problem is to take an x, y coordinate pair and determine if the user is or is not pointing at an object on the screen, and if he is, which object. When a hit is generated with the light pen, the display processor halts and the controlling computer can gain access to the return addresses in the push down stack and to the instruction location which generated the line or character causing the hit. Use of the Joy Stick, Mouse, or tablet is completely asynchronous with the display for refresh displays and the hit occurs after the drawing has taken place for storage tube systems.
問題は、x、y座標組を取って、ユーザがいるか、またはスクリーンの上の物を指し示していなくて、指し示しているかどうかと決心することです、反対するどれ。 ヒットがライトペンで発生するとき、ディスプレイ・プロセッサ停止と制御コンピュータはスタックの下側へのプッシュにおける返送先と、そして、ヒットを引き起こす線かキャラクタを発生させた指示位置へのアクセスを得ることができます。 表示をリフレッシュしてください。そうすれば、図面が蓄積管システムのために行われた後にヒットが起こるので、ジョイStick、Mouse、またはタブレットの使用は表示について完全に非同期です。
The brute force approach to the problem would be to simulate execution of the Display Buffer and calculate some measure of distance between every line and the x, y coordinate of the hit. This approach would be too time consuming and is not feasible. A second approach and one commonly used is to have the programmer define a rectangle surrounding each object on the screen. Then one determines which rectangle the cursor was in and that determines the object hit. This approach requires extra effort by the programmer, and only works well if the node-branch structure is one level deep, there are no diagonal lines as nodes, and no objects have overlapping rectangles. These severe restrictions eliminates this approach from serious consideration.
問題への獣の力のアプローチは、あらゆる線とx(ヒットのy座標)の間でDisplay Bufferの実行をシミュレートして、ある程度の距離について計算するだろうことです。 このアプローチは、時間がかかり過ぎて、可能ではありません。 2番目のアプローチと一般的に使用されるもので、プログラマはスクリーンで各物を囲む長方形を定義することになっています。 次に、人は、どの長方形にカーソルがあったかを決定します、そして、それは物が当たったことを決定します。 このアプローチは、プログラマによる余分な努力を必要として、ノード分岐構造が深く1つのレベルである場合にだけうまくいきます、そして、ノードとして対角線が全くありません、そして、どんな物にも、重なっている長方形がありません。 これらの厳しい制限は真剣な考慮からこのアプローチを排除します。
A third approach would be to break the screen into small squares or rectangles of a size such that it is unlikely a line from more than one picture object would pass through the square or rectangle. Then we would record for each square the Display Pointer of the lowest level object branch passing through it. This approach would require considerable system space and would take much time to determine what rectangles each line passed through.
3番目のアプローチはスクリーンをサイズの小さい正方形か長方形に細かく分けるだろうことです、したがって、1個以上の絵の物からの線が正方形か長方形を通り抜けるのが、ありそうもないです。 そして、私たちは各正方形のためにそれを通り抜ける最も低い平らな物のブランチのDisplay Pointerを記録するでしょう。 このアプローチは、かなりのシステムスペースを必要として、各線がどんな長方形を通り抜けたかを決定するには多くの時間がかかるでしょう。
The fourth approach and the one we recommend is to split the screen into horizontal and vertical strips. When the call to DISPLAY is given, the system makes one pass through the node-branch structure and makes a list of the Display Pointers for the lowest branch having a node with a line or character passing through or in each horizontal or vertical strip.
4番目のアプローチと私たちが推薦するのはスクリーンを水平で垂直な片に分けることです。 DISPLAYへの呼び出しを与えると、システムは、通り抜ける線かキャラクタ、または、それぞれの水平であるか垂直な片の中にノードを持っている最も低いブランチのために、人にノード分岐構造を通り抜けさせて、Display Pointersのリストを作ります。
Watson [Page 16] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[16ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
This calculation can be made quickly because the system can easily obtain the start and end points of a line. One then can quickly determine which strips the end points fall in, as well as the intermediate strips crossed. When a hit is generated, the x, y information is converted to horizontal and vertical strip numbers. The Display Pointers for each of these strips are intersected to see if a common Display Pointer exists. If yes, this is the Display Pointer for the object hit. If not, then a null hit is generated. Choice of strip width decreases the probability of multiple hits resulting.
システムが容易に線の始めとエンドポイントを得ることができるので、すぐにこの計算をすることができます。 そして、人は、どの片をエンドポイントを低下させて、中間的片が交差したかをすぐに決定できます。 ヒットが発生するとき、xであり、y情報は水平で垂直な片番号に変換されます。 それぞれのこれらの片があるので、Display Pointersは一般的なDisplay Pointerが存在するかどうか確認するために交差しました。 はいなら、これは物のヒットのためのDisplay Pointerです。 そうでなければ、そして、ヌルヒットは発生します。 片幅の選択は複数のヒットが結果として生じるという確率を減少させます。
The above process yields the Display Pointer of the lowest branch in the tree in view, but one may want to obtain information about other higher branches in view. This is accomplished by creating, not only the strip lists described, but by parsing the node-branch structure at the same time into a table containing an abbreviated representation of the tree and the screen x, y coordinates existing at each branch. The strip lists do not actually contain Display Pointers, but pointers back into the parsed representations which has the Display Pointer, x, y coordinates, and the structure level for each of the branches. The parsed representation is a linear list of the branches encountered as the program walks through the node-branch graph. Given the hit at the lowest level one can determine all branches passed through from the top node to the hit branch by an upward search of the graph representation.
上の過程は視点で木で最も低いブランチのDisplay Pointerをもたらしますが、視点で他の、より高いブランチの情報を得たがっているかもしれません。 これは、作成、リストが説明した片だけで達成されるのではなく、同時に、ノード分岐構造を分析することによって、木の簡略化された表現を含むテーブルと衝立x(各支店に存在するy座標)に達成されます。 片リストは実際にDisplay Pointersを含んでいるのではなく、それぞれのブランチのための分析された表現へのDisplay Pointerを持っているポインタ後部、x、y座標、および構造レベルを含んでいます。 分析された表現はプログラムがノードブランチグラフで下稽古されるのに従って遭遇するブランチの直線的なリストです。 最も低いところのヒットを考えて、レベル1は、トップノードからヒットまで通り抜けるすべてのブランチがグラフ表現の上向きの検索で分岐することを決定できます。
Every time a branch is deleted or a new branch is added, one needs to modify the screen, modify the representations and the strip lists. For refresh displays, the picture can be changed immediately and the strip lists and representations modified at the time of an attention call. For a storage display, erasing and redrawing the picture on each deletion can be slow, if many deletions are going on, and may be unnecessary.
ブランチが削除されるか、新しいブランチが言い足されて、または人が、スクリーンを変更する必要があるときはいつも、表現と片リストを変更してください。 絵が注意呼び出し時点で変更された表示をリフレッシュしてください、すぐに、変えて片リストと表現であるかもしれないので。 格納表示に、各削除のときに絵を消して、描き直すのは遅い場合があります、多くの削除が先へ進んでいて、不要であるかもしれないなら。
There are three approaches to performing these functions in storage tube systems:
蓄積管システムにはこれらの機能を実行することへの3つのアプローチがあります:
1) Erase the screen on each deletion and recompute the picture, strip lists and graph representations on each deletion and addition.
1) 各削除のときにスクリーンを消してください。そうすれば、recomputeが絵を消して、各削除と添加のときに、片は、リストとグラフ表現です。
2) Keep a list of each Display Buffer change and perform erase if necessary and redraw or make an addition when an attention call is encountered. This is a feasible approach because it is only at this point that the screen and structural hit information need to be up to date.
2) それぞれのDisplay Buffer変化のリストを保ってください、必要なら、抹消を実行してください、添加を描き直すか、または注意呼び出しが遭遇したらしてください。 ここだけにスクリーンと構造的なヒット情報が、最新である必要があるのが、アプローチであるので、これは可能なアプローチです。
Watson [Page 17] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[17ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
3) The third is to allow control of screen changes and other updating by special subroutine call. The recommended approach uses a combination of the above. Adding information to the screen should occur at the time of the new branch call. Deletions and modifications of the representation and the strip lists occur only at the time of an attention call. Routines should also be provided to give the programmer control over this redraw mechanism.
3) 3番目はスクリーン変化のコントロールと特別なサブルーチン呼出しによる他のアップデートを許すことです。 お勧めのアプローチは上記の組み合わせを使用します。 スクリーンに情報を加えるのは新しいブランチ呼び出し時点で、起こるべきです。 表現と片リストの削除と変更は単に注意呼び出し時点で、起こります。 また、ルーチンはプログラマコントロールを明け渡すために、これがメカニズムを描き直すかどうかということであるべきです。
Experience with the above mechanism has shown it to be quite fast and not to noticeably degrade response time. One minor difficulty has been encountered when a horizontal or vertical line of an object is on the borderline of a strip. Sometimes this results in a null hit being generated if the cursor is on the wrong side of the borderline. A check can be made for this condition and audio feedback can be given to the user with the bell in the terminal to indicate a correct or erroneous hit.
上のメカニズムの経験は、かなり速く、応答時間を顕著に下げないようにそれを示しました。 物の水平であるか垂直な線が片のボーダーラインにあるとき、1つの小さい方の困難が遭遇しました。 時々、これはカーソルがボーダーラインの間違った端にあるなら発生するヌルヒットをもたらします。 この状態のためにチェックをすることができます、そして、ベルが端末にある状態で、正しいか誤ったヒットを示すためにオーディオフィードバックをユーザに与えることができます。
INTERFACE TO THE TIMESHARING SYSTEM OF A REMOTE MINICOMPUTER DRIVEN DISPLAY
リモートミニコンピュータ駆動表示の時分割システムに接続してください。
Although the graphic system is locally controlled by a minicomputer, the user does not have to worry about the mini. Application programs are written for the timesharing computer only. The graphic system as a whole behaves as a terminal of the timesharing computer. This feature is important because no matter how powerful the graphic system is, it must be easy to program and use before useful applications can be implemented.
グラフィック・システムはミニコンピュータによって局所的に制御されますが、ユーザはミニ、を心配する必要はありません。 アプリケーション・プログラムは時分割コンピュータだけのために書かれています。 グラフィック・システムは時分割コンピュータの端末として全体で反応します。 グラフィック・システムがどんなに強力であっても、役に立つアプリケーションを実行できる前にプログラムして、使用するのが簡単であるに違いないので、この特徴は重要です。
Because no one wants to operate over a communication line, one needs to compress the information sent to the remote system. This is accomplished by compiling a central node-branch structure in the central computer and only sending minimal character strings to the remote computer representing those subroutines calls that need to be compiled into a Display Buffer in the remote computer for display refresh. In other words, a smaller remote version of the graphics system resides in the remote minicomputer. Simple schemes for coordinating the Display Pointer in the remote and central machine have to be devised.
だれも通信回線の上で作動したがっていないので、人は、リモートシステムに送られた情報を圧縮する必要があります。 これは中央のコンピュータで主要なノード分岐構造をコンパイルすることによって、達成されます、そして、表示のためのリモート・コンピュータのDisplay Bufferにコンパイルされる必要があるそれらのサブルーチン呼び出しを表すリモート・コンピュータへの唯一の送付の最小量の文字列がリフレッシュします。 言い換えれば、グラフィックスシステムの、より小さいリモートバージョンはリモートミニコンピュータにあります。 リモートで中央のマシンでDisplay Pointerを調整することの簡単な計画は工夫されなければなりません。
CONCLUSION
結論
We feel that the above concepts are central to creating an interactive graphics support system for use with a timesharing system. The key concepts are those associated with the node-branch structure and the structured hit. The topics of a picture editor, data management system, and basic level support are also very important, but beyond the scope of this lecture.
私たちは、上記の概念が時分割システムによる使用のインタラクティブグラフィックスサポート・システムを作成するのに一番重要であると感じます。 重要な考えはノード分岐構造と構造化されたヒットに関連づけられたものです。 また、非常に重要ですがこの講演の範囲を超えて絵のエディタ、データ管理システム、および基礎水準サポートの話題。
Watson [Page 18] RFC 192 Some Factors which a Network Graphics 12 July 1971
ワトソン[18ページ]RFC192Some Factorsはどのa Network Graphics1971年7月12日であるか。
Figures 1, 2. and 3, are available in both .PS and .PDF versions.
図形1(2と3)は、.PSと.PDFバージョンの両方で利用可能です。
[This RFC was put into machine readable form for entry] [into the online RFC archives by Lorrie Shiota, 10/01]
[このRFCはエントリーのためのマシンに入れられた読み込み可能なフォームでした][ロリー塩田によるオンラインRFCアーカイブへの10/01]
Watson [Page 19]
ワトソン[19ページ]
一覧
スポンサーリンク