読者です 読者をやめる 読者になる 読者になる

うしブログ

Geogebraの使い方、応用など

Geogebraスキル問題集(007解答)

Geogebra

007

点Dが三角形(poly1)の外部にある場合と内部にある場合を、どうやって区別するかがポイントとなります。アイデアがものを言います。

見本

Geogebraファイル

 

三角形の外部と内部

まず、点EをPointIn[poly1]として定義する。

点Eはpoly1の内部の点だから、点Dがpoly1の外部にある状態で

SetValue[E, D]

を実行しても、点Eは点Dと一致することはない。

f:id:usiblog:20160817094642g:plain

逆に、点Dがpoly1の内部にある状態で上記コマンドを実行すると、点Eは必ず点Dと一致する。

この違いを利用する。

 

点Dのスクリプティング

点DのOn Update スクリプトとして、以下を記述する。

SetValue[E,D]
If[D==E,SetValue[in,true],SetValue[in,false]]

1行目でEをDに一致させようと試みて、その結果、DとEが一致したのであれば、点Dはpoly1の内部にあるということなので、真偽値(in)をtrueにする。 そうでない場合にはfalseにする。

あとは点Eを非表示にすれば、完成である。