航空宇宙機設計製図 Ⅱ

40
航航航航航航航航航2009 航航 航航航航 航航航 航航航航航航航 航航航航航航航航航 航航航 航航 航 航航 (2009/10/23) ver. 2009/10/30

Upload: vidor

Post on 12-Jan-2016

71 views

Category:

Documents


0 download

DESCRIPTION

第4回 (2009/10/23). 航空宇宙機設計製図 Ⅱ. 2009 年度 九州大学 工学部 機械航空工学科 航空宇宙工学コース 3年後期 金曜3限 谷 泰寛. ver. 2009/10/30. 図形処理のための幾何学. 拡大・縮小、回転、平行移動. y. ( x’, y’ ). by. ( x, y ). y. x. x. ax. 拡大/縮小. ・原点に対して、x軸方向に a 、y軸方向に b だけ拡大/縮小 . y. ( x’, y’ ). r. ( x, y ). q. y = r sin a. a. x. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 航空宇宙機設計製図 Ⅱ

航空宇宙機設計製図Ⅱ2009 年度

九州大学 工学部 機械航空工学科 航空宇宙工学コース 3年後期 金曜3限

谷 泰寛

第4回 (2009/10/23)

ver. 2009/10/30

Page 2: 航空宇宙機設計製図 Ⅱ

2

図形処理のための幾何学

拡大・縮小、回転、平行移動

Page 3: 航空宇宙機設計製図 Ⅱ

3

拡大/縮小・原点に対して、x軸方向に a 、y軸方向に b だけ拡大/縮小  

byy

axx

=='

'

x '

y '

⎝ ⎜

⎠ ⎟=

a 0

0 b

⎝ ⎜

⎠ ⎟x

y

⎝ ⎜

⎠ ⎟

y

(x, y)

(x’, y’)

xx

ax

y

by

Page 4: 航空宇宙機設計製図 Ⅱ

4

・原点まわりに半時計方向に θ だけ回転 

回転

y

x = r cos

(x, y)

(x’, y’)

r

y = r sin

x

⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛ −=⎟⎟

⎞⎜⎜⎝

⎛y

x

y

x

θθ

θθ

cossin

sincos

'

'

( )

sincos

sinsincoscos

cos'

yx

rr

rx

−=

−=

+=

22,sin,cos yxrryrx +===

( )

cossin

cossinsincos

sin'

yx

rr

ry

+=

+=

+=

Page 5: 航空宇宙機設計製図 Ⅱ

5

平行移動・x軸方向に p 、y軸方向に q だけ平行移動  

qyy

pxx

+=+=

'

'

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛q

p

y

x

y

x

10

01

'

'

y

(x, y)

(x’, y’)

xx

x+p

y

y+q

これでも計算可能だが、行列の和の形となってしまう

Page 6: 航空宇宙機設計製図 Ⅱ

6

平行移動・x軸方向に p 、y軸方向に q だけ平行移動  

qyy

pxx

+=+=

'

'

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛q

p

y

x

y

x

10

01

'

'

y

(x, y)

(x’, y’)

xx

x+p

y

y+q

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

1100

10

01

1

'

'

y

x

q

p

y

x同次座標表現

これでも計算可能だが、行列の和の形となってしまう

Page 7: 航空宇宙機設計製図 Ⅱ

7

同次座標表現

座標点を、以下の形式で表現する形式(2次元の場合) 

 

同次座標表現のメリット

  ・平行移動が、マトリックスの積で表現できる(前頁)。  ・ m=0 とすると、特定方向の無限遠点を表現可能。 

⎟⎟⎟

⎜⎜⎜

⎛=

m

y

x

u)/,/( mymx・実際の座標値は、

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

m

z

y

x

u・3次元の場合は、

Page 8: 航空宇宙機設計製図 Ⅱ

8

2次元変換マトリックス

  操作 変換マトリックス 備考

平行移動 x 軸方向に p 、 y 軸方向に q だけ移動

拡大・縮小 原点に対して x 軸方向に a 倍、 y 軸方向に b 倍

回転 原点を中心に反時計方向に だけ回転

⎟⎟⎟

⎜⎜⎜

100

00

00

b

a

⎟⎟⎟

⎜⎜⎜

100

10

01

q

p

⎟⎟⎟

⎜⎜⎜

⎛ −

100

0cossin

0sincos

θθ

θθ

Page 9: 航空宇宙機設計製図 Ⅱ

9

例題 : 左右対称図形を描く

 

Page 10: 航空宇宙機設計製図 Ⅱ

10

移動→対称→移動:合成変換

 

② ③

⎟⎟⎟

⎜⎜⎜

⎛−

100

010

001⎟⎟⎟

⎜⎜⎜

⎛−−

100

10

01

b

a

⎟⎟⎟

⎜⎜⎜

100

10

01

b

a

対称移動

(a, b)

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎛−=

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎛−−

⎟⎟⎟

⎜⎜⎜

⎛−

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

1100

010

201

1100

10

01

100

010

001

100

10

01

1

'

'

y

xa

y

x

b

a

b

a

y

x

平行移動平行移動

Page 11: 航空宇宙機設計製図 Ⅱ

11

コンピュータによる図形描画

 

グラフィッ

クスライ

ブラリ

OS

データ

アプリケーション

プログラム

ディスプレイ

プロッタ

プリンタ

コンピュータ

Page 12: 航空宇宙機設計製図 Ⅱ

12

ウインドウシステム コンピュータの画面出力 複数のタスクにウインド

ウを割り当て、画面出力を多重化

主なウインドウシステム   ・ Quartz compositor (Mac OS X )

   ・ X Window System

  ( Microsoft Windows : OS にウインドウシステムが組込)

Page 13: 航空宇宙機設計製図 Ⅱ

13

グラフィックスライブラリ アプリケーションとディスプレイとのインターフェ

イスを行う関数群

主なグラフィックスライブラリ  ・ OpenGL

   ・ Direct2D, Direct3D

   ・ Quartz

   (古くは、 CORE, GKS, PHIGS など)

Page 14: 航空宇宙機設計製図 Ⅱ

14

本講義での画像表示

・画面表示 ・・・ X Window System

座標変換等の計算処理部分は自作し、線を引く等の基本的な描画のみを使用するため)

・保存 / 出力 ・・・ Postscript (EPS)

画像は文書ファイルへ貼り付けて残すものとする。(要すれば、その文書ファイルをプリンタで印刷)

Page 15: 航空宇宙機設計製図 Ⅱ

15

X Window System

クライアント・サーバモデル と ネットワーク指向  クライアントとサーバの2つのプログラム間で分担して処理

  ・サーバ: ウインドウの生成・スクリーン表示、図形の出力、キーボードやマウスの入力処理

  ・クライアント: ウインドウの生成を要求、図形の出力を要求

クライアント サーバ

Request

Reply

Event

Error

Page 16: 航空宇宙機設計製図 Ⅱ

16

X Window Systemデバイス独立、OS独立 ・デバイスに依存する部分はサーバが担当するので、アプリケーショ

ンはデバイスに依存しない形で書くことが可能

 ・サーバ側システムのOSやハードウエアに依存した操作は、サーバが処理を担当

 ・アプリケーションは、 Xlib という C 言語で書かれたライブラリの関数をコールし、コールされた Xlib の関数が X プロトコルを発生

X protocol

デバイス独立

OS依存

デバイス依存

OS

アプリケーション

Xlib

OS

サーバクライアント

Page 17: 航空宇宙機設計製図 Ⅱ

17

X Window System

ソフトウエアの階層とツールキット、グラフィックスライブラリ

Xlib

アプリケーション

Widget

Xt intrinsics

OSF Motif

OpenGL / GLX

※ 本講義では、直接 Xlib をコールするアプリケーションを作成する。

Page 18: 航空宇宙機設計製図 Ⅱ

18

X Window System

ビットマップ・ディスプレイを想定ビットマップディスプレイ: ピクセルと呼ばれる小

さな点(画素)の集合で画像を表示する装置

Page 19: 航空宇宙機設計製図 Ⅱ

19

X Window System

ディスプレイ 上に画像を描くには、ディスプレイ 上のピクセルに個別の色を与える。

ピクセルの識別のために、ピクセル座標系を利用。

左上を原点(0,0)

Page 20: 航空宇宙機設計製図 Ⅱ

20

X Window System

ウインドウを表示するプログラム #include <X11/Xlib.h>#include <X11/Xutil.h>#include <stdio.h>main(){ Display *d; Window w; d = XOpenDisplay (NULL); w = XCreateSimpleWindow (d, DefaultRootWindow (d), 50, 50, 400, 300, 2, BlackPixel(d,0), WhitePixel(d,0)); XMapWindow (d,w); XFlush (d); getchar (); XCloseDisplay (d);}

Page 21: 航空宇宙機設計製図 Ⅱ

21

X Window System線を描くプログラム 

#include <X11/Xlib.h>#include <X11/Xutil.h>#include <stdio.h>

int main(){

Display *dsp; Window win; int screenNumber; GC gc; unsigned long white; unsigned long black; long eventMask;

dsp = XOpenDisplay( NULL ); screenNumber = DefaultScreen(dsp); white = WhitePixel(dsp,screenNumber); black = BlackPixel(dsp,screenNumber);

win = XCreateSimpleWindow (dsp, DefaultRootWindow(dsp), 50, 50, 600, 300, 0, black, white ); XMapWindow( dsp, win );

eventMask = StructureNotifyMask; XSelectInput( dsp, win, eventMask );

XEvent evt; do{ XNextEvent( dsp, &evt ); // calls XFlush }while( evt.type != MapNotify );

gc = XCreateGC( dsp, win, 0, NULL);

XSetForeground( dsp, gc, black );

XDrawLine(dsp, win, gc, 10, 10,190,190); XDrawLine(dsp, win, gc, 10,190,190, 10);

eventMask = ButtonPressMask|ButtonReleaseMask; XSelectInput(dsp,win,eventMask);

do{ XNextEvent( dsp, &evt ); // calls XFlush() }while( evt.type != ButtonRelease );

XCloseDisplay( dsp );}

Page 22: 航空宇宙機設計製図 Ⅱ

22

X Window SystemC 言語で作成した X Window System を使用したプログラムのコン パイル・リンク方 法(前頁のサンプル等) 

(1) ホスト計算機の場合

   ・ sample.c をコンパイルし、 a.out を作成する場合、    X11 のライブラリ( Xlib.h, Xutil.h )をライブラリとして指定する 必要がある。

     gcc sample.c -lX11 

( 2 ) その他の X環境の場合 (自宅の PC など)

   ・ライブラリが 置いてある場所がシステムによって異なる場合には、   ライブラリの場 所を指定する必要がある。

  (例) gcc sample.c -L/usr/X11R6/lib -lX11

Page 23: 航空宇宙機設計製図 Ⅱ

23

X Window System で描画するプログラムを 実行実行する場合は、

● 「 X11 ( xterm )」上で実行する。

● ホスト計算機にログインする際に、

     ssh -X ah.s.kyushu-u.ac.jp

 とする。「 -X」を忘れないように。

● ホスト計算機にログインした時に、 「 .Xauthority でエラーが発生 」とかいうエラーメッセー ジが表示される場合は、個人の使用容量制限( 100MB? )をオーバーしている可能性がある。(次頁参照) → 不要なファイルを 削除。

 だめなら、パソコンから一旦ログアウトしてみる。

●コンパイルする場合は、 「ターミナル」でも良いし、「 X11」でも「 -X」をつけなくてもよい。

Tips

これをきちんとやらないと、Segmentation なんとかというエラーメッセー ジが表示される。

Page 24: 航空宇宙機設計製図 Ⅱ

24

自分がどれくらい容量を使っているかを確認する方法

● Finder で、自分の ID をクリックした後、

 「ファイル 」メニュー → 「情報を見る」を選択

  「サイズ」の欄を見る(少し時間がかかる)

Tips

Page 25: 航空宇宙機設計製図 Ⅱ

25

プログラムは 正しそうなのに、コンパイルでエラーが出る場合

エラーメッセー ジに、「 UTF-16 がどうしたこうした」と出る場合、 Emacs でプログラムを 編集した際に、ファイルの 先頭に妙な文字が入ってしまっていることがある。( Emacs上では見えないため、原因がわかりづらい。)

確認方法 $ cat ファイル 名 として、画面上にファイルの中 身が表示されるので、先頭に「 ??」があるかどうかを 確認する。

対処方法 (「 ??」があった場合。根本的な解決ではないが。)

 ・ 上で、画面に表示されたものの「 ??」を除く部分をマウスで選択してコピーする。 ・ Emacs 等のエディタで、 新しいファイルの 編集を行い、コピーしたものを貼付けて、 別名のファイルとして保存する。

Tips

Page 26: 航空宇宙機設計製図 Ⅱ

26

「ターミナル」で文字を大きくするには、

● 「ターミナル」メニュー → 「環境設定」

Tips

Page 27: 航空宇宙機設計製図 Ⅱ

27

「 xterm」で文字を大きくするには、(方法その1) ● 次の内容のファイルを作り、 「 .Xdefaults」という名前で保存する。

● xterm上で次のコマンドを実行する。

$ xrdb .Xdefaults

● 「アプリケーション」メニューから、新たに「 xterm」を実行する。

(方法その2) ● xterm を実行する際のオプションで、フォントサイズを指定する。

       $ xterm -fn 10x20    (このように打ち込むと、新しいウインドウが 開く)

◯ 使えるフォントサイズは、 5x7 5x8 6x9 6x10 6x12 6x13 7x13 8x13 7x14 9x15 8x16 10x20 12x24  など。 対応していないサイズを指定すると、デフォルトのサイズになってしまう模様。

XTerm*VT100*font: 10x20

Tips

Page 28: 航空宇宙機設計製図 Ⅱ

28

Postscript と EPS

Adobe社が開発したページ記述言語の1つ。

「ページ記述言語」とは、ページ上に印刷される文字、図形、画像などを記述するための言語。プログラ ミング言語でも あり、計算や繰り返しなどを記述する能力がある。

EPS (Encapsulated Postscript) とは、 Postscript を利用して作られた画像ファイルデータ形式の 1種であり、文書への貼り付け等を考慮されている。(文法は同じ)

Page 29: 航空宇宙機設計製図 Ⅱ

29

Postscript による作画例バッテンを描く EPS ファイル

%!PS-Adobe-3.0 EPSF-3.0%%BoundingBox: 0 0 400 300%%Orientation: Portrait%%Pages: 1%%EndComments/mydict 120 dict defmydict begingsave 0.0 0.0 1.0 setrgbcolornewpath 10 10 moveto 300 300 lineto 300 10 moveto 10 300 linetostrokeshowpage%%Trailer%%EOF

上の図は、 ・左の内容のテキストファイルを作成 ・「○○ .eps」という名前で保存 ・ Powerpoint でそのファイルを 読み込んで挿入 ・外枠の線は、別。(領域明示のために追加) ・ Postscript では、左下が原点となる。

Postscript では左下が原点

Page 30: 航空宇宙機設計製図 Ⅱ

30

本講義での使用についてX Window System や Postscript をそのまま使うのは若干面倒   ↓Fortran から簡単な呼び出しで描画できるようなサブルー チン群を用意した。 ただし、機能は限定している。

  ・ XCgraphics.c :  Xlib を使って画面描画  ・ PSgraphics.f90 : 作画内容の EPS ファイルを作成

    ▷両者で、同じ呼び出しとしているため、 call する側は修正不要。       ・自作のプログラム + XCgraphics.c    → 画面表示       ・自作のプログラム + PSgraphics.f90   → EPS ファイル出力     のように、コンパイル・リンク時に 取り替えればよい。

▷座標系は、 X Window System のもので共通 (左上が原点、 Y 軸正は下向き)。 ▷使用マニュアルを Web ページ上に置いてあるので、参照のこと。

Page 31: 航空宇宙機設計製図 Ⅱ

31

本講義での使用について

プログラムのコン パイル・リンク方 法 (ホスト計算機上) 

(1) XCgraphics.c の場合

  ① XCgraphics.c をコンパイルし、 XCgraphics.o を作成

    gcc XCgraphics.c -c  ② main.f90 をコンパイルし、 XCgraphics.o とともに main.x を作成

    f95 main.f90 XCgraphics.o -o main.x -lX11

(2) PSgraphics.f90 の場合

     main.f90 と PSgraphics.f90 をコンパイル・リンクし、 main.x を作成

    f95 main.f90 PSgraphics.f90 -o main.x

Page 32: 航空宇宙機設計製図 Ⅱ

32

XCgraphics.c, PSgraphics.f90 のサブルー チン (1/2)

 機 能 Fortran からの呼び出し,引数

Create Window幅 screen_width高さ screen_height のウインドウを生成する.

call xcinit ( screen_width, screen_height )integer screen_width, screen_height

Set Color描画する色を設定する.0: black, 1: white, 2: blue, 3: red, 4: magenta,5: green, 6: cyan, 7: yellow, 8: orange

call xccolor ( cn )integer cn

Set line width線の太さを line_width ピクセルに設定する.

call xclinewidth ( line_width )integer line_width

Draw point座標 (x,y) に点を描く.( PS では非表示 . 下も同様)

call xcpoint ( x, y )integer x, y

Draw pointsnp個の座標 (xpoint(i),ypoint(i)) に点を描く.

call xcpoints ( xpoint, ypoint, np )integer np, xpoint(np), ypoint(np)

Draw line座標 (x1,y1),(x2-y2) 点間に直線を描く.

call xcline ( x1, y1, x2, y2 )integer x1, y1, x2, y2

Draw lines座標 (xpoint(i),ypoint(i)),i=1,np に与えられた点を結んだ折れ線を描く.

call xclines ( xpoint, ypoint, np )integer np, xpoint(np), ypoint(np)

Page 33: 航空宇宙機設計製図 Ⅱ

33

XCgraphics.c, PSgraphics.f90 のサブルー チン (2/2)

 機 能 Fortran からの呼び出し,引数

Draw rectangle座標 (x,y) に幅 width高さ height の長方形を描く.

call xcrect ( x, y, width, height )integer x, y, width, height

Fill rectangle座標 (x,y) に幅 width高さ height の長方形を塗りつぶす.

call xcfillrect ( x, y, width, height )integer x, y, width, height

Fill polygon座標 (xpoint(i),ypoint(i)),(i=1,np) を頂点とする多角形の内部を塗りつぶす.

call xcpolygon ( xpoint, ypoint, np )integer np, xpoint(np), ypoint(np)

Draw arc座標 (x,y) を中心として、幅 width高さ heightの円弧を描く

call xcarc ( x, y, width, height, angle1, angle2 )integer x, y, angle1, angle2, width, height

Fill arc座標 (x,y) を中心として、幅 width高さ heightの円弧の内部を塗りつぶす.

call xcfillarc ( x, y, width, height, angle1, angle2 )integer x, y, angle1, angle2, width, height

Draw string座標 (x,y) に n 文字の文字列 str を出力する.

call xcstring ( x, y, str, n )integer x, y, ncharacter str

Close Windowウインドウを 閉じる.

call xcclose ( pi1 )integer pi1

Page 34: 航空宇宙機設計製図 Ⅱ

34

XCgraphics.c, PSgraphics.f90 の使用例

 

pi = 4.0 * atan( 1.0 ) np = 6

do i = 1, 6 xpoint (i) = 200 + 40 * cos ((i-1)*72*pi/180.0 ) ypoint (i) = 100 + 40 * sin ((i-1)*72*pi/180.0 ) end do

call xccolor ( 6 ) call xcpolygon ( xpoint, ypoint, np )

call xclinewidth ( 3 ) call xccolor ( 3 ) call xclines ( xpoint, ypoint, np )

call xccolor ( 9 ) call xcpoints( xpoint, ypoint, np )

write (6,*) "press enter" read (5,'(a)') a

call xcclose

end program sample4

program sample4

implicit none integer i, j, n, xpoint(10), ypoint(10), np real pi character a*1

call xcinit ( 400, 300 )

call xccolor ( 2 ) call xcline ( 10, 10, 300, 300 )

call xccolor ( 5 ) call xclinewidth ( 5 ) call xcline ( 10, 300, 300, 10 )

call xccolor ( 9 ) call xcfillrect ( 30, 100, 50, 30 )

call xcarc ( 90, 200, 60, 100, 0, 360 )

call xccolor ( 7 ) call xcfillarc ( 210, 230, 150, 150, 5, 335 )

call xccolor ( 0 ) call xcstring ( 60, 55, "Sample4.f", 9 ) sample4.f90

Page 35: 航空宇宙機設計製図 Ⅱ

35

XCgraphics.c, PSgraphics.f90 の使用例

sample4.f90 の出力結果 

XCgraphics.c による画面表示(画面のキャプチャ)※

PSgraphics.f90 による eps ファイルを貼付

※ 本資料の最終頁を参照。

Page 36: 航空宇宙機設計製図 Ⅱ

36

XCgraphics.c, PSgraphics.f90 の使用例

両者の比較 ・・・  Postscript 形式は、拡大しても劣化しない。 

XCgraphics.c による画面表示(画面のキャプチャ)

PSgraphics.f90 による eps ファイルを貼付

前頁の図を拡大したもの

Page 37: 航空宇宙機設計製図 Ⅱ

37

参考文献 ~ より詳しく知りたいならば

X Window System についての解説 ・ X Window System: The Complete Refecence to Xlib, X Protocol, ICCCM,

XLFD

   https://www.msu.edu/~huntharo/xwin/docs/xwindows/XWINSYS.pdf

 ・ X-Window Ver.11 プログラ ミング-第2版、木村凌一ほか著、日刊工業新聞社

Postscript 言語についての解説 ・ Adobe社による Postscript 言語のリファレンスマ ニュアル

   http://www.adobe.com/products/postscript/pdfs/PLRM.pdf

 ・ Adobe社による EPS ファイル形式の 仕様   http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf

Page 38: 航空宇宙機設計製図 Ⅱ

38

課題 2(1) 辺の数が 3 (三角形)以上の多角形を描け。また、それ

を時計回りに 90° 回転させた図を描け(座標軸を描くこと) 。

(2) 不等辺三角形を描け。また、それを基に各辺の長さを 2倍に拡大した不等辺三角形を描け(座標軸を描くこと) 。

(3) 適当な多角形を描き、その頂点の一つ(原点を除く)を中心として元の図形を時計回りに n(i)° 回転させたときの図を描け。ただし、 n(i)= 2,3,5,7,11,13,17,19,23,29,37,41( i=1~ 12 )とする (座標軸を描くこと)。

・提出日: 2009年12月4日(金)講義開始前まで・提出物: プログラム 説明書とプログラムリスト、 およ

び作図結果を Microsoft Word 文書形式で提出(※次頁参照)

・提出先: [email protected] 宛てに電子メールにより提出のこと.ファイル 名は「自分の氏名 2.doc」等とすること.例えば、「谷泰寛 2.doc」

Page 39: 航空宇宙機設計製図 Ⅱ

39

出力方法

ディスプレイ 上に表示して、作図結果を見る.

eps 形式でファイル出力 .それを「プレビュー」で開いて確認.( PDF に変換される)

Word に貼付ける場合は、「挿入」→「図」→「ファイルから..」→「 eps ファイルを 選択」.(古いバージョンの Word では、貼付後に枠だけしか表示されない場合があるが、 PDF 形式で出力(またはプリンタで印刷)すると、きちんと表示される.)

Page 40: 航空宇宙機設計製図 Ⅱ

40

(参考)  Mac OS X で画面のキャプチャ

「アプリケーション」→「ユーティリティ 」→「グラブ 」

command+ shift+3 : 画面全体 command+ shift+4を押した後、マウスで領域を選択     : 画面の一部(マウスで選択した領域) command+ shift+4を押した後、   マウスカーソルをウインドウに 載せて、   スペースバーを押して、マウスでクリック

     : 一つのウインドウ(マウスで 選択したウインドウ)