JPS6252684A - Various density giving circuit for crt display device - Google Patents

Various density giving circuit for crt display device

Info

Publication number
JPS6252684A
JPS6252684A JP19249785A JP19249785A JPS6252684A JP S6252684 A JPS6252684 A JP S6252684A JP 19249785 A JP19249785 A JP 19249785A JP 19249785 A JP19249785 A JP 19249785A JP S6252684 A JPS6252684 A JP S6252684A
Authority
JP
Japan
Prior art keywords
vector
line
shading
vectors
normal
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP19249785A
Other languages
Japanese (ja)
Inventor
Kazuo Nishiguchi
西口 和夫
Takanari Nishiguchi
西口 隆也
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daikin Industries Ltd
Original Assignee
Daikin Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Daikin Industries Ltd filed Critical Daikin Industries Ltd
Priority to JP19249785A priority Critical patent/JPS6252684A/en
Publication of JPS6252684A publication Critical patent/JPS6252684A/en
Pending legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

PURPOSE:To giving various densities to a polygon on a CRT by obtaining the vectors of a sight line, rays of light and normal at each vertex of the polygon so as to obtain any vectors on a plane. CONSTITUTION:A vector expressing the polygon is inputted to a vector calculating circuit 21. According to the given vector, the circuit 21 obtains the vectors of the normalized rays of light, sight line and normal at each vertex. The obtained vector is given to a various density giving circuit 22, and a vector on a ridge line and any dot vectors on the three-dimensional plane are obtained. Furthermore the vector is linearly interpolated at calculate brightness, and is given to a frame memory 23. Data stored in the frame memory 23 is given to a display controller 24, analog-converted by a D/A conversion, and is given to a CRT display 25.

Description

【発明の詳細な説明】 産業上の利用分野 この発明はCRTディスプレイ装置の濃淡付け回路に関
し、特に、画像をリアルに表現するために、光源と視点
とを指定し、画像の表面上の位置との関係から、その位
置における輝度を計算して濃淡付け処理を行なうような
濃淡付け回路に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of Industrial Application This invention relates to a shading circuit for a CRT display device, and in particular, in order to realistically represent an image, it specifies a light source and a viewpoint, and determines the position and position on the surface of the image. Based on this relationship, the present invention relates to a shading circuit that calculates the brightness at that position and performs shading processing.

従来の技術 第6図および第7図は従来のCRTディスプレイ装置に
よる濃淡付けの原理を説明するに:めの図であり、第8
図は濃淡付けのための法線ベクトルの求め方を説明する
ための図であり、第9図は光線ベタ1〜ルど法線ベクト
ルと視線ベクトルとを説明するだめの図で必る。
Prior art FIGS. 6 and 7 are first views for explaining the principle of shading by a conventional CRT display device, and FIG.
The figure is a diagram for explaining how to obtain the normal vector for shading, and FIG. 9 is necessary for explaining the normal vector and line-of-sight vector for the rays of solid 1 to 3.

まず、第6図ないし第9図を参照して、C,RTディス
プレイ装置において画像に輝度の′Ia淡を付(プる方
法について説明する。第6図に示すように、CR1−デ
ィスプレイの画面に両像1を表示し、この画@1に輝度
の濃淡付【プを行なう場合には、画像1の左上に光源2
を置いたものと想定し、画像1の而11,12を明るく
し、而13を暗くして、そねぞitの面の輝度を異なら
せる。それによって、視線3によって画像1を見ると、
画像1の各面に輝度の濃淡が付(〕られたようにリアル
に見える。
First, with reference to FIGS. 6 to 9, we will explain how to apply a brightness 'Ia' to an image in a C, RT display device.As shown in FIG. When displaying both images 1 and adding brightness shading to this image @1, place light source 2 at the top left of image 1.
11 and 12 of image 1 are made brighter, and 13 is made darker, and the brightness of the surface of image 1 is made different. Therefore, when looking at image 1 with line of sight 3,
Each side of image 1 looks realistic, as if it had been given a different brightness gradation.

しかし、第6図に示すような画像1が立方体の場合には
、比較的簡単に輝度のif!!!淡何けを行なうことが
できるが、第7図に示すような画像4が円柱の場合には
、m淡付けが困難である。それは、円柱4の側面41が
曲面であり、第7図における側面の左側を明るくし、右
側を暗くすることが困難だからである。そこで、円柱4
の側面41については、複数に分割し、曲面を複数の長
方形で近似し、左側の長方形部分を明るくし、右側にい
くに従って暗くする。それによって、あたかも円柱4の
側面が濃淡付けられたように見える。また、円柱4の上
面42は三角形に分割し、分割した各三角形のそれぞれ
について濃淡付けを行なう。
However, if the image 1 is a cube as shown in FIG. 6, the brightness if! ! ! Although it is possible to perform lightening, if the image 4 shown in FIG. 7 is a cylinder, m-lightening is difficult. This is because the side surface 41 of the cylinder 4 is a curved surface, and it is difficult to make the left side of the side surface bright in FIG. 7 and darken the right side. Therefore, cylinder 4
The side surface 41 is divided into a plurality of parts, the curved surface is approximated by a plurality of rectangles, and the rectangular part on the left side is made brighter, and the rectangular part on the left side is made darker toward the right side. As a result, it appears as if the side surface of the cylinder 4 is shaded. Further, the upper surface 42 of the cylinder 4 is divided into triangles, and shading is applied to each of the divided triangles.

ところで、濃淡付けの処理としては、1つの平面を一定
の輝度にするコンスタントシェーディングおよび滑かな
濃淡付けのできるグローのシェーディング方法がよく用
いられているが、さらに高品質な表現のできるフオツク
のシェーディングが知られている。
By the way, as for shading processing, constant shading, which keeps one plane at a constant brightness, and glow shading, which allows for smooth shading, are often used, but there is a method called shading, which allows for even higher quality expression. Are known.

次に、第8図および第9図を参照して、フオツクのシェ
ーディング方法について説明する。まず、前述の第7図
に示した」;うに、円柱4の上面42をたとえば第8図
に示すようなポリゴン(三角形)5に分割したとき、こ
のポリゴン5の各頂点51゜52および53にJ3ける
法線ベクトルを正規化して中位ベク1−ルを求め、法線
ベクトルN1.N2およびN3を求める。
Next, a method of shading a focus will be described with reference to FIGS. 8 and 9. First, as shown in FIG. 7 above, when the top surface 42 of the cylinder 4 is divided into polygons (triangles) 5 as shown in FIG. The normal vector N1.J3 is normalized to obtain the median vector N1. Find N2 and N3.

;欠に、ポリゴン5の稜線54..55および56上の
?入線ベクトルN4.N5は、それぞれ2つの頂点51
と52の稜線54および頂点51と53の稜線56を線
形補間し、正規化することによって求められる。
;In particular, the ridgeline 54 of polygon 5. .. On 55 and 56? Incoming line vector N4. N5 each has two vertices 51
It is obtained by linearly interpolating and normalizing the edges 54 of and 52 and the edges 56 of vertices 51 and 53.

さらに、ポリゴン5の平面上の任意の点59における法
線ベクトルN6は、この点を通る走査平面と交差覆る2
つの稜線での法線ベクトルN4およびN5を線形補間し
、正規化することによって求められる。
Furthermore, the normal vector N6 at any point 59 on the plane of the polygon 5 is 2 which intersects and covers the scanning plane passing through this point.
It is obtained by linearly interpolating and normalizing the normal vectors N4 and N5 at the two edges.

次に、第9図に示すように、前述のようにして求めた点
59におtノる法線ベクトルNから各点における光線ベ
クトルPど視線ベクトルEを求めて正規化づる。光線ベ
クトルPと法線ベクトルNの’Z を角を1どじ、co
s iを求める。さらに、光線の反射ムク1−ルRとm
!ベクトルEとのなす角をθとして、cosθを求める
Next, as shown in FIG. 9, the ray vector P and line-of-sight vector E at each point are determined and normalized from the normal vector N to point 59 determined as described above. 'Z of the ray vector P and the normal vector N, the angle is 1, co
Find s i. Furthermore, the reflection of the light beam 1-le R and m
! Assuming that the angle formed with the vector E is θ, cos θ is determined.

光線ベクトルPと法線ベクトルNとから反射ベクトルR
を算出するには、次のように演算を行なう。
Reflection vector R from ray vector P and normal vector N
To calculate , perform the following calculations.

寸なわら、光線ベクトルP (XP 、 Yp 、 Z
p )、法線ベクトルN (XN、Y、、Z、)および
光線の反射ベクトルR(X、、Y、、Z、)とすると、 A −N−(P+R) /2 ならば、 △・XN = (XP +XR) / 2A−YN= 
(Yp +Y、)/2 A−ZN= (Zp 十ZR) /、2よって、 Xi= =2A ” X1l−Xp   ・・・(1〉
YP−2A−YN−YP  ・・・(2)Z== =2
A−ZN−Zp   ・・・(3)XR2+YR2+Z
t+ 2 一4△2 (XN ’ +Y++ 2+ZN 2)4A
  (XN  −Xp  +YN  −Yp  +ZN
  ” Zp  )+XP 2+Yp 2+Zp 2 ところで、光線ベクトルP、法線ベクトルN。
In short, the ray vector P (XP , Yp , Z
p ), the normal vector N (XN, Y,, Z,) and the reflection vector R (X,, Y,, Z,) of the ray, then A −N−(P+R) /2 then △・XN = (XP +XR) / 2A-YN=
(Yp +Y,)/2 A-ZN= (Zp 10 ZR) /, 2 Therefore, Xi= =2A ”X1l-Xp...(1>
YP-2A-YN-YP...(2) Z== =2
A-ZN-Zp...(3)XR2+YR2+Z
t+ 2 -4△2 (XN' +Y++ 2+ZN 2)4A
(XN -Xp +YN -Yp +ZN
”Zp )+XP 2+Yp 2+Zp 2 By the way, the ray vector P and the normal vector N.

視線ベクトルEは、それぞれ単位ベクトルであるから次
式で表わされる。
Since the line-of-sight vector E is a unit vector, it is expressed by the following equation.

1−4A2−4A (XN −XP +YN  −YP +ZN  ” Zp ) + 1し
たがって A=XN −XP+YN −YP+zN −ZP一方、
拡散反射光cos iは次式によって求められる。
1-4A2-4A (XN -XP +YN -YP +ZN '' Zp ) + 1 Therefore, A=XN -XP+YN -YP+zN -ZPOn the other hand,
Diffuse reflected light cos i is determined by the following equation.

os i −(P、N> =Xp  −XN 十Yp  −YN +ZP  −Z
N・・・く4) また、鏡面反射光COSθは次式によって求められる。
os i −(P, N> =Xp −XN 10Yp −YN +ZP −Z
N...ku4) Also, the specular reflection light COS θ is obtained by the following equation.

CO3θ −(R,E) =XR−XE+Yt  ・YE +ZR−ZE−(2A
−X−−Xp  )  ・Xt:+(2A−YN YP
)・YE +  (2A−ZN −Zp  )  ・Ze−2△(
XN −XE+YN −Y〔+ZN −ZE)−(XP
 ・×ε +YP −YE +ZP −7ll: )・
・・ (5) 上述のごとくして求めたA、 CO3+ 、 cosθ
に基づいて、輝度Iは 1=Ic+△(Bcos i 十C(cosθ)7)た
だし、lc 、B、C,nは定数 によって求められる。
CO3θ −(R,E) =XR−XE+Yt ・YE +ZR−ZE−(2A
-X--Xp) ・Xt:+(2A-YN YP
)・YE + (2A-ZN -Zp) ・Ze-2△(
XN -XE+YN -Y[+ZN -ZE)-(XP
・×ε +YP −YE +ZP −7ll: )・
... (5) A, CO3+, cosθ obtained as above
Based on, the brightness I is 1=Ic+Δ(Bcos i +C(cosθ)7), where lc, B, C, and n are determined by constants.

発明が解決しようとする問題点 上述のフオツクのシェーディング方法では、各画素ごと
に法線ベクトルNを正規化する必要がある。また、各画
素ごとに正規化された視線ベクトルEと、光線ベクトル
Pとを求めなければならない。一般に、ベクトルV (
x 、 y 、 z )を正規化するためには、各要素
を × −←y +7 で除算する必要がある。すなわ
ち、正規化ベクトルV−=(X/  X  −1+Z 
 、V/i2+z2.z/  x  +y  +z  
)で表わされる。
Problems to be Solved by the Invention In the above-mentioned method of shading a photo, it is necessary to normalize the normal vector N for each pixel. Further, it is necessary to obtain a normalized line-of-sight vector E and a ray vector P for each pixel. In general, vector V (
x, y, z), it is necessary to divide each element by x −←y +7. That is, normalized vector V-=(X/X-1+Z
, V/i2+z2. z/ x +y +z
).

このように、フオツクのシェーディング方法は、計算1
が多いために、処理時間が長くなってしまい、高速処理
ができないという欠点があった。そして、グラフィック
ディスプレイにおいて、ハードウェア構成で高速処理を
実現しようとすると、非常に大規模のハードウェアが必
要となり、必要であればホストコンピュータで処理しな
ければならなかった。
In this way, the shading method for the fox is calculated as follows:
Since there are many numbers, the processing time becomes long and high-speed processing cannot be performed. If high-speed processing was to be achieved using a hardware configuration in a graphic display, extremely large-scale hardware would be required, and if necessary, the processing would have to be performed by a host computer.

それゆえに、この発明の主たる目的は、可能な限り計算
処理を少なくし得て、高品質な輝度の濃淡付けを高速処
理できるようなCRTディスプレイ装置の濃淡付は回路
を提供することである。
Therefore, it is a principal object of the present invention to provide a shading circuit for a CRT display device which can perform high-quality luminance shading at high speed with as little computational processing as possible.

問題点を解決するための手段 この発明におけるCRTディスプレイ装置の濃淡付は回
路は、3次元平面を構成する多角形の各頂点において、
正規化された視線ベクトルと光線ベクトルと法線ベクト
ルとを第1のベクトル演算手段により求め、多角形の稜
線を構成する2つの頂点での視線ベクトルと光線ベクト
ルと法線ベクトルをそれぞれ線形補間して求め、各頂点
における同じ種類のベクトルがなす角度と、稜線上での
補間位置とで決まる第1の補正係数とを乗じたベクトル
を第2のベクトル演算手段により求めて稜線上のベクト
ルとし、3次元平面上の任意の点を通る走査平面と交差
する2つの稜線上のベクトルを線形補間して、その任意
の点におけるベクトルを求め、走査平面と交差する2つ
の稜線上の点における同じ種類のベクトルがなす角度と
、各任意の点における補間位置とで決まる第2の補正係
数とを第3のベクトル演算手段により乗じて任意の点の
ベクトルを求め、それぞれの演算により求めた各ベクト
ルに基づいて濃淡(=Iけ処理を行なうようにしたもの
である。
Means for Solving the Problems The shading circuit of the CRT display device according to the present invention has the following functions at each vertex of a polygon constituting a three-dimensional plane:
The normalized line-of-sight vector, ray vector, and normal vector are obtained by the first vector calculation means, and the line-of-sight vector, ray vector, and normal vector at two vertices constituting the edge of the polygon are linearly interpolated, respectively. A vector obtained by multiplying the angle formed by the same type of vector at each vertex by a first correction coefficient determined by the interpolation position on the ridge line is obtained by a second vector calculation means and used as a vector on the ridge line, Linearly interpolate vectors on two ridge lines that intersect the scanning plane passing through an arbitrary point on the three-dimensional plane, find the vector at that arbitrary point, and find the same type at the points on the two ridge lines that intersect the scanning plane. The third vector calculation means multiplies the angle formed by the vector by the second correction coefficient determined by the interpolation position at each arbitrary point to obtain the vector at the arbitrary point, and each vector obtained by each calculation is Based on this, shading (=I) processing is performed.

作用 この発明のCRTディスプレイ装置の濃淡付は回路では
、多角形の各頂点における正規化された視線ベクトルと
光線ベクトルと法線ベクトルとを求め、頂点での各ベク
トルと3次元平面の任意の点における各ベクトルを線形
補間して求め、それぞれを補正して多角形の稜線上のベ
クトルおよび3次元平面上の任意の点におけるベクトル
を求めるようにしたので、従来のフAングのシェーディ
ング法のように、稜線上のベクトルおよび3次元平面上
の任意の点のベクトルをそれぞれ正規化する必要はなく
、計11ffiを少なくできる。それによって、濃淡付
けのための高速処理が可能となる。
Function: To add shading to the CRT display device of the present invention, the circuit calculates the normalized line of sight vector, ray vector, and normal vector at each vertex of a polygon, and calculates each vector at the vertex and an arbitrary point on a three-dimensional plane. By linearly interpolating each vector in In addition, there is no need to normalize the vectors on the ridgeline and the vectors at arbitrary points on the three-dimensional plane, and the total number of 11ffi can be reduced. This enables high-speed processing for shading.

発明の実施例 第2図はこの発明の一実施例の概略ブロック図である。Examples of the invention FIG. 2 is a schematic block diagram of an embodiment of the present invention.

第2図にJ3いて、ベクトル演算回路21には、多角形
を表わすベクトルが入力される。このベクトル演算回路
21は、図示していないがCPUとROMとRAMとか
ら構成される。そして、ベクトル演算回路21は与えら
れたベクトルに基づいて、各頂点での正規化された光線
ベクトルと視線ベクトルと法線ベクトルとを求めるもの
である。ベクトル演算回路21によって求めた各ベクト
ルは濃淡付は回路22に与えられる。22は各頂点にお
ける正規化された光線ベクトルと視線ベクトルと法線ベ
クトルとに基づいて、稜線上のベクトルと、3次元平面
における任意の点のベクトルを求めるものである。
At J3 in FIG. 2, a vector representing a polygon is input to the vector calculation circuit 21. Although not shown, this vector calculation circuit 21 is composed of a CPU, ROM, and RAM. Then, the vector calculation circuit 21 calculates a normalized ray vector, line-of-sight vector, and normal vector at each vertex based on the given vector. Each vector obtained by the vector calculation circuit 21 is given to a circuit 22 with shading. 22 calculates a vector on the ridge line and a vector at an arbitrary point on the three-dimensional plane based on the normalized ray vector, line-of-sight vector, and normal vector at each vertex.

さらに、1g1l淡付は回路22は稜線上のべり1〜ル
と任意の点のベク[−ルを線形補間し、輝度計算してフ
レームメモリ23に与える。フレームメモリ23はCR
Tディスプレイ25の画面上における各ドツトに対応し
た記憶領域を有していて、濃淡付は回路22から発生さ
れたデータを記憶する。
Further, the circuit 22 linearly interpolates the edges 1 to 1 on the ridge line and the vector [-] at an arbitrary point, calculates the brightness, and provides the calculated brightness to the frame memory 23. Frame memory 23 is CR
It has a storage area corresponding to each dot on the screen of the T-display 25, and the shading stores the data generated from the circuit 22.

フレームメモリ23に記憶されたデータはディスプレイ
コントローラ24に与えられ、D/△変換によってアナ
ログ信号に変換されかつカラー変換テーブルに基づいて
ビデオ信号に変換され、CRTディスプレイ25に与え
られる。
The data stored in the frame memory 23 is applied to a display controller 24, converted into an analog signal by D/Δ conversion, converted into a video signal based on a color conversion table, and applied to a CRT display 25.

第1図はこの発明の一実施例の具体的な動作を説明する
ためのフロー図であり、第3図はこの発明の一実施例に
おける光源ベクトルと法線ベクトルと視線ベクトルとを
説明するための図であり、第4図は稜線上のベクトルを
線形補間する方法を説明するための図である。
FIG. 1 is a flowchart for explaining the specific operation of an embodiment of this invention, and FIG. 3 is a flow diagram for explaining a light source vector, a normal vector, and a line-of-sight vector in an embodiment of this invention. FIG. 4 is a diagram for explaining a method of linearly interpolating vectors on an edge.

次に、第1図ないし第4図を参照して、この発明の一実
施例のソフト処理によって濃淡付けする方法について具
体的に説明する。まず、ステップ(図示ではSPと略称
する)SPlにおいて、第3図に示びょうに、光源Pお
よび視点Eの座標位置を指定する。ステップSP2にお
いて、ポリゴン5の各頂点51.52.53の座標およ
び各頂点にa5ける法線ベクトルN4.N2 、N−を
濃淡(=Jけ回路21に与える。濃淡付は回路21はス
テップSP3において、各頂点51.52.53のそれ
ぞれにJ54ブる光線ベクトルP、、P2 、P。
Next, with reference to FIGS. 1 to 4, a method for adding shading by software processing according to an embodiment of the present invention will be specifically described. First, in step SPl (abbreviated as SP in the figure), the coordinate positions of the light source P and viewpoint E are designated as shown in FIG. In step SP2, the coordinates of each vertex 51, 52, and 53 of the polygon 5 and the normal vector N4 at a5 to each vertex. N2, N- are given to the shading circuit 21. In step SP3, the shading circuit 21 applies ray vectors P, , P2, P to each of the vertices 51, 52, and 53 respectively.

および視線ベク]−ルE、、E2 、E、を求める。and the line-of-sight vector ]-le E, , E2 , E, are determined.

これらの光線ベクトルP+ 、P2 、P=および視線
ベクトルE3.E2.E3の求め方は従来のフAングの
方法と同じである。
These ray vectors P+, P2, P= and line of sight vector E3. E2. The method for finding E3 is the same as the conventional Fung method.

ステップSP4において、各頂点51,52゜53にお
【プる各ベクトルを頂点間でスキャンラインごとに補間
する。すなわち、頂点51.52とを結ぶ稜線54.頂
点51と53とを結ぶ稜線55 a3よび頂点55と5
3とを結ぶ稜線56上の法線ベクトルNと光線ベクトル
Pと視線ベクトルEを求める。より具体的に説明すると
、たとえば法線へ’) ト)ttN+  (XN + 
、YN + 、ZN + )およびN2 (X−2,Y
N2.Z112)を線形補間したペクト)ttN (X
N 、 YN 、 ZN ) ハ、次ノ第6式から求め
られる。
In step SP4, each vector applied to each vertex 51, 52, 53 is interpolated between the vertices for each scan line. In other words, the ridgeline 54. which connects the vertices 51.52. Ridge line 55 a3 connecting vertices 51 and 53 and vertices 55 and 5
3, a normal vector N, a ray vector P, and a line-of-sight vector E on the ridge line 56 are determined. To explain more specifically, for example, to the normal line') ttN+ (XN +
, YN + , ZN + ) and N2 (X-2, Y
N2. Z112) is linearly interpolated) ttN (X
N, YN, ZN) C. It is obtained from the following equation 6.

ただし、0≦t≦1 このベクトルNの大ぎさIN+は、次の第7式によって
求められる。
However, 0≦t≦1 The magnitude IN+ of this vector N is determined by the following formula 7.

l N I= (X++ 2+Y++ 2+ZN 2)
=(t2 (XN 、2 +YN 、” +ZN −)
+(1j >2(XN 2 ’ +YN 2 ’+ZN
 2 ) +2t  (1t )  (XN+  ・XN2+Y、
、   ・ YN   2   +  ZN   I 
  ・  Z  N  2   )   )  ・・(
7ンN、、N2は単位ベクトルであるから、X  N 
 盲  2  +  YN   1   ’   + 
 Z  N  1   ”   =  Xs   2 
  ’   +  ’1’N22+Zs22=1 、’、1Nl=(t2+(1−t)2 +2t  (1−t  >  <N+  ・ N2 )
)= (1−2t(1−t  )  (1−cos ρ
)1・・・ (8) <11+−02)は法線ベクトルN、とN2の内積であ
るので、(n +  ”n 2 )−1N+  l ・
IN21cosρ−COSρ したがって、線形補間した法線ベクトルNを単位ベクト
ルに直したものをN−とすると、N=−N/IN′l−
N′[1−2t  (1−t )<1−cosρ)) −N′(1+t  (1−t )  (1−cosρ〉
)・・・(9) 0±2t(1−t)≦1/2 ところで、COSρの大きさは、法線ベクトルNl、N
2の成す角度ρで決まり、曲面の分割数によって決まる
値となる。360°の曲面をたとえば10分割した場合
は、ρ−366となるが、通常はもっと分割数が大きい
と考えられるので、ρ≦36°と考えられる。ρ−3,
66とすると、COSρ−0,81となる。一般的に0
.8≦COSρ≦1と考えると、 Q=2t  (1−t )  (1−cos ρ)≦0
.1となり、前述の第(9)式の近似が成立つ。
l N I= (X++ 2+Y++ 2+ZN 2)
=(t2 (XN, 2 +YN, "+ZN -)
+(1j >2(XN 2' +YN 2'+ZN
2) +2t (1t) (XN+ ・XN2+Y,
, ・YN 2 + ZN I
・ Z N 2 ) ) ・・(
Since N2 is a unit vector, X N
Blind 2 + YN 1' +
Z N 1 ” = Xs 2
' + '1'N22+Zs22=1,',1Nl=(t2+(1-t)2 +2t (1-t><N+・N2)
)=(1-2t(1-t)(1-cos ρ
)1... (8) <11+-02) is the inner product of the normal vectors N and N2, so (n + "n 2 )-1N+ l ・
IN21cosρ−COSρ Therefore, if the linearly interpolated normal vector N converted into a unit vector is N-, then N=-N/IN'l-
N'[1-2t(1-t)<1-cosρ)) -N'(1+t(1-t)(1-cosρ>
)...(9) 0±2t(1-t)≦1/2 By the way, the magnitude of COSρ is the normal vector Nl, N
It is determined by the angle ρ formed by 2, and the value is determined by the number of divisions of the curved surface. For example, if a 360° curved surface is divided into 10 parts, the result will be ρ-366, but since the number of divisions is usually considered to be larger, it is considered that ρ≦36°. ρ−3,
66, it becomes COSρ-0.81. Generally 0
.. Considering 8≦COSρ≦1, Q=2t (1-t) (1-cos ρ)≦0
.. 1, and the approximation of the above-mentioned equation (9) is established.

上述の第(9)式における1+t(1−t)(1−co
sρ)は補正係数である。ステップSP5において、こ
の補正係数を線形補間した法線ベクトルN−に乗算する
1+t(1-t)(1-co
sρ) is a correction coefficient. In step SP5, the linearly interpolated normal vector N- is multiplied by this correction coefficient.

稜線54上の光線ベクトルP d5−よび視線ベクトル
Eも同様にして求める。さらに、頂点51と53によっ
て結ばれた稜線55上の法線ベクトル。
The ray vector P d5- on the ridgeline 54 and the line-of-sight vector E are also obtained in the same manner. Further, a normal vector on the edge line 55 connected by the vertices 51 and 53.

光線ベクトル、視線ベクトルも同様にして線形補間によ
って求め、それぞれを補正する。
Similarly, the ray vector and line of sight vector are obtained by linear interpolation, and each is corrected.

次に、ステップ6において、稜線上の補間された2点を
始点、終点として、その2点間のベクトルを補間して求
める。すなわち、このステップSP6においては、ポリ
ゴン5内の3次元平面の任意の点の法線ベクI〜ル、光
線ベクトルおよび視線ベクトルを求める。、すなわら、
たとえば、第4図に示すように、頂点51と52とを結
ぶ稜線54上の補間された点57を始点とし、頂点51
と53とを結ぶ稜線55上の補間された点58を終点と
して、この2点間を線形補間し、法線ベクトルN4.光
線ベクトルP4.視線ベクトルE、を求める。そして、
ステップSP7において、線形補間によって求めた法線
ベクトルN4 、 光線ベクトルP4.視線ベクトルE
4に対して、前述の説明と同様にして、補正係数を乗算
する。ステップSP8において、cos i 、 co
sθを求め、さらに前)ホのようにして補正されたベク
トルをもとにして輝度値を求める。すなわち、輝度値I
はI −IC+A (Bcos i +C(cosθ)
″)・・・(10) で求められるが、cos iは 003 t−Xp  ・Xs +’VP  ”yN十Z
p  °ZNで求められ、COSθは CO3θ=2CO3i  −Z N  Z pで求めら
れる。そして、このようにして求めたCOs i 、 
cosθを上述の第(10)式に代入して輝度値を求め
る。
Next, in step 6, the interpolated two points on the ridge are used as a starting point and an ending point, and a vector between the two points is determined by interpolation. That is, in this step SP6, the normal vector I~, the ray vector, and the line-of-sight vector of an arbitrary point on the three-dimensional plane within the polygon 5 are determined. , that is,
For example, as shown in FIG.
With the interpolated point 58 on the ridge line 55 connecting N4. Ray vector P4. Find the line-of-sight vector E. and,
In step SP7, the normal vector N4, the ray vector P4. line of sight vector E
4 is multiplied by the correction coefficient in the same manner as described above. In step SP8, cos i, co
sθ is determined, and then the brightness value is determined based on the vector corrected as described in (e) above. That is, the brightness value I
is I −IC+A (Bcos i +C(cosθ)
'')...(10) However, cos i is 003 t-Xp ・Xs +'VP ``yN + Z
p °ZN, and COSθ is determined as CO3θ=2CO3i −Z NZ p. Then, COs i obtained in this way,
The brightness value is determined by substituting cos θ into the above equation (10).

ステップSP9において、稜線54上の始点57と稜線
55上の終点58のそれぞれの間の点を補間し終えたか
否かを判別し、終点58までの補間が終了していなけれ
ば、1)tJ述のステップSP6ないしSF3を繰返す
。さらに、ステップ5P10にJ3いて、頂点51と5
2および51と53の間の稜線54および55上の各点
における各ベクトルの線形補間が終えたか否かを判別し
、終えていなければ、前述のステップSP4ないしSF
3を繰返す。このようにして、ポリゴン5の各稜線上お
よび3次元平面の任意の点の輝度値を求めて一連の動作
を終了する。
In step SP9, it is determined whether the interpolation of the points between the starting point 57 on the ridgeline 54 and the ending point 58 on the ridgeline 55 has been completed, and if the interpolation up to the ending point 58 has not been completed, 1) tJ Steps SP6 to SF3 are repeated. Furthermore, J3 is in step 5P10, and vertices 51 and 5
It is determined whether the linear interpolation of each vector at each point on the ridge lines 54 and 55 between 2 and 51 and 53 has been completed, and if it has not been completed, the steps SP4 to SF described above are performed.
Repeat step 3. In this way, the luminance value of each edge of the polygon 5 and any point on the three-dimensional plane is determined, and the series of operations is completed.

第5図はこの発明の他の実施例のブロック図である。こ
の第5図に示した実施例は、ハード回路構成によって濃
淡付けを行なうものである。まず、第5図を参照して、
構成について説明する。バッファ60は前)ホの第3図
に示した光源Pおよび視点Eの座標位置を表わすデータ
を記憶するものである。また、バッファ61はポリゴン
5の頂点座標51.52.53のそれぞれを表わす座標
(XS I + ’/ S l ・Z S + > +
  (x52 + V S 2 + Z、2)および(
Xsa、Vs3.Zs3)を記憶する。さらに、バッフ
ァ62は各頂点における法線ベクトルNl 、NZ、N
、のベクトル値(XNS11’l’N11IIZNSI
>l  (XNs2.VNS21ZN52)および(X
Nsy+Yqsy+ZNS3)をそれぞれ記憶する。バ
ッファ60に記憶された光源および視点位置を表わすデ
ータとバッフ761に記憶された頂点を表わすデータは
△L U 63に与えられる。
FIG. 5 is a block diagram of another embodiment of the invention. In the embodiment shown in FIG. 5, shading is performed using a hardware circuit configuration. First, referring to Figure 5,
The configuration will be explained. The buffer 60 stores data representing the coordinate positions of the light source P and viewpoint E shown in FIG. The buffer 61 also stores coordinates (XS I + '/S l ・Z S + > +
(x52 + V S 2 + Z, 2) and (
Xsa, Vs3. Zs3) is stored. Furthermore, the buffer 62 stores the normal vectors Nl, NZ, N
, the vector value (XNS11'l'N11IIZNSI
>l (XNs2.VNS21ZN52) and (X
Nsy+Yqsy+ZNS3) are stored respectively. The data representing the light source and viewpoint position stored in the buffer 60 and the data representing the vertex stored in the buffer 761 are provided to ΔL U 63.

ALU63は、与えられた。データに基づいて、光線ベ
クトルP、、P2 、P、を表わすデータ<Xp+、V
p+、Zp   I  )  、    (XP2.V
F6゜ZP2)および(Xp 31VP 31ZP 、
)を求めるとともに、視線ベクトルE1.E2 、E−
を表わすデータ(Xi++’/E+、ZEl)、(Xε
2 r V E 2 + Zε2)および(Xε3 +
 V E 3 *7E、)をそれぞれ求める。ALU・
割算器64は各頂点51,52.53の間を補間するた
めに、各稜線54,55.56の傾きを演算するもので
ある。DDA65はバッフ761に記憶された内容と△
L U −!’1算器64によって求められた傾きとに
基づいて、頂点間の座標を補liJするものである。同
様にして、DDA66は頂点間の法線ベクトルを補間す
るものであり、DDA67は頂点間の光線ベク!〜ルを
補間するものであり、DDA68は頂点間の視碑ベクト
ルを補間するものである。
ALU63 was given. Based on the data, data representing the ray vectors P,,P2,P,<Xp+,V
p+, Zp I), (XP2.V
F6゜ZP2) and (Xp 31VP 31ZP,
), and the line-of-sight vector E1. E2, E-
Data representing (Xi++'/E+, ZEl), (Xε
2 r V E 2 + Zε2) and (Xε3 +
V E 3 *7E,) are determined respectively. ALU・
The divider 64 calculates the slope of each edge line 54, 55.56 in order to interpolate between each vertex 51, 52.53. DDA65 is the content stored in buffer 761 and △
LU-! The coordinates between the vertices are compensated based on the slope determined by the 1 calculator 64. Similarly, DDA66 interpolates normal vectors between vertices, and DDA67 interpolates ray vectors between vertices! The DDA 68 interpolates visual monument vectors between vertices.

すなわち、DDA66ないし68はそれぞれ法線ベクト
ルN、光線ベクトルP、視線ベクトルEをそれぞれ補間
することによって、各ベタ1〜ルの稜線上にお(プる始
点ベクトルと終点ベクトルとを求める。
That is, the DDAs 66 to 68 interpolate the normal vector N, the ray vector P, and the line-of-sight vector E, respectively, to obtain a starting point vector and an ending point vector on the ridgeline of each solid.

ALU・乗算器70ないし72は前述の説明のように、
1+t  (1−t )  (1−cosρ)の補正係
数に基づいてDDA66ないし68の出力に対して補正
するものである。A L U・割算173はポリゴン5
の3次元平面における任意の点の座標を補間するために
、稜線54上の始点と稜線55上の終点とを結ぶ線分の
傾きを′atlするものである。ALU・割算器73に
よって求められた傾きはDDA 77に与えられる。D
DA77はDDA65によって補間された頂点間の座標
に、ALU・割算器73によって求められた傾きを加算
して、ポリゴン5における3次元平面の任意の点の座標
をフレームメモリ制御部86に与える。
As explained above, the ALU/multipliers 70 to 72 are
The outputs of the DDA 66 to 68 are corrected based on a correction coefficient of 1+t (1-t ) (1-cos ρ). ALU・Division 173 is polygon 5
In order to interpolate the coordinates of an arbitrary point on the three-dimensional plane, the inclination of the line segment connecting the starting point on the ridgeline 54 and the ending point on the ridgeline 55 is 'atl'. The slope determined by the ALU/divider 73 is provided to the DDA 77. D
The DA 77 adds the inclination determined by the ALU/divider 73 to the coordinates between the vertices interpolated by the DDA 65, and provides the coordinates of an arbitrary point on the three-dimensional plane in the polygon 5 to the frame memory control unit 86.

A L U・割算器74は稜線54上における始点と稜
線55上における終点を補間し、法線ベクトルNの傾ぎ
を求めるものである。このALU・割算器74によって
求められた傾きはDDA78に与えられる。DDA78
はALU・乗算器70によって補間された頂点間の法線
ベクトルNに、ALU−割算器74によっ求められた傾
きを加算し、平面上の任意の点における法線ベクトルN
を補間するものである。
The ALU divider 74 interpolates the starting point on the edge line 54 and the ending point on the edge line 55 to find the slope of the normal vector N. The slope determined by this ALU/divider 74 is given to the DDA 78. DDA78
adds the slope determined by the ALU-divider 74 to the normal vector N between vertices interpolated by the ALU-multiplier 70, and calculates the normal vector N at any point on the plane.
It interpolates.

ALU・割算器75は光線ベクトルPの始点と終点とに
基づいてその傾きを求めるものである。
The ALU/divider 75 determines the slope of the ray vector P based on its starting point and ending point.

DDA79はALU・乗算器71によって補間された頂
点間の光線ベクトルPに傾きを加算する。
The DDA 79 adds the slope to the ray vector P between the vertices interpolated by the ALU/multiplier 71.

ALU・割算器76は始点と終点とに基づいて視線ベク
トルEの傾きを求め、DDA80は補間されたIQ点点
間視線ベクトルEに傾きを加算する。
The ALU/divider 76 calculates the slope of the line-of-sight vector E based on the start point and the end point, and the DDA 80 adds the slope to the interpolated IQ point-to-point line-of-sight vector E.

A L U・乗n器82は平面上の任意の点における法
線ベクトルNを補正するものであり、ALU・乗算器8
3は同じく光線ベクトルPを補正するものであり、AL
U・乗算器84は視線ベクトルEを補正するものである
。ALU・乗口器85は△Ill・乗算器82ないし8
4によってそれぞれ補正されたベクトルに基づいて、輝
度を演算し、フレームメモリ制御部86に与える。フレ
ームメモリ制御部86はA L tJ・乗算器85によ
って演算されたRi度に基づいて、DDA77から与え
られる座標のai度を制御して、フレームメモリ87に
与える。
The ALU/multiplier 82 corrects the normal vector N at any point on the plane.
3 also corrects the ray vector P, and AL
The U multiplier 84 corrects the line-of-sight vector E. ALU/multiplier 85 is △Ill/multiplier 82 to 8
The luminance is calculated based on the vectors each corrected by 4, and is provided to the frame memory control unit 86. The frame memory control unit 86 controls the ai degree of the coordinate given from the DDA 77 based on the Ri degree calculated by the A L tJ multiplier 85 and provides it to the frame memory 87 .

次に、動作について説明する。バッファ60には、光r
Ap、視点Eのそれぞれの座標位置を表わすデータが記
憶され、バッファ61には、頂点51.52.53のそ
れぞれの座標(Xs+、Vsl、25+)1  (X5
2.VS2,252)および(Xs3.Vs3+Zs、
)が記憶され、バッファ62には、各頂点51.52.
53におりる法線ベクトルN+ 、N2 、Naのそれ
ぞれを表わすデータ(XNI、VNl、ZNI)(XN
2゜V N z、Zh  2 )、  (Xv  3 
、V N s、Z N a)が記憶される。
Next, the operation will be explained. The buffer 60 contains light r.
Data representing the respective coordinate positions of Ap and viewpoint E are stored, and the buffer 61 stores data representing the respective coordinate positions of vertices 51, 52, and 53 (Xs+, Vsl, 25+)1 (X5
2. VS2, 252) and (Xs3.Vs3+Zs,
) are stored in the buffer 62, and each vertex 51, 52 .
Data (XNI, VNl, ZNI) (XN
2゜V N z, Zh 2 ), (Xv 3
, V N s, Z N a) are stored.

ALLI63はバッフ760.61の内容に基づいて、
各頂点における光線ベクトルP= 、P2 。
ALLI63 is based on the contents of buffer 760.61,
Ray vector P= , P2 at each vertex.

P、を表わすデータ(XP + 、 Vp + 、、Z
p + )。
Data representing P (XP + , Vp + , , Z
p+).

(XP21VP21ZP2>l  (Xps*Vp3*
ZP3)と、視線ベクトルE、、E2.E、を表わすデ
ータ(XE+、Vg++Zg+)、(XI=2、VE2
.ZE2)、(Xtz、Vts、ZI:3)を求める。
(XP21VP21ZP2>l (Xps*Vp3*
ZP3) and line-of-sight vectors E, , E2. Data representing E (XE+, Vg++Zg+), (XI=2, VE2
.. ZE2), (Xtz, Vts, ZI:3) are determined.

ALtJ・割算器64には、ALU63の演算結果と、
バッファ’61.62のそれぞれの内容が与えられる。
The ALtJ/divider 64 receives the calculation result of the ALU 63,
The respective contents of buffer '61.62 are given.

AL(J−割算器64はコントローラ69からの制御に
基づいて、頂点51゜52.53をそれぞれ結ぶ稜線5
4.55.56の傾きΔ×、 Δy、 Δ2と、法線ベ
タ1−ルN、。
Based on the control from the controller 69, the AL (J-divider 64 calculates the edge line 5 that connects the vertices 51, 52, and 53, respectively.
4.55.56 slopes Δx, Δy, Δ2, and the normal plane 1-N.

N2.N3の傾き△XN、△VN、△zNと、光線ベク
トルP、、P2.P3の傾きΔxP、ΔyP、ΔZP 
と、視線ベクトルE、、E2.E、の傾きΔ×7.ΔV
 E+Δ2ξを求める。
N2. The slopes △XN, △VN, △zN of N3 and the ray vectors P, , P2 . Slope of P3 ΔxP, ΔyP, ΔZP
and line-of-sight vector E, ,E2. E, slope Δ×7. ΔV
Find E+Δ2ξ.

DDA65はバッフ761に記憶されている各頂点51
.52.53の座標(Xs++Vs+。
DDA65 is each vertex 51 stored in buffer 761
.. 52.53 coordinates (Xs++Vs+.

Zs+ )、(Xs2.Vsz、Zs2)、(Xs3 
t V S 3 r Z S 3 )に傾きΔX、 Δ
y、 ΔXを加算して各頂点51.52.53の間を補
間する。
Zs+ ), (Xs2.Vsz, Zs2), (Xs3
t V S 3 r Z S 3 ), the slope ΔX, Δ
y and ΔX are added to interpolate between each vertex 51, 52, and 53.

それによって、たとえば稜線54上の始点57と稜線5
5上の終点58とを求める。
Thereby, for example, the starting point 57 on the ridgeline 54 and the ridgeline 5
The end point 58 on 5 is determined.

DDA66はバッフ?62に記−憶されている法線ベク
トルN、、N2.N、のそれぞれの座標に傾き△XN、
ΔVn、ΔZNを加算し、ざらに、ALU・乗算器70
によってベクトル補正を行なって、各法線ベクトルの始
点と終点とを求める。
Is DDA66 a buff? The normal vectors N, , N2 . For each coordinate of N, the slope △XN,
Add ΔVn and ΔZN, roughly, ALU/multiplier 70
Vector correction is performed by , and the starting point and ending point of each normal vector are determined.

DDA67は同様にして、各法線ベクトルに対して、傾
き△xP、ΔVp、ΔZpを加算し、さらにALU・乗
算器71によってベクトル補正を行ない、光線ベクトル
Pの始点と終点とを求める。
Similarly, the DDA 67 adds the slopes ΔxP, ΔVp, and ΔZp to each normal vector, and further performs vector correction using the ALU/multiplier 71 to determine the starting point and ending point of the ray vector P.

DDA68は、各視線ベクトルに傾きΔxE r△VE
、ΔzI:を加算し、ALU−乗算器72はベクトル補
正を行なって、視線ベクトルEの始点と終点とを求める
DDA68 has a slope ΔxE rΔVE for each line-of-sight vector.
, ΔzI:, and the ALU-multiplier 72 performs vector correction to determine the starting point and ending point of the line-of-sight vector E.

ALU・割算器73は各稜線上の始点と終点とを結ぶ線
分の傾ぎΔ×′、Δy′、ΔZ′を求め、DDA77に
与える。DDA77はDOA65によって求められた各
始点と終点に傾きを加算して、ポリゴン5の平面上の座
標x、y、zを求めてフレームメモリ制御部86に与え
る。一方、ALU・割算器74は平面上の点における光
線ベクトルの傾きΔ×N′、ΔyN ’ lΔZN’ 
を求めて、0DA78に与える。0DA78はALU・
乗算器70によって求められた法線ベクトルの始点と終
点に傾きΔxN′、ΔyN′、ΔZN’ を加算し、平
面上の点における法線ベクトルNの補間を行なう。DD
A79も同様にして、光線ベクトルPの始点と終点に傾
きΔ×P′、ΔVp’、Δ2P′を加算して、光線ベク
トルPの補間を行ない、DDA80は8A線ベクトルE
の始点と終点に傾き△Xε′、Δyε′、ΔzE′を加
算して視線ベクトルEの補間を行なう。
The ALU/divider 73 determines the slopes Δx', Δy', and ΔZ' of the line segments connecting the starting point and the ending point on each edge, and provides them to the DDA 77. The DDA 77 adds the inclination to each start point and end point determined by the DOA 65 to determine the coordinates x, y, and z of the polygon 5 on the plane, and provides the coordinates x, y, and z of the polygon 5 to the frame memory control unit 86 . On the other hand, the ALU/divider 74 calculates the slope of the ray vector at a point on the plane Δ×N', ΔyN'lΔZN'
Find it and give it to 0DA78. 0DA78 is ALU・
Slopes ΔxN', ΔyN', and ΔZN' are added to the starting and ending points of the normal vector determined by the multiplier 70, and the normal vector N at the point on the plane is interpolated. DD
A79 also interpolates the ray vector P by adding the slopes Δ×P', ΔVp', and Δ2P' to the start and end points of the ray vector P, and the DDA80 calculates the 8A ray vector E.
The line-of-sight vector E is interpolated by adding the slopes ΔXε', Δyε', and ΔzE' to the starting point and ending point.

そして、ALU・乗算器82ないし84は、法線ベクト
ルN、光線ベクトルP、視線ベクトルEをそれぞれベク
トル補正し、ALU・乗算器85は補正された各ベクト
ルに基づいて、輝度の演算を行なって求めた輝度をフレ
ームメモリ制御部86に与える。フレームメモリ制御部
86は演算された輝度に基づいて、DDA77で指定さ
れる座標の輝度を制御し、フレームメモリ87に与える
Then, the ALU/multipliers 82 to 84 respectively correct the normal vector N, the ray vector P, and the line-of-sight vector E, and the ALU/multiplier 85 calculates the brightness based on each corrected vector. The determined brightness is given to the frame memory control section 86. The frame memory control unit 86 controls the brightness of the coordinates designated by the DDA 77 based on the calculated brightness, and provides it to the frame memory 87.

そして、フレームメモリ87に記憶された濃淡付けされ
た画像データがCRTディスプレイに表示される。
The shaded image data stored in the frame memory 87 is then displayed on the CRT display.

発明の効果 以上のように、この発明によれば、多角形の各頂点にお
ける正規化された視線ベクトルと光線ベクトルと法線ベ
クトルとを求め、頂点での各ベクトルと3次元平面の任
意の点における各ベクトルを線形補間して求め、それぞ
れを補正して多角形の稜線上のベクトルおよび平面上の
任意の点におけるベクトルを求めるようにしたので、従
来のフオングのシェーディング法のように稜線上のベク
トルおよび3次元平面上の任意の点のベクトルをそれぞ
れ正JM化する必要がなくなる。したがって、計n1を
少なくでき、高速処理が可能となる。
Effects of the Invention As described above, according to the present invention, the normalized line-of-sight vector, ray vector, and normal vector at each vertex of a polygon are obtained, and each vector at the vertex is calculated from an arbitrary point on a three-dimensional plane. By linearly interpolating each vector in There is no need to convert each vector and the vector at an arbitrary point on a three-dimensional plane into positive JM. Therefore, the total number n1 can be reduced and high-speed processing becomes possible.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はこの発明の一実施例の動作を説明づるためのフ
ロー図である。第2図はこの発明の一実施例の概略ブロ
ック図である。第3図はこの発明の一実施例における光
線ベクトルと法線ベクトルと視線ベクトルとを説明する
ための図である。第4図は稜線上のベクトルを線形補間
する方法を説明するための図である。第5図はこの発明
の他の実施例のブロック図である。第6図および第7図
は従来のCRTディスプレイ装置によるm淡付けの原理
を説明するための図である。第8図はS淡付【ブのため
の法ねベクトルの求め方を説明するための図である。第
9図は光線ベクトルと法線ベクトルと視線ベクトルとを
説明するための図である。 図において、21は濃淡付は回路、22はDDA、23
はフレームメモリ、24はディスプレイコントローラ、
25はCRTディスプレイ、60゜61.62はバッフ
ァ、63はALU、64,73ないし76はALIJ・
割算器、65ないし68゜77ないし80はDDA、7
0ないし72.82ないし85はALU・乗算器、86
はフレームメモリ制御部、87はフレームメモリを示す
。 (ほか2名) 芥7目 f3 G 介9図 反
FIG. 1 is a flow diagram for explaining the operation of an embodiment of the present invention. FIG. 2 is a schematic block diagram of an embodiment of the present invention. FIG. 3 is a diagram for explaining a ray vector, a normal vector, and a line-of-sight vector in one embodiment of the present invention. FIG. 4 is a diagram for explaining a method of linearly interpolating vectors on an edge. FIG. 5 is a block diagram of another embodiment of the invention. FIGS. 6 and 7 are diagrams for explaining the principle of m-shading in a conventional CRT display device. FIG. 8 is a diagram for explaining how to obtain the normal vector for S tanzuki. FIG. 9 is a diagram for explaining a ray vector, a normal vector, and a line-of-sight vector. In the figure, 21 is a circuit with shading, 22 is a DDA, and 23 is a circuit.
is frame memory, 24 is display controller,
25 is a CRT display, 60°61.62 is a buffer, 63 is an ALU, 64, 73 to 76 are ALIJ.
Divider, 65 to 68° 77 to 80 is DDA, 7
0 to 72.82 to 85 are ALU/multiplier, 86
87 represents a frame memory control unit and a frame memory. (2 others) Akuta 7th f3 G Kai 9th figure counter

Claims (1)

【特許請求の範囲】 CRTディスプレイ装置において、3次元平面および3
次元曲面を平面で近似する場合に前記3次元平面を濃淡
付け処理する濃淡付け回路であつて、 前記3次元平面を構成する多角形の各頂点において正規
化された視線ベクトルと、光線ベクトルと、法線ベクト
ルとを求める第1のベクトル演算手段と、 前記多角形の稜線を構成する2つの頂点での視線ベクト
ルと光線ベクトルと法線ベクトルとをそれぞれ線形補間
して求め、各頂点における同じ種類のベクトルがなす角
度と、前記稜線上での補間位置とで決まる第1の補正係
数とを乗じたベクトルを求めて、稜線上のベクトルとす
る第2のベクトル演算手段と、 前記3次元平面上の任意の点を通る走査平面と交差する
2つの稜線上のベクトルを線形補間して当該任意の点に
おけるベクトルを求め、走査平面と交差する2つの稜線
上の点における同じ種類のベクトルがなす角度と、前記
各任意の点での補間位置とで決まる第2の補正係数とを
乗じたベクトルを求め、各任意の点のベクトルとする第
3のベクトル演算手段と、 前記第1,第2および第3のベクトル演算手段によって
求めた各ベクトルに基づいて、濃淡付け処理を行なう濃
淡付け処理手段とを備えた、CRTディスプレイ装置の
濃淡付け回路。
[Claims] In a CRT display device, a three-dimensional plane and a three-dimensional
A shading circuit that performs shading processing on the three-dimensional plane when a dimensional curved surface is approximated by a plane, the shading circuit comprising: a line-of-sight vector normalized at each vertex of a polygon constituting the three-dimensional plane, and a ray vector; a first vector calculation means for calculating a normal vector; a second vector calculation means that calculates a vector obtained by multiplying the angle formed by the vector by a first correction coefficient determined by the interpolation position on the ridgeline, and uses the vector as a vector on the ridgeline; Find the vector at the arbitrary point by linearly interpolating the vectors on the two ridge lines that intersect with the scanning plane passing through an arbitrary point of and a second correction coefficient determined by the interpolation position at each arbitrary point. A shading circuit for a CRT display device, comprising shading processing means for performing shading processing based on each vector obtained by the third vector calculation means.
JP19249785A 1985-08-30 1985-08-30 Various density giving circuit for crt display device Pending JPS6252684A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19249785A JPS6252684A (en) 1985-08-30 1985-08-30 Various density giving circuit for crt display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19249785A JPS6252684A (en) 1985-08-30 1985-08-30 Various density giving circuit for crt display device

Publications (1)

Publication Number Publication Date
JPS6252684A true JPS6252684A (en) 1987-03-07

Family

ID=16292288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19249785A Pending JPS6252684A (en) 1985-08-30 1985-08-30 Various density giving circuit for crt display device

Country Status (1)

Country Link
JP (1) JPS6252684A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302068A (en) * 1991-03-29 1992-10-26 Fujitsu Ltd Image quick drawing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302068A (en) * 1991-03-29 1992-10-26 Fujitsu Ltd Image quick drawing device

Similar Documents

Publication Publication Date Title
US7158138B1 (en) System and method for drawing and painting with warped bitmap brushes
US4709231A (en) Shading apparatus for displaying three dimensional objects
US4943938A (en) System for displaying shaded image of three-dimensional object
JP3030485B2 (en) Three-dimensional shape extraction method and apparatus
US7542033B2 (en) Method and program for generating a two-dimensional cartoonish picturization of a three-dimensional object
US5295199A (en) Image transforming apparatus and method
US6774896B2 (en) Method and apparatus for generating image data by modulating texture data with color data and brightness data
US4899295A (en) Video signal processing
US5864639A (en) Method and apparatus of rendering a video image
US5280569A (en) Three dimensional model describing method
US5880735A (en) Method for and apparatus for transparency conversion, image processing system
JP2973573B2 (en) Image conversion device
JP3035571B2 (en) Image processing device
JPS6252684A (en) Various density giving circuit for crt display device
JPH05298460A (en) Device for expressing shell quality sense
JPS62186373A (en) Display processing system
JPH09311954A (en) Three-dimensional graphic display system and method
Nishita et al. A new radiosity approach using area sampling for parametric patches
JPH06259571A (en) Image synthesizer
JPH0345427B2 (en)
JPS63237172A (en) Method and device for color change of color picture
JPH08279057A (en) Emphasis display device for outline and ridge of three-dimensional graphic
JP2001084405A (en) Method for forming polygon picture and picture processor using it
JP2000057372A (en) Image processor, image processing method and storage medium
JP3612239B2 (en) Image generating apparatus and recording medium