¿³Ñ·Á¤È¤·¤Æ¹Í¤¨¤ë¾ì¹ç
¿³Ñ·Á¤È¥«¡¼¥½¥ë¤¬½Å¤Ê¤Ã¤Æ¤¤¤ë¤«¤¬ÌäÂê¤Ë¤Ê¤ê¤Þ¤¹¤¬
http://www.google.co.jp/search?q=¿³Ñ·Á+Æ⳰ȽÄê&btnG=¸¡º÷
¤Ç¤¿¤¯¤µ¤ó½Ð¤Æ¤¤Þ¤·¤¿
¹Í¤¨Êý¤È¤·¤Æ¤Ï
¡¡Ä´¤Ù¤¿¤¤ÅÀ¡Ê¤³¤³¤Ç¤Ï¥«¡¼¥½¥ë¡Ë¤«¤éȾľÀþ¤ò1ËÜ°ú¤¡¢
¡¡¤½¤ì¤¬Â¿³Ñ·Á¤ÎÊդȸòº¹¤¹¤ë²ó¿ô¤ò¿ô¤¨¤Þ¤¹
¡¡²ó¿ô¤¬´ñ¿ô²ó¤Ê¤éÅÀ¤ÏÆâÉô¤Ë¡¢¶ö¿ô²ó¤Ê¤é³°Éô¤Ë¤¢¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹
¤È¤ê¤¢¤¨¤º´Êñ¤Ê¥¹¥¯¥ê¥×¥È¤òÁȤó¤Ç¸«¤Þ¤·¤¿
//¢§¢§hedder¢§¢§
#const P_MAX 10
#const P_MAXmin P_MAX-1
#const SC_X 600
onclick gosub *PUT_POINT
//¢¥¢¥hedder¢¥¢¥
screen 0,SC_X,400
title "¤¢¤È"+P_MAX+"²ó¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤"
dim P_X,16 //¿³Ñ·Á¤ÎĺÅÀ¤ÎXºÂɸ
dim P_Y,16 //¿³Ñ·Á¤ÎĺÅÀ¤ÎYºÂɸ
*MAIN //¿³Ñ·ÁºîÀ®¥ë¡¼¥Á¥ó
redraw 0
color 255,255,255 : boxf
//ÅÐÏ¿¤·¤¿ÅÀ¤ò½çÈÖ¤Ëɽ¼¨
color 255,0,0
if P_no!0{
repeat P_no
circle P_X(cnt)-5,P_Y(cnt)-5,P_X(cnt)+5,P_Y(cnt)+5
if cnt+1=P_no : break //Í×ÁÇ¥ª¡¼¥Ð¡¼ËÉ»ß
line P_X(cnt),P_Y(cnt),P_X(cnt+1),P_Y(cnt+1)
loop
line P_X(P_no-1),P_Y(P_no-1),mousex,mousey
}
redraw 1
wait 5 : goto *MAIN
*PUT_POINT //¿³Ñ·Á¤ÎĺÅÀ¤òÅÐÏ¿¤¹¤ë
P_X(P_no)=mousex
P_Y(P_no)=mousey
P_no++
if P_no=P_MAX : onclick 0 : goto *MAIN2_1
title "¤¢¤È"+int(P_MAX-P_no)+"²ó¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤"
return
*MAIN2_1 //¿³Ñ·ÁÉÁ¼Ì¥ë¡¼¥Á¥ó
Xm=mousex : Ym=mousey
redraw 0
color 255,255,255 : boxf
//¿³Ñ·ÁÉÁ¼Ì
color 255,0,0
repeat P_MAXmin
circle P_X(cnt)-5,P_Y(cnt)-5,P_X(cnt)+5,P_Y(cnt)+5
line P_X(cnt),P_Y(cnt),P_X(cnt+1),P_Y(cnt+1)
loop
circle P_X(P_MAXmin)-5,P_Y(9)-5,P_X(P_MAXmin)+5,P_Y(P_MAXmin)+5
line P_X(P_MAXmin),P_Y(P_MAXmin),P_X(0),P_Y(0)
//¥Þ¥¦¥¹¤Î°ÌÃÖ¤«¤é¥ì¥¤¤ò½Ð¤¹
color
circle Xm-5,Ym-5,Xm+5,Ym+5
line Xm,Ym,SC_X,Ym
redraw 1
*MAIN2_2 //Æ⳰ȽÄê¥ë¡¼¥Á¥ó
count=0
//ȽÄ곫»Ï
repeat P_MAX
//¸òº¹È½ÄêÂоݤȤ¹¤ëÊÕ¤ÎĺÅÀ
//ÅÀA(Xa,Ya),ÅÀB(Xb,Yb)¤ÎºÂɸ¤ò»²¾È¤¹¤ë
Xa=P_X(cnt) : Ya=P_Y(cnt)
cn=cnt+1 : if cnt=P_MAXmin : cn=0
Xb=P_X(cn) : Yb=P_Y(cn)
//¥«¡¼¥½¥ë¤ÈÅÀA,B¤Îµ÷Î¥¤ò½Ð¤¹
Xam=Xa-Xm : Yam=Ya-Ym
Xbm=Xb-Xm : Ybm=Yb-Ym
//¢¡¢¡¸òº¹È½Äꢡ¢¡
//¥Ñ¥¿¡¼¥ó¡
if (Ya=Ym)&(Xa>Xm) : count++ : continue
//¥Ñ¥¿¡¼¥ó¢
if (Xam>0)&(Xbm>0)&(Yam*Ybm<0) : count++ : continue
//¥Ñ¥¿¡¼¥ó£
if (Xam*Xbm<0)&(Yam*Ybm<0) {
if Xm<(Ym-Ya)*(Xa-Xb)/(Ya-Yb)+Xa : count++ : continue
}
//¢¡¢¡¸òº¹È½Ä꽪λ¢¡¢¡
loop
//ȽÄ꽪λ ¸òº¹²ó¿ô¤¬´ñ¿ô¤Ê¤éÆâÉô
if count\2 : title "IN" : else : title "OUT"
wait 5 : goto *MAIN2_1
¤³¤Î¥¹¥¯¥ê¥×¥È¤Ç¤Ï
¥Þ¥¦¥¹¥«¡¼¥½¥ë¤«¤é±¦¤Ë¿åÊ¿¤ÊľÀþ¡Êy=mousey)¤ò°ú¤¤¤Æ
¤½¤ÎľÀþ¤ÈÊդθòº¹²ó¿ô¤ò¿ô¤¨¤Æ¤¤¤Þ¤¹
¸òº¹È½Äê¤Î¤È¤³¤í¤Ë¤¢¤ë¥Ñ¥¿¡¼¥ó¤È¤Ï
¥Ñ¥¿¡¼¥ó¡¡¡Ä¾Àþ¤¬ÄºÅÀ¤òÄ̤ë
¥Ñ¥¿¡¼¥ó¢¡¡È½Äꤹ¤ëÊÕ¤Î2ĺÅÀ¤¬Î¾Êý¤È¤â¥«¡¼¥½¥ë¤Î±¦¾å¤Ë1¸Ä¡¢±¦²¼¤Ë1¸Ä¤º¤Ä¤¢¤ë¾ì¹ç
¥Ñ¥¿¡¼¥ó£¡¡È½Äꤹ¤ëÊÕ¤Î2ĺÅÀ¤¬¥«¡¼¥½¥ë¤Îº¸¤È±¦¤Ë1¤³¤º¤Ä¤¢¤ë¾ì¹ç
¤Î£³¥Ñ¥¿¡¼¥ó¤Ëʬ¤±¤ÆÄ´¤Ù¤Æ¤¤¤Þ¤¹
¤Ç¡¢ËÜÂê¤ËÌá¤ê¤Þ¤¹¤¬
ÃÏ¿Þ¤ò¿³Ñ·Á¤Î½¸¹çÂΤȤ·¤ÆºÂɸ¥Ç¡¼¥¿²½¤·¤Æ
¾åµ¤ÎÊýË¡¤Çº£¡¢¤É¤³¤Ë¥«¡¼¥½¥ë¤¬¤¢¤ë¤Î¤«Ä´¤Ù¤ë
¤È¤¤¤¦ÊýË¡¤Ç¤¤¤«¤¬¤Ç¤·¤ç¤¦¤«
ÀµÄ¾¥¹¥¯¥ê¥×¥È¤âÀâÌÀ¤â¤ä¤Ã¤Ä¤±»Å»ö¤Ê¤Î¤Ç¤«¤Ê¤ê¤ï¤«¤ê¤Å¤é¤¤¤È»×¤¤¤Þ¤¹
¤ï¤«¤ê¤Å¤é¤¤¤È¤³¤¢¤ì¤Ðʹ¤¤¤Æ¤¯¤À¤µ¤¤