プロが教える店舗&オフィスのセキュリティ対策術

modについて以下の使用例での役割を教えてください。
除算の余り(?)とは知っているんですが・・・

今、頂点Vが6点あります。(i=1~6)(N=6)
それらは円に並んでいて点と点の間は直線で結ばれています。
dはそれらの線分の平均です。
Eは頂点の曲率です。

E = d - | V(imodN) - V((i-1)modN) |
(i-1)はi点の隣の点です。

Eを小さくすることで線分を丸く円形にしようとしています。

A 回答 (2件)

えっと、(i=1~6)は単にiの値域を表しているかの様な表現なので、


Vの定義域を0~5と仮定します。
また、文章中からVはベクトル値と解釈します。

そうすると、 | V(imodN) - V((i-1)modN) | で隣接する点の間の
距離を表すスカラー値になりますよね。
即ち、
i=1 |V(1)-V(0)|
i=2 |V(2)-V(1)|
i=3 |V(3)-V(2)|
i=4 |V(4)-V(3)|
i=5 |V(5)-V(4)|
i=6 |V(0)-V(5)|

もし、これが| V(i) - V((i-1)) |で定義されていたら、
i=1 |V(1)-V(0)|
i=2 |V(2)-V(1)|
i=3 |V(3)-V(2)|
i=4 |V(4)-V(3)|
i=5 |V(5)-V(4)|
i=6 |V(6)-V(5)|

となり、i=6の時、Vの定義域を超えたV(6)が発生してしまい、
これは不定となり、i=6の時、この関数の値は不定となってしまい
ませんか?
つまり、循環させるためだと思うんですが、如何でしょうか?
    • good
    • 0

MODをループにに使用しているみたいですね。


単純に
i mod 6を考えれば簡単です。

iが増えるにつれ

(0),1、2,3,4,5,6,0,1,2,・・・

のようになります。

直線的に増えていくiに対してmodの結果は
一定範囲をループする数になります。

modの使い方は他に

      n - (i mod n)
  x = -------------------------
          n

なんていう面白い使い方があります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!