{"id":1672,"date":"2007-06-19T18:22:34","date_gmt":"2007-06-19T09:22:34","guid":{"rendered":"http:\/\/r-dimension.xsrv.jp\/classes_j\/?p=1672"},"modified":"2024-11-20T16:29:27","modified_gmt":"2024-11-20T07:29:27","slug":"key_event","status":"publish","type":"post","link":"https:\/\/r-dimension.xsrv.jp\/classes_j\/key_event\/","title":{"rendered":"4.7\u3000\u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f32"},"content":{"rendered":"\n<p>\u3059\u3067\u306b\u300c3.4\u3000\u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f31\u300d\u3067\u306f\u3001\u7c21\u5358\u306a\u30de\u30a6\u30b9\u30a4\u30d9\u30f3\u30c8\u3092\u5b66\u7fd2\u3057\u307e\u3057\u305f\u3002\u57fa\u672c\u306e\u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f3\u306f\u6b21\u306e\u30b3\u30fc\u30c9\u306b\u306a\u308a\u307e\u3059\u306d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_mouse.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"300\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_mouse-284x300.png\" alt=\"interaction_mouse\" class=\"wp-image-5388\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_mouse-284x300.png 284w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_mouse.png 400w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-a<\/div>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-a<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>void setup() {\n  size(400, 400);\n  noStroke();\n  fill(0);\n}\n\nvoid draw() {\n  background(255);\n  ellipse(mouseX, mouseY, 20, 20);\n}<\/code><\/pre>\n\n\n\n<p>\u307e\u305f\u3001\u30de\u30a6\u30b9\u30af\u30ea\u30c3\u30af\u306b\u3088\u3063\u3066\u5186\u306ex, y\u5ea7\u6a19\u304c\u66f4\u65b0\u3055\u308c\u308b\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-b<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>int x, y;  \/\/x,y\u5ea7\u6a19\n \nvoid setup() {\n  size(400, 400);\n  noStroke();\n  fill(0);\n \n  x = 0;  \/\/x,y\u30920\u3067\u521d\u671f\u5316\n  y = 0;\n}\n \nvoid draw() {\n  background(255);\n  ellipse(x, y, 20, 20);\n}\n \nvoid mousePressed(){\n  x = mouseX;  \/\/x,y\u306f\u30de\u30a6\u30b9\u306ex,y\u5ea7\u6a19\n  y = mouseY;\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">4.7.1 \u30a4\u30fc\u30b8\u30f3\u30b0<\/h1>\n\n\n\n<p>\u3067\u306f\u3001\u6b21\u306b\u5c11\u3057\u8907\u96d1\u306a\u30de\u30a6\u30b9\u30a4\u30d9\u30f3\u30c8\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f3\u3068\u3057\u3066\u306f\u4e00\u822c\u7684\u306a\u306e\u3067\u3059\u304c\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30de\u30a6\u30b9\u306e\u4f4d\u7f6e\u306b\u5c11\u3057\u9045\u308c\u3066\u3064\u3044\u3066\u304f\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3059\u3002\u3053\u3046\u3044\u3063\u305f\u52d5\u304d\u306e\u3088\u3046\u306b\u3001A\u70b9\u304b\u3089B\u70b9\u3078\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u79fb\u52d5\u3059\u308b\u6642\u306b\u52d5\u304d\u306b\u7de9\u6025\u3092\u3064\u3051\u308b\u3053\u3068\u3092<strong>\u30a4\u30fc\u30b8\u30f3\u30b0<\/strong>\u3068\u8a00\u3044\u307e\u3059\u3002\u30a4\u30fc\u30b8\u30f3\u30b0\u306b\u306f\u69d8\u3005\u306a\u7a2e\u985e\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u3053\u3053\u3067\u306f\u57fa\u672c\u7684\u306a\u52d5\u304d\u306e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u7406\u89e3\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<p>\u3053\u3053\u3067\u306f\u3001\u305d\u306e\u8ffd\u8de1\u306e\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u3010\u56f34.7-b\u3011\u306e\u3088\u3046\u306b\u8003\u3048\u307e\u3059\u3002\u5206\u304b\u308a\u3084\u3059\u304f\u3059\u308b\u305f\u3081\u3001x\u5ea7\u6a19\u3060\u3051\u3092\u6271\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/follow_mouse.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"445\" height=\"490\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/follow_mouse.gif\" alt=\"follow_mouse\" class=\"wp-image-2513\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/follow_mouse.gif 445w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/follow_mouse-272x300.gif 272w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-b<\/div>\n\n\n\n<p>1\u30d5\u30ec\u30fc\u30e0\u76ee\u306edisX = 100\u3001delay = 2.0\u3060\u3068\u3059\u308b\u3068disX\/delay\u306f50\u306b\u306a\u308a\u3001\u305d\u306e\u5024\u304cobjX\u306b\u52a0\u7b97\u3055\u308c\u308b\u3053\u3068\u306b\u3088\u3063\u30662\u30d5\u30ec\u30fc\u30e0\u76ee\u306b\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c50\u30d4\u30af\u30bb\u30eb\u52d5\u304d\u307e\u3059\u3002\u3055\u3089\u306b\u30013\u30d5\u30ec\u30fc\u30e0\u76ee\u306f\u3001disX\u304c50\u3067disX\/delay\u306f25\u306b\u306a\u308a\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u3060\u3093\u3060\u3093\u79fb\u52d5\u8ddd\u96e2\u304c\u5c11\u306a\u304f\u306a\u3063\u3066\u3044\u304f\u308f\u3051\u3067\u3059\u3002<br>\u3088\u3063\u3066\u3001delay\u306e\u5024\u3092\u5927\u304d\u304f\u3059\u308c\u3070\u3059\u308b\u307b\u3069\u3001\u30de\u30a6\u30b9\u306b\u8ffd\u968f\u3059\u308b\u30b9\u30d4\u30fc\u30c9\u304c\u9045\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_easing.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"300\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_easing-284x300.png\" alt=\"interaction_easing\" class=\"wp-image-5410\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_easing-284x300.png 284w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_easing.png 400w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-c<\/div>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-c<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>float objX, objY;    \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306ex, y\u5ea7\u6a19\nfloat disX, disY;    \/\/mouse\u5ea7\u6a19\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ddd\u96e2\n\/\/\u30de\u30a6\u30b9\u306b\u9045\u308c\u308b\u5ea6\u5408\u3044\uff082.0\u3060\u3068\u901f\u3059\u304e\u3066\u5206\u304b\u308a\u306b\u304f\u3044\u306e\u306720.0\u306b\u3057\u3066\u304a\u304f\uff09\nfloat delay = 20.0;\n\nvoid setup() {\n  size(400, 400);\n  background(255);  \/\/\u80cc\u666f\u306f\u767d\n  noStroke();\n  fill(0);\n  objX = mouseX;    \/\/objX, disX\u3092\u73fe\u5728\u306e\u30de\u30a6\u30b9\u306ex\u5ea7\u6a19\u3067\u521d\u671f\u5316\n  objY = mouseY;    \/\/objY, disY\u3092\u73fe\u5728\u306e\u30de\u30a6\u30b9\u306ey\u5ea7\u6a19\u3067\u521d\u671f\u5316\n}\n\nvoid draw() {\n  \/\/\u30d5\u30a7\u30fc\u30c9\u3059\u308b\u6642\u306ftrue\u3001\u3057\u306a\u3044\u5834\u5408\u306ffalse\n  fade(false);\n\n  \/\/\u30de\u30a6\u30b9\u5ea7\u6a19\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ddd\u96e2\u3092disX, disY\u306b\u5165\u308c\u308b\n  disX = mouseX - objX;\n  disY = mouseY - objY;\n\n  \/\/\u8ddd\u96e2\uff08disX, disY\uff09\u3092delay\u3067\u5272\u3063\u305f\u5024\u3092\u8db3\u3059\uff08\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u79fb\u52d5\u3059\u308b\uff09\n  objX = objX + disX\/delay;    \n  objY = objY + disY\/delay;\n\n  ellipse(objX, objY, 20, 20);\n}\n\n\/\/\u30d5\u30a7\u30fc\u30c9\u7528\u95a2\u6570\nvoid fade(boolean _fadeFlag) {\n  if (_fadeFlag) {\n    fill(255, 10);  \/\/\u900f\u660e\u5ea6\u306e\u3042\u308brect\u3092\u63cf\u753b\n    rect(0, 0, width, height);\n    fill(0);      \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u9ed2\n  } else {\n    background(255);\n  }\n}<\/code><\/pre>\n\n\n\n<p>\u3053\u308c\u3092\u307e\u305f\u5c11\u3057\u5909\u3048\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u4eca\u5ea6\u306f\u30de\u30a6\u30b9\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3089\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5f8c\u304b\u3089\u3064\u3044\u3066\u304f\u308b\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-d<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>float objX, objY;    \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306ex, y\u5ea7\u6a19\nfloat disX, disY;    \/\/mouse\u5ea7\u6a19\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ddd\u96e2\n\/\/mouse\u304c\u62bc\u3055\u308c\u305f\u3068\u304d\u306b\u3001\u4e00\u6642\u7684\u306bx, y\u5ea7\u6a19\u3092\u4fdd\u5b58\u3057\u3066\u304a\u304f\u305f\u3081\u306e\u5909\u6570\nfloat targetX, targetY;\nfloat delay = 20.0;    \/\/\u30de\u30a6\u30b9\u306b\u9045\u308c\u308b\u5ea6\u5408\u3044\n\nvoid setup() {\n  size(400, 400);\n  background(255);\n  noStroke();\n  fill(0);\n\n  objX = mouseX;    \/\/\u521d\u671f\u5316\n  objY = mouseY;\n  targetX = targetY = 0.0;\n}\n\nvoid draw() {\n  \/\/\u30d5\u30a7\u30fc\u30c9\u3059\u308b\u6642\u306ftrue\u3001\u3057\u306a\u3044\u5834\u5408\u306ffalse\n  fade(false);\n\n  \/\/\u30de\u30a6\u30b9\u5ea7\u6a19\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ddd\u96e2\u3092disX, disY\u306b\u5165\u308c\u308b\n  disX = targetX - objX;\n  disY = targetY - objY;\n\n  \/\/\u8ddd\u96e2\uff08disX, disY\uff09\u3092delay\u3067\u5272\u3063\u305f\u5024\u3092\u8db3\u3059\uff08\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u79fb\u52d5\u3059\u308b\uff09\n  objX = objX + disX\/delay;\n  objY = objY + disY\/delay;\n\n  ellipse(objX, objY, 20, 20);\n}\n\nvoid mousePressed() {\n  targetX = mouseX;\n  targetY = mouseY;\n}\n\n\/\/\u30d5\u30a7\u30fc\u30c9\u7528\u95a2\u6570\nvoid fade(boolean _fadeFlag) {\n  if (_fadeFlag) {\n    fill(255, 10);  \/\/\u900f\u660e\u5ea6\u306e\u3042\u308brect\u3092\u63cf\u753b\n    rect(0, 0, width, height);\n    fill(0);      \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u9ed2\n  } else {\n    background(255);\n  }\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">4.7.2 \u63b4\u3093\u3067\u6295\u3052\u308b<\/h1>\n\n\n\n<p>\u6b21\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u63b4\u3093\u3067\u96e2\u3059\u969b\u306b\u30de\u30a6\u30b9\u3092\u79fb\u52d5\u3057\u305f\u3089\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u305d\u306e\u65b9\u5411\u306b\u98db\u3093\u3067\u3044\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u58c1\u306b\u5f53\u305f\u3063\u3066\u623b\u3063\u3066\u304f\u308b\u3088\u3046\u306b\u3082\u66f8\u304d\u63db\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_throw.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"300\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_throw-284x300.png\" alt=\"interaction_throw\" class=\"wp-image-5419\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_throw-284x300.png 284w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_throw.png 400w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-d<\/div>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-e<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>float objX, objY; \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u5ea7\u6a19\nfloat velX, velY;  \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30b9\u30d4\u30fc\u30c9\n\nvoid setup() {\n  size(400, 400);\n  background(255);\n  noStroke();\n  fill(0);\n\n  objX = objY = velX = velY = 0.0; \/\/\u521d\u671f\u5316\n}\n\nvoid draw() {\n  \/\/\u30d5\u30a7\u30fc\u30c9\u3059\u308b\u6642\u306ftrue\u3001\u3057\u306a\u3044\u5834\u5408\u306ffalse\n  fade(false);\n\n  objX += velX;    \/\/x\u3001y\u5ea7\u6a19\u306bvelX, velY\u306e\u5024\u3092\u8db3\u3059\n  objY += velY;\n\n  \/\/\u3053\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30d0\u30a6\u30f3\u30c9\u3059\u308b\n  if (objX &gt; width || objX &lt; 0) {  \/\/x\u65b9\u5411\u306b\u6298\u308a\u8fd4\u3059\n    velX = -velX;\n  }\n  if (objY &gt; height || objY &lt; 0) {  \/\/y\u65b9\u5411\u306b\u6298\u308a\u8fd4\u3059\n    velY = -velY;\n  }\n  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n  ellipse(objX, objY, 20, 20);  \/\/ellipse\u3092\u63cf\u753b\n}\n\nvoid mousePressed() {  \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4f4d\u7f6e\u3068\u30b9\u30d4\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8\n  velX = velY = 0.0;\n  objX = mouseX;\n  objY = mouseY;\n}\n\nvoid mouseDragged() {\n  objX = mouseX;  \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30de\u30a6\u30b9\u306b\u8ffd\u5f93\u3059\u308b\n  objY = mouseY;\n}\n\nvoid mouseReleased() {\n  \/\/pmouseX\u306f\u524d\u306e\u30d5\u30ec\u30fc\u30e0\u306e\u30de\u30a6\u30b9\u306ex\u5ea7\u6a19\u3002\n  \/\/\u3053\u306e\u8a08\u7b97\u3067\u30de\u30a6\u30b9\u3092\u52d5\u304b\u3057\u305f\u30b9\u30d4\u30fc\u30c9\u304c\u308f\u304b\u308b\n  velX = mouseX - pmouseX;\n  velY = mouseY - pmouseY;\n}\n\n\/\/\u30d5\u30a7\u30fc\u30c9\u7528\u95a2\u6570\nvoid fade(boolean _fadeFlag) {\n  if (_fadeFlag) {\n    fill(255, 10);  \/\/\u900f\u660e\u5ea6\u306e\u3042\u308brect\u3092\u63cf\u753b\n    rect(0, 0, width, height);\n    fill(0);      \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u9ed2\n  } else {\n    background(255);\n  }\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">4.7.3 \u30de\u30a6\u30b9\u5ea7\u6a19\u306e\u65b9\u5411\u306b\u5411\u304f<\/h1>\n\n\n\n<p>\u7d50\u69cb\u9700\u8981\u304c\u3042\u308b\u306e\u304c\u3001\u300c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30de\u30a6\u30b9\u306e\u65b9\u5411\u3092\u5411\u304f\u300d\u3068\u3044\u3046\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3067\u3059\u3002<br>\u3053\u3053\u3067\u306f\u3001<strong>atan2()<\/strong>\u3068\u3044\u3046\u95a2\u6570\u304c\u30dd\u30a4\u30f3\u30c8\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>atan2(y\u5ea7\u6a19, x\u5ea7\u6a19);<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u5ea7\u6a19\u306b\u306f\u3001\u57fa\u6e96\u70b9\u3092(0, 0)\u3068\u3057\u305f\u6642\u306ey\u5ea7\u6a19\u3001x\u5ea7\u6a19\u3092\u5165\u308c\u307e\u3059\u3002\u901a\u5e38\u306e\u95a2\u6570\u306e\u5ea7\u6a19\u6307\u5b9a\u3068\u9055\u3044\u3001<strong>x\u3068y\u306e\u9806\u5e8f\u304c\u9006\u3067\u3042\u308b<\/strong>\u3053\u3068\u306b\u6c17\u3092\u3064\u3051\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_angle.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"300\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_angle-284x300.png\" alt=\"interaction_angle\" class=\"wp-image-6341\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_angle-284x300.png 284w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_angle.png 400w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-e<\/div>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-f<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>float centerX;   \/\/\u57fa\u6e96\u70b9\u306ex\u5ea7\u6a19\nfloat centerY;  \/\/\u57fa\u6e96\u70b9\u306ey\u5ea7\u6a19\n \nvoid setup() { \n  size(400, 400); \n  stroke(0);\n  strokeWeight(5);\n  centerX = width\/2;  \/\/\u57fa\u6e96\u70b9\u3092\u753b\u9762\u4e2d\u592e\u306b\u8a2d\u5b9a\n  centerY = height\/2;\n}\n \nvoid draw() {\n \n  background(255);\n \n  \/\/\u30de\u30a6\u30b9\u304b\u3089\u57fa\u6e96\u70b9\u306e\u89d2\u5ea6\u3092\u8a08\u7b97\n  float angle = atan2(mouseY - centerY, mouseX - centerX);\n \n  \/\/\u5ea7\u6a19\u5909\u63db\n  translate(centerX, centerY);  \/\/\u753b\u9762\u4e2d\u592e\u306b\u5ea7\u6a19\u5909\u63db\n\n  pushMatrix();\n  rotate(angle);  \/\/angle\u306e\u89d2\u5ea6\u306b\u5ea7\u6a19\u5909\u63db\n  line(-100, 0, 100, 0);\n  popMatrix();\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">4.7.4 \u30de\u30a6\u30b9\u304b\u3089\u9003\u3052\u308b<\/h1>\n\n\n\n<p>\u524d\u8ff0\u306e\u30a4\u30fc\u30b8\u30f3\u30b0\u3068\u57fa\u672c\u7684\u306a\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306f\u540c\u3058\u3067\u3059\u304c\u3001\u30de\u30a6\u30b9\u304c\u5186\u306b\u8fd1\u3065\u304f\u3068\u3001\u8fd1\u3065\u3044\u3066\u304d\u305f\u65b9\u5411\u3068\u53cd\u5bfe\u5074\u306b\u5186\u304c\u52d5\u304d\u307e\u3059\u3002<br>\u3061\u3087\u3063\u3068\u8907\u96d1\u3067\u3059\u304c\u3001<strong>atan2()<\/strong>\u3068\u3044\u3046\u95a2\u6570\u3067\u30de\u30a6\u30b9\u304b\u3089\u5186\u3078\u306e\u89d2\u5ea6\u3092\u8a08\u7b97\u3057\u3001<strong>dist()<\/strong>\u3068\u3044\u3046\u95a2\u6570\u3067\u30de\u30a6\u30b9\u304b\u3089\u5186\u307e\u3067\u306e\u8ddd\u96e2\u3092\u8a08\u7b97\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_escape.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"300\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_escape-284x300.png\" alt=\"interaction_escape\" class=\"wp-image-5416\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_escape-284x300.png 284w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_escape.png 400w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-f<\/div>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-g<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>float objX, objY;    \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306ex, y\u5ea7\u6a19\nfloat disX, disY;    \/\/mouse\u5ea7\u6a19\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ddd\u96e2\n\/\/\u30de\u30a6\u30b9\u306b\u9045\u308c\u308b\u5ea6\u5408\u3044\uff082.0\u3060\u3068\u901f\u3059\u304e\u3066\u898b\u3048\u306a\u3044\u306e\u306720.0\u306b\u3057\u3066\u304a\u304f\uff09\nfloat delay = 20.0;\nfloat targetX, targetY;  \/\/\u5186\u306e\u5230\u9054\u70b9\nfloat rad;  \/\/\u5186\u3068\u30de\u30a6\u30b9\u5ea7\u6a19\u307e\u3067\u306e\u89d2\u5ea6\nfloat distance;  \/\/\u5186\u3068\u30de\u30a6\u30b9\u5ea7\u6a19\u306e\u8ddd\u96e2\nfloat range = 100.0;  \/\/\u5186\u304c\u53cd\u5fdc\u3059\u308b\u30de\u30a6\u30b9\u5ea7\u6a19\u307e\u3067\u306e\u8ddd\u96e2\n\nvoid setup() {\n  size(400, 400);\n  background(255);\n\n  \/\/\u73fe\u5728\u306e\u30de\u30a6\u30b9\u5ea7\u6a19\u3067\u521d\u671f\u5316\n  targetX = objX = width \/ 2;\n  targetY = objY = height \/ 2;\n}\n\nvoid draw() {\n  \/\/\u30d5\u30a7\u30fc\u30c9\u3059\u308b\u6642\u306ftrue\u3001\u3057\u306a\u3044\u5834\u5408\u306ffalse\n  fade(false);\n\n  \/\/\u53ef\u52d5\u7bc4\u56f2\u306e\u67a0\n  noFill();\n  stroke(0);\n  rect(20, 20, width - 40, height - 40);\n\n  \/\/\u5186\u304b\u3089\u30de\u30a6\u30b9\u5ea7\u6a19\u307e\u3067\u306e\u89d2\u5ea6\n  rad = atan2(objY - pmouseY, objX - pmouseX);\n  \/\/\u5186\u304b\u3089\u30de\u30a6\u30b9\u5ea7\u6a19\u307e\u3067\u306e\u8ddd\u96e2\n  distance = dist(mouseX, mouseY, objX, objY);\n\n  \/\/\u8ddd\u96e2\u304crange\u4ee5\u5185\u3060\u3063\u305f\u3089\u65b0\u3057\u3044\u5230\u9054\u70b9\u3092\u8a2d\u5b9a\n  if (distance &lt; range) {\n\n    \/\/objX, Y\u306e\u5024\u306b\u65b0\u3057\u304f\u8ddd\u96e2\u3092\u52a0\u7b97\n    targetX = objX + distance*cos(rad);\n    targetY = objY + distance*sin(rad);\n  }\n\n  \/\/\u30de\u30a6\u30b9\u5ea7\u6a19\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8ddd\u96e2\u3092disX, disY\u306b\u5165\u308c\u308b\n  disX = targetX - objX;\n  disY = targetY - objY;\n\n  \/\/\u8ddd\u96e2\u3092delay\u3067\u5272\u3063\u305f\u5024\u3092\u8db3\u3059\uff08\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u79fb\u52d5\u3059\u308b\uff09\n  objX += disX\/delay;\n  objY += disY\/delay;\n\n  \/\/\u5186\u306f\u3001\u753b\u9762\u306e\u4e0a\u4e0b\u5de6\u53f320px\u3067\u6b62\u307e\u308b\n  objX = min(max(objX, 20), width - 20);\n  objY = min(max(objY, 20), height - 20);\n\n  fill(0);\n  ellipse(objX, objY, 20, 20);\n}\n\n\/\/\u30d5\u30a7\u30fc\u30c9\u7528\u95a2\u6570\nvoid fade(boolean _fadeFlag) {\n  if (_fadeFlag) {\n    fill(255, 10);  \/\/\u900f\u660e\u5ea6\u306e\u3042\u308brect\u3092\u63cf\u753b\n    rect(0, 0, width, height);\n    fill(0);      \/\/\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u9ed2\n  } else {\n    background(255);\n  }\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">4.7.5 \u30af\u30ea\u30c3\u30af\u3067\u5186\u306e\u30b5\u30a4\u30ba\u304c\u30d0\u30a6\u30f3\u30c9\u3059\u308b<\/h1>\n\n\n\n<p>\u5186\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u62e1\u5927\u7e2e\u5c0f\u3092\u7e70\u308a\u8fd4\u3057\u306a\u304c\u3089\u3001\u5143\u306e\u30b5\u30a4\u30ba\u306b\u623b\u308b\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002R1\u306f\u57fa\u6e96\u306b\u306a\u308b\u5186\u306e\u534a\u5f84\u3001R2\u306f\u62e1\u5927\u7e2e\u5c0f\u3059\u308b\u7bc4\u56f2\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_bounce_effect.png\"><img loading=\"lazy\" decoding=\"async\" width=\"284\" height=\"300\" src=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_bounce_effect-284x300.png\" alt=\"interaction_bounce_effect\" class=\"wp-image-5421\" srcset=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_bounce_effect-284x300.png 284w, https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-content\/uploads\/2007\/06\/interaction_bounce_effect.png 400w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a><\/figure>\n\n\n\n<div class=\"imgCaption\">\u56f34.7-g<\/div>\n\n\n\n<div class=\"listCaption\">\u30ea\u30b9\u30c84.7-h<\/div>\n\n\n\n<pre class=\"wp-block-aphph-prism-block lang:processing language-processing\"><code>float rad = 0.0;  \/\/\u89d2\u5ea6\u3092\u6642\u9593\u3068\u3057\u3066\u6271\u3046\u5909\u6570\nfloat velocity = 0.1;  \/\/\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306e\u30b9\u30d4\u30fc\u30c9\nfloat damp = 0.98;  \/\/\u62e1\u5927\u7e2e\u5c0f\u306e\u6e1b\u8870\u7387\nfloat maxSize = 100.0;  \/\/\u5186\u306e\u6700\u5927\u30b5\u30a4\u30ba\nfloat R1 = 300.0;  \/\/\u57fa\u6e96\u5186\u306e\u30b5\u30a4\u30ba\nfloat R2 = 0.0;  \/\/\u62e1\u5927\u7e2e\u5c0f\u3059\u308b\u7bc4\u56f2\n \nvoid setup() {\n  size(400, 400);\n  noStroke();\n  fill(0);\n}\n \nvoid draw() {\n  background(255);\n \n  float r = R1 + R2*sin(rad);  \/\/\u5186\u306e\u30b5\u30a4\u30ba\u3092\u8a08\u7b97\n \n  ellipse(width\/2, height\/2, r, r);  \/\/\u5186\u3092\u63cf\u753b\n \n  rad += velocity;  \/\/\u6642\u9593\u3092\u9032\u3081\u308b \n  R2 *= damp;  \/\/\u5f90\u3005\u306b0\u306b\u8fd1\u3065\u3051\u308b\n}\n \nvoid mousePressed() {\n  rad = 0;  \/\/\u30de\u30a6\u30b9\u3092\u62bc\u3059\u3068\u6642\u9593\u3092\u30ea\u30bb\u30c3\u30c8\n  R2 = maxSize;  \/\/\u5186\u306e\u30b5\u30a4\u30ba\u3092\u6700\u5927\u5024\u306b\u3059\u308b\n}\n\ufeff<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3059\u3067\u306b\u300c3.4\u3000\u30a4\u30f3\u30bf\u30e9\u30af\u30b7\u30e7\u30f31\u300d\u3067\u306f\u3001\u7c21\u5358\u306a\u30de\u30a6\u30b9\u30a4\u30d9\u30f3&#8230; <a href=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/key_event\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,26,11],"tags":[],"class_list":["post-1672","post","type-post","status-publish","format-standard","hentry","category-processing","category-ii","category-11"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/1672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/comments?post=1672"}],"version-history":[{"count":71,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/1672\/revisions"}],"predecessor-version":[{"id":13749,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/1672\/revisions\/13749"}],"wp:attachment":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/media?parent=1672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/categories?post=1672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/tags?post=1672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}