JPH03667B2 - - Google Patents

Info

Publication number
JPH03667B2
JPH03667B2 JP61140392A JP14039286A JPH03667B2 JP H03667 B2 JPH03667 B2 JP H03667B2 JP 61140392 A JP61140392 A JP 61140392A JP 14039286 A JP14039286 A JP 14039286A JP H03667 B2 JPH03667 B2 JP H03667B2
Authority
JP
Japan
Prior art keywords
line
matrix
points
ray
coordinates
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.)
Expired - Lifetime
Application number
JP61140392A
Other languages
English (en)
Other versions
JPS6210776A (ja
Inventor
Emetsuto Kerii Robaato
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6210776A publication Critical patent/JPS6210776A/ja
Publication of JPH03667B2 publication Critical patent/JPH03667B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Exposure And Positioning Against Photoresist Photosensitive Materials (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明は3次元表面の2次元像を表わす表面線
図を表示手段において表示する方法に関する。 B 従来技術 アイ・ビー・エム・テクニカル・デイスクロジ
ヤ・ブリテン(IBM Technical Disclosure
Bulletin)Vol.21,No.4、1978年9月号の第1715
及び1716頁には、コンピユータ制御により3次元
物体の像を表示する際に、奥行き及び方向の感じ
がでるように2つの線の交差点付近で一方の線を
部分的に消去したり、隠線を完全に消去したりす
ることが開示されている。 アイ・イー・イ・イー・コンピユータ・グラフ
イツクス・アプリケーシヨン(IEEE Computer
Graphics Appl.)Vol.4,No.6、1984年6月号の
第11乃至23頁には、3次元像の処理において3角
形を利用して隠れた面を消去するアンゴリズムが
開示されている。 C 発明が解決しようとする問題点 従来技術は、3次元表面の2次元像を表わす表
面線図に関して隠線を消去するためには適してい
ないし、又、複雑である。 D 問題点を解決するための手段 本発明は、3次元表面の2次元像を表わす表面
線図を表示する際に隠線を消去することのできる
表示方法を意図しており、概略的に言つて次のス
テツプイ乃至ニとり成る。 (イ) 3次元表面の選択された複数の点のX,Y,
Z座標を第1のマトリツクスとして記憶する。 (ロ) 同一のY座標を有する複数の点を通る線をX
線とし、同一のX座標を有する複数の点を通る
線をY線とし、且つ隣り合う2つのX線によつ
て区分されるY線の部分をY線部分として定義
し、X線及びY線部分を交互に引く(表示す
る)ための動作順序に合わせて第1のマトリツ
クス内の座標を配列し直して第2のマトリツク
スとする。 (ハ) Z軸及びY軸の回りの回転による座標変換操
作によつて第2のマトリツクス内の座標を変換
し第3のマトリツクスとする。 (ニ) 第3のマトリツクスを用いて表示手段におい
てX線を引く動作とY線部分を引く動作とを交
互に行い、その際に、最初のX線と相次ぐX線
との間に規定する禁止領域では線引きを禁止す
る。 E 実施例 第3図は3次元表面の2次元像を表わす表面線
図の1例である。この図は本発明に従つて描かれ
たものであり、全ての隠線が消去されているの
で、見る者に対して3次元的印象与える。 第2図はX軸、Y軸、Z軸と共に表面線図の別
の例を示している。この場合、隠線が全て表示さ
れているので、3次元的印象は弱められている。 第1図は第2図の表面線図中の隠線を本発明に
従つて全て消去したものを示している。X軸に平
行な線をX線と称し、Y軸に平行な線をY線と称
する。 複数のX線は線X1,X3…Xnとして示され
ており、複数のY線は線Y1,Y2…Ynとして
示されている。この図の場合、n=20である。複
数のX線は各Y線をn−1個の部分に区分してい
る。例えば、第1のY線Y1は、部分△Y11,
△Y12,…△Y1nに区分されており、第2の
Y線Y2は、部分△Y21,△Y22…△Y2n
に区分されている。同様に、最後のY線Ynは部
分△Yn1,△Yn2…△Ynnに区分されている。
これらの部分をY線部分と称する。 第1図の表面線図を表示するための本発明の実
施例は次の動作シーケンスから成る。 (1) X線とY線との全ての交点のX,Y,Z座標
をマトリツクスに記憶する。 (2) Z軸を中心とする所定角度αの座標回転によ
りマトリツクス内のデータを修正する。 (3) マトリツクス内の修正済のデータを、X軸を
中心とする所定角度βの座標回転により更に修
正する。 (4) マトリツクス内の修正済のデータを用いて第
1のY線Y1を引く。 (5) マトリツクス内の修正済のデータを用いて第
1のX線X1を引く。 (6) Y線部分△Y21,△Y31…△Yn1を引
く。 (7) 線X2を引く。 (8) 線X1を下位境界線として定義し、線X2を
上位境界線として定義する。上位境界線と下位
境界線との間の領域を禁止領域として定義す
る。禁止領域は、その中で線を引くことを禁止
する領域である。 (9) Y線分△Y22,△Y32…△Yn2を引く。 (10) X線X3を引き、このX3によつて上位境界
線を修正する。 (11) 前述の様に複数のY線部分を引く動作及び
X線を引く動作を交互に行う。その際、新たに
引くX線によつて上位境界線、ひいては禁止領
域を修正する。 第4図及び第5図は25個の点から成る表面線図
であつて、隠線を消去したものと隠線を含むもの
とを示している。第5図において、第1のX線は
点A1乃至5を通る線である。同様に第2のX線
は点B1乃至B5を通り、第3のX線は点C1乃
至C5を通り、第4のX線は点D1乃至D5を通
り、第5のX線は点E1乃至E5を通る。 又、第1のY線は点A1,B1,C1,D1,
E1を通り、第2のY線は点A2,B2,C2,
D2,E2を通り他のY線も図示のとおりであ
る。点B2−B3間のX線部分と点C2−C3間
のX線部分との交点はC23で示され、点B4−
B5間のX線部分と点C4−C5間のX線部分と
の交点はC45で示されている。 第5図における複数の点の座標は本文末尾に第
1表として記載したZマトリツクスの示されてい
る。例えば、第5図中の点A1の座標はX=4,
Y=1,Z=10であり、点A2の座標はX=5,
Y=1,Z=10である。 次に、Zマトリツクス中の座標を第2表に示す
様に線引き動作順序に従つて配列し直す。第2表
において、動作コード0は、関連する座標によつ
て指定された点について動作を行わないことを示
す。一方、動作コード101は前の点から関連す
る座標によつて指定された点まで線を引くことを
示す。 第2表の行1乃至5の内容は前述の様にA1か
らB1,C1,D1,E1を通るY線を引くこと
を示し、行6の内容は線を引くとなくE1からA
1へ戻ることを示している。 行7乃至10の内容はA1乃至A5をつなぐ第
1のX線を引く動作を示す。行11乃至18の内
容はA2−B2間、A3−B3間、A4−B4間
及びA5−B5間のY線部分を順次引く動作を示
す。行19乃至23の内容はB1乃至B5をつな
ぐ第2のX線を引く動作を示す。残りの行の内容
は、同様にX線部分を引く動作とX線を引く動作
とを交互に行うことを示している。 但し、第2表のマトリツクスの作成の際には、
動作順序が定められるだけで、実際の線引き動作
は行われない。 次に、方位の変換のために、下記の式に従つて
第2表における座標を変換して第3表を得る。 新X=0.833(X−3) 新Y=0.833Y 新Z=0.0938Z 次に、Z軸の回りの回転により第3表の座標を
変換する。第4表はZ軸の回りの角度α=15゜の
回転により変換を行つた結果の座標を表わしてい
る。 更に、X軸の回りの回転により第4表の座標を
変換摺る。第5表はX軸の回りの角度β=65゜の
回転により変換を行つた結果の座標を表わしてい
る。 次に、3次元表面の2次元像を得るためにX−
Y平面への投影により座標を変換する。この変換
は、単に第5表における全てのZ座標を除去する
だけでよい。 最後の操作は下記の式に従つて原点移動及び大
きさ変換を行うことである。 新X=MX+XO 新Y=MY+YO これらの式においてXO及びYOX及びY方向に
おける原点の移動距離を表わし、Mは倍率を表わ
す。この様な操作を必要とする理由は、表面図を
表示手段の座標系に合わせるためである。第6表
は第5表の座標値についてXO=1312.3,YO=
370.0,M=414.6として変換を行つた結果を表わ
している。但し、小数点以下の数値は4捨5入し
てある。 第6表は第5図の表面線図を表示装置において
描くために用いられる最後のマトリツクスを表わ
している。但し、第5図の表面線図は全ての隠線
(破線で図示されている)を含んでいる。第6図
及び第7図に関連して説明する技法を用いて全て
の隠線を除去することにより第4図の表面線図が
得られる。 第6図に示す様に先ずA1,B1,C1,D
1,E1を通る第1のY線を引き、続いてA1,
A2,A3,A4,A5を通る第1のX線を引
く。そして、U1,U2,E1,D1,C1,B
1,A1,A2,A3,A4,A5,U3,U4
を通る上位境界線を定める。同様に、L1,L
2,E1,D1,C1,B1,A1,A2,A
3,A4,A5,L3,L4を通る下位境界線を
定める。なお、上位境界線における点U1,U
2,U3,U4は表示装置の座標系において十分
に低い座標値を有するように選定し、下位境界線
における点L2,L2,L3,L4は十分に高い
座標値を有する様に選定する。 第6表のマトリツクスの行1乃至10によつて
示される動作を終了した段階においては、上位境
界線と下位境界線とはE1からA5まで互いに重
なつている。次に行11乃至18の動作を終了す
るとき、上位境界線をU1,U2,E1,D1,
C1,B1,A1,A2′,B2,A2,A3′,
B3,A3,A4′,B4,A4,A5′,B5,
A5,U3,U4を通るように修正する。なお、
第6図におけるA2′,A3′,A4′,A5′は実
際にはA2,A3,A4,A5と一致しているも
のであるが、説明の便宜上異なつた位置に示して
ある。この様に上位境界線はY線部分に応じたス
パイクを有する。行19乃至23の動作の終了段
階において、上位境界線を第7図に示されている
ように、U1,U2,E1,D1,C1,B1,
B2,B3,B4,B5,A5,U3,U4を通
る様に修正する。下位境界線は不変である。こう
して上位境界線と下位境界線との間の領域、即ち
A1,B1,B2,B3,B4,B5,A5,A
4,A3,A2,A1をつなぐ線によつて囲まれ
た領域を禁止領域として設定する。(禁止領域情
報を記憶手段によつて記憶しておく)禁止領域は
動作の進行につれて次第に拡大する。 次に、第6表、ひいては第2表の行25の動作
について考察すると、これは第5図B2からC2
までの線を引くものである。この線は禁止領域内
に入つていないので、引くことができる。次の行
26はC2からB3へのジヤンプを指示してい
る。行27はB3はC3へ線を引く動作を示して
いる。第5図から分かる様に、この線は禁止領域
内に存在するので、破線で示してある。即ち、こ
の線は穏線であり、実際には表示されてないので
ある。 行29の動作に関係するB4−C4間の線も隠
線である。行30の動作に関係するB5−C5間
の線は禁止領域内に入つていないので、引くこと
ができる。 行33乃至36に従つて次のX線を引く動作の
終了時に、上位境界線はC1とB5との間でC
2,C23,B3,B4,C45,C5を通る様
に修正される。C23,C45はそれぞれ2つの
線の交点を表わしている。第5図から分かる様
に、C2−C3間の線については、C2からC2
3までの部分だけを引き、C23からC3までの
部分を消去する。同様に、C4−C5間の線につ
いては、C4からC45までの部分を消去し、C
45からC5までの部分だけを引く。 C23−C3間及びC4−C45間に存在する
様な部分的隠線を消去するための技法は次のとお
りである。 先ず、一般的に2点間に線を引くことは、非常
に短い線分を順次引くための複数の歩進的動作ス
テツプによつて達成される。例えばC1−C2間
において数百個の歩進的動作ステツプが必要であ
る。そして、各ステツプ毎に引くべき線分が禁止
領域内に入つているか否かどうかの判断を行う。
C1からC3へ向かう線を引く場合C2−C23
間では、各ステツプ毎に禁止領域外にあることが
確認されるが、C23を越えると、禁止領域内に
あることが検出される。 第8図は、B2からC2へ向かう線を引く動作
とC2からC3へ向かう線を引く動作を詳しく説
明するための図である。B2−C3間の線とX軸
とが成す角度aが図示の如く45゜より大きい場合、
線は、長さsでX軸に直角な複数の線分10のつ
ながりとして描かれる。一方、C2−C3間の線
の様に、線とX軸とが成す角度bが図示の如く
45゜より小さい場合には、線は、長さrでX軸に
平行な複数の線分11のつながりとして描かれ
る。この様な動作はAPLプログラム言語によつ
て容易に記述することができる。 前述の第4表及び第5表に関する座標変換のた
めの回転角度α及びβは任意に選定可能である。
Z軸の回りの回転角度αが45゜より大きい場合に
は、X座標とY座標に関する線引き動作の規則を
交換する必要がある。即ち、動作順序は次の様に
なる。 (1)第1のX線を引く。 (2)第1のY線を引く。 (3)第1群のX線部分を引く。 (4)第2のY線を引く。 (5)第2群のX線部分を引く。 以下同様。 又、90゜を越す回転角度を用いたり、正方向の
みならず負方向の回転も可能であるが、それに応
じて動作順序を変えることが必要である。 更に、前述のC23,C45等の交点の座標を
考慮に入れてマトリツクスを修正することによつ
て、歩数的動作ステツプを用いることなく線を引
くことも可能である。この様な修正操作は、上位
境界線を修正するとき行うことが望ましい。 本発明は、例えばキーボード及びベクトル表示
型デイスプレイを有し、コンピユータに接続され
て動作するワークステーシヨンにおいて良好に実
施可能である。コンピユータにおけるプログラム
は、3次元表面に関する座標データをキーボード
から受け入れ、それに基いて表面線図デイスプレ
イ画面上に表示するための制御を行うように構成
される。 F 発明の効果 本発明によれば、3次元表面を2次元像として
表わす表面線図を表示する際に、簡単に隠線を消
去することができる。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】 【図面の簡単な説明】
第1図は本発明に従つて隠線を消去した表面線
図を座標軸と共に示す図、第2図は第1図の表面
線図に隠線を加えたものを示す図、第3図は本発
明に従つて隠線を消去した別の表面線図の例を示
す図、第4図は25個の点を有する表面線図であつ
て本発明に従つて隠線を消去したものを示す図、
第5図は第4図の表面線図に破線で隠線を加えた
ものを示す図、第6図及び第7図は第5図の表面
線図の1部と共に上位境界線及び下位境界線を示
す図、第8図は歩進的動作ステツプにより引かれ
る線を示す図である。 X1乃至Xn:X線、Y1乃至Yn:Y線、△Y
11乃至△Y1n、△Y21乃至△Y2n、△
Yn1乃至△Ynn:Y線部分。

Claims (1)

  1. 【特許請求の範囲】 1 隠線を消去した状態で3次元表面の2次元像
    を表わす表面線図を表示するための下記ステツプ
    イ乃至ニより成る表面線図表示方法: (イ) X軸、Y軸、Z軸を有する座標系における3
    次元表面の選択された複数の点のX,Y,Z座
    標を第1のマトリツクスとして記憶手段に記憶
    し、 (ロ) 同一のY座標を有する複数の点を通る線をX
    線とし、同一のX座標を有する複数の点を通る
    線をY線とし、且つ隣り合う2つのX線によつ
    て区分されるY線の部分をY線部分として定義
    した状態において、Y座標の大きさに関する所
    定の順序で相次ぐX線を引く動作とこの相次ぐ
    X線を引く動作間でY線部分を引く動作とを含
    む動作順序に適合する様に上記第1のマトリツ
    クス内の複数の点の座標を配列し直して第2の
    マトリツクスとし、 (ハ) 上記Z軸の回りの任意の角度の回転及び上記
    X軸の回りの任意の角度の回転による座標変換
    操作によつて上記第2マトリツクス内の複数の
    点の座標を変換して第3のマトリツクスとし、 (ニ) 上記第3のマトリツクスを用いて表示手段に
    おいて上記X線を引く動作とY線部分を引く動
    作とを交互に行い、その際、最初のX線と相次
    ぐX線とによつてそれらの間に定められる領域
    を禁止領域として指定する禁止領域情報を更新
    しつつ記憶手段に記憶しておき、該禁止領域情
    報に従つて、上記禁止領域内での線引きを禁止
    する。
JP61140392A 1985-07-08 1986-06-18 表面線図表示方法 Granted JPS6210776A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE8503392A SE445154B (sv) 1985-07-08 1985-07-08 Metod for att avlegsna dolda linjer
SE8503392-6 1985-07-08

Publications (2)

Publication Number Publication Date
JPS6210776A JPS6210776A (ja) 1987-01-19
JPH03667B2 true JPH03667B2 (ja) 1991-01-08

Family

ID=20360859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61140392A Granted JPS6210776A (ja) 1985-07-08 1986-06-18 表面線図表示方法

Country Status (5)

Country Link
US (1) US4847789A (ja)
EP (1) EP0208149B1 (ja)
JP (1) JPS6210776A (ja)
DE (1) DE3678345D1 (ja)
SE (1) SE445154B (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0513474A1 (en) * 1986-09-11 1992-11-19 Hughes Aircraft Company Digital visual and sensor simulation system for generating realistic scenes
JPH0831139B2 (ja) * 1987-09-29 1996-03-27 ファナック株式会社 形状の陰線処理方法
FR2635393B1 (fr) * 1988-08-10 1990-10-19 Thomson Csf Procede d'elimination des faces cachees, pour la synthese d'une image filaire tridimensionnelle
JP2824342B2 (ja) * 1991-03-29 1998-11-11 富士通株式会社 イメージ高速描画装置
US5359704A (en) * 1991-10-30 1994-10-25 International Business Machines Corporation Method for selecting silhouette and visible edges in wire frame images in a computer graphics display system
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
TW241196B (ja) * 1993-01-15 1995-02-21 Du Pont
US5574835A (en) * 1993-04-06 1996-11-12 Silicon Engines, Inc. Bounding box and projections detection of hidden polygons in three-dimensional spatial databases
US5542032A (en) * 1993-10-04 1996-07-30 Loral Federal Systems Company Fast display of images of three-dimensional surfaces without aliasing
US6111583A (en) * 1997-09-29 2000-08-29 Skyline Software Systems Ltd. Apparatus and method for three-dimensional terrain rendering
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
AU5688199A (en) 1998-08-20 2000-03-14 Raycer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US20030158786A1 (en) * 1999-02-26 2003-08-21 Skyline Software Systems, Inc. Sending three-dimensional images over a network
JP3804328B2 (ja) * 1999-03-02 2006-08-02 株式会社セガ 画像処理装置及び画像処理方法
US7599044B2 (en) 2005-06-23 2009-10-06 Apple Inc. Method and apparatus for remotely detecting presence
US7242169B2 (en) * 2005-03-01 2007-07-10 Apple Inc. Method and apparatus for voltage compensation for parasitic impedance
US7577930B2 (en) 2005-06-23 2009-08-18 Apple Inc. Method and apparatus for analyzing integrated circuit operations
US9298311B2 (en) * 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US7598711B2 (en) * 2005-11-23 2009-10-06 Apple Inc. Power source switchover apparatus and method
CN101479770B (zh) * 2006-07-07 2013-03-06 艾利森电话股份有限公司 简化矢量图像的装置和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE151274C (ja) *
US3671729A (en) * 1971-03-10 1972-06-20 Us Air Force Obscuration delineation circuitry
US4181953A (en) * 1978-02-17 1980-01-01 The Singer Company Face vertex correction for real-time simulation of a polygon face object system
US4222048A (en) * 1978-06-02 1980-09-09 The Boeing Company Three dimension graphic generator for displays with hidden lines
US4412296A (en) * 1981-06-10 1983-10-25 Smiths Industries, Inc. Graphics clipping circuit
EP0112942B1 (en) * 1982-12-30 1987-03-11 International Business Machines Corporation Graphics display system and method
US4594673A (en) * 1983-06-28 1986-06-10 Gti Corporation Hidden surface processor
US4583185A (en) * 1983-10-28 1986-04-15 General Electric Company Incremental terrain image generation
DE3403678A1 (de) * 1984-02-03 1985-08-08 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut Verfahren zum darstellen von gegenstaenden

Also Published As

Publication number Publication date
EP0208149B1 (en) 1991-03-27
SE445154B (sv) 1986-06-02
US4847789A (en) 1989-07-11
EP0208149A1 (en) 1987-01-14
SE8503392D0 (sv) 1985-07-08
DE3678345D1 (de) 1991-05-02
JPS6210776A (ja) 1987-01-19

Similar Documents

Publication Publication Date Title
JPH03667B2 (ja)
US6330003B1 (en) Transformable graphical regions
JPH0251786A (ja) 走査変換方法
EP0607136B1 (en) Graphics output system with bounded updating
US5745667A (en) 3d graphics apparatus using texture images with displacement information
EP0344686B1 (en) Clipping process and processor
US6166741A (en) Graphics segment organization in a graphics system
JPH05135154A (ja) 3次元ウインドウを用いたグラフイツクデータ処理システム
US20040169655A1 (en) Active region determination for line generation in regionalized rasterizer displays
EP0268038B1 (en) Graphics processing system
JP3054545B2 (ja) 文字図形編集方法及び装置
JPH0519194B2 (ja)
JPH0830666A (ja) 文字列配置方法及びその装置
JP2642374B2 (ja) 図形クリツピング方法
Gal Hidden Feature Removal and Display of Intersecting Objects in UNIGRAFIX
JP3071495B2 (ja) 物体モデル編集装置
JP3092241B2 (ja) 立体形状の設計方法及び表示方法
JPH02122378A (ja) 画像操作方法
JPH07262353A (ja) 線画の訂正方法
JPH0752466B2 (ja) ラスターオペレーション装置およびその方法
JPH0492974A (ja) 自動寸法表示装置
JPS62145370A (ja) 自動設計における寸法線配置方式
JPH01154294A (ja) 多角形の描画方式
JPH06176130A (ja) 対話式ポリゴン選択装置
JPS6340979A (ja) 隠線処理方式