# おまけ:裏と表

![](/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)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://firefirebook.firefirestyle.net/polygon/hiddensurface.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
