7: 2015-06-10 (水) 12:25:47 osinko |
8: 2015-06-10 (水) 16:35:07 osinko |
| left = -2f * a * a + -2f * b * b; | | left = -2f * a * a + -2f * b * b; |
| right = -4f * a * b; | | right = -4f * a * b; |
- | print (string.Format ("a={0} : b={1} : {2} > {3}", a, b, left, right)); | + | print (string.Format ("a={0} : b={1} : {2} < {3}", a, b, left, right)); |
| if (!(left < right)) { | | if (!(left < right)) { |
| もしくは | | もしくは |
| left = -((a * a) + (b * b)) / 2; | | left = -((a * a) + (b * b)) / 2; |
| right = -a * b; | | right = -a * b; |
- | print (string.Format ("a={0} : b={1} : {2} > {3}", a, b, left, right)); | + | print (string.Format ("a={0} : b={1} : {2} < {3}", a, b, left, right)); |
| if (!(left < right)) { | | if (!(left < right)) { |
| | | |
| Mathf.Sqrt ((-2 * 5)); → Mathf.Sqrt (-10); | | Mathf.Sqrt ((-2 * 5)); → Mathf.Sqrt (-10); |
| | | |
- | お互いを掛け合わせると-10になる値。\(\sqrt { -10 } =?\) そんなものは、この世に存在しない。従って関数は「解なし」NaN(ヌル:からっぽのデータ)を返す。つまり、入力は\(a\ge 0\)、\(b\ge 0\)にする必要が出てくる。変数\(x,y\)に代入した定数が\(\sqrt { a },\sqrt { b }\)なのだから、これは発生して当然の不具合だったのだ。式の変形により平方根の虚数を避けるために前提条件を変える必要が出てきた | + | お互いを掛け合わせると-10になる値。2乗すると-10になる数。\(\sqrt { -10 } =?\) そんなものは、この世に存在しない。従って関数は「解なし」NaN(ヌル:からっぽのデータ)を返す。つまり、入力は\(a\ge 0\)、\(b\ge 0\)にする必要が出てくる。変数\(x,y\)に代入した定数が\(\sqrt { a },\sqrt { b }\)なのだから、これは発生して当然の不具合だったのだ。式の変形により平方根の虚数を避けるために前提条件を変える必要が出てきた |
| | | |
| memo:(機会が出てきたら調べる) | | memo:(機会が出てきたら調べる) |