解決済み

mod について

  • すぐに回答を!
  • 質問No.75335
  • 閲覧数44
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 64% (116/179)

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

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

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

Eを小さくすることで線分を丸く円形にしようとしています。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 37% (10/27)

えっと、(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の時、この関数の値は不定となってしまい
ませんか?
つまり、循環させるためだと思うんですが、如何でしょうか?
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 25% (42/162)

MODをループにに使用しているみたいですね。
単純に
i mod 6を考えれば簡単です。

iが増えるにつれ

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

のようになります。

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

modの使い方は他に

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

なんていう面白い使い方があります。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ