> For the complete documentation index, see [llms.txt](https://firefirebook.firefirestyle.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://firefirebook.firefirestyle.net/polygon/hiddensurface.md).

# おまけ:裏と表

![](/files/-LAM15qFZ9WTQ8mGPFxX)

Cubeを表示(ひょうじ)すると、Aのように表示(ひょうじ)されたと思(おも)います。 Bのように、裏側(うらがわ)が透(す)けないように表示(ひょうじ)するにはどうすれば良(よ)いでしょうか。

色々(いろいろ)な方法(ほうほう)があります。ここでは法線(ほうせん)を利用(りよう)する方法(ほうほう)を紹介(しょうかい)します。

### Polygonは裏(うら)と表(おもて)を持(も)っている。

![](/files/-LAM15qXizep-2l5EYtg)

Ploygonには、裏(うら)と表(おもて)があります。表面(おもてめん)は画面(がめん)に表示(ひょうじ)されますが、裏面(うらめん)は画面(がめん)に表示(ひょうじ)されません。

上図(じょうず)のように、反時計回(はんとけいまわ)りが表(おもて)。 時計周(とけいまわ)りが裏(うら)です。

![](/files/-LAM15qmlwKa6r24Q0ek)

面倒(めんどう)ですね。Polygonで図形(づけい)を書(か)くときは、常(つね)に意識(いしき)しないといけません。

気(き)を抜(ぬ)くと、上(うえ)のように透(す)けてしまします。

### (1) 上手(うま)く使(つか)えば、裏側(うらがわ)が透(す)けない立方体(りっぽうたい)をかける。

![](/files/-LAM15rTqeOHBOI5S1a9)

上図(じょうず)のAのように、渦(うず)が「反時計回り」に見(み)えているものが、180度(ど)回転(かいてん)すると、上図(じょうず)のCのように「時計回りに」に見(み)えます。つまり、180度(ど)回転(かいてん)すると表示(ひょうじ)されなくなります。

![](/files/-LAM15rzTVc6nNVzIDfQ)

例(たと)えば、上図(じょうず)のようにすると、いくら回転(かいてん)しても裏側(うらがわ)が透(す)けて見(み)えないCubeを書(か)くことができます。

### 右回(みぎまわ)りか、左回(ひだりまわ)りかの判定方法(はんていほうほう)

右回(みぎまわ)りか、左回(ひだりまわ)りかの判定(はんてい)をする機能(きのう)をついかする必要(ひつよう)があります。

この判定(はんてい)には、以下(いか)の数式(すうしき)が使(つか)われること多(おお)いです。

, ,  の三点を通る三角形の場合 $$v = \left(&#x78;*{2}-x*{1}\right) \times \left(&#x79;*{3}-y*{2}\right)

* \left(&#x79;*{2}-y*{1}\right)\times\left(&#x78;*{3}-x*{2}\right)

  $$

で、 が、0よりも大(おおきい)きい場合(ばあい)は「表(おもて)」、小(ちいい)さい場合(ばあい)は「裏(うら)」と判断(はんだん)できます。

## (B) Scratchで実装(じっそう)する

### (1) 裏表(うらおもて)を判定(はんてい)するスクリプトを追加(ついか)する

![](/files/-LAM15x-1ebkDPf7LBzI)

### (2) ポリゴンを描画時(びょうがじ)に、裏表判定(うらおもてはんてい)を使用(しよう)するようにする

![](/files/-LAM15y4x10r8wkDNufE)

### (3) 確認(かくにん)する

<https://scratch.mit.edu/projects/88197759/>

![](/files/-LAM15zDu_Aagq8QTdXi)

#### (3-1) 右上(みぎうえ)の旗(はた)アイコンをクリックすると、Cubeが回転(かいてん)すること

#### (3-2) 裏側(うらがわ)が透(す)けて見(み)えないこと。

### (4) Good!

![](/files/-LAM10sJw_6R0gkIIv-5)

よくできました。次(つぎ)のステップに進(すす)みましょう。
