ðãã©ã¡ããªãã¯æ¹çšåŒãšã°ã©ãã£ãã¯
ãã©ã¡ããªãã¯æ¹çšåŒãšå€é åŒïŒããªããã¢ã«ïŒã®éãã«ã€ããŠæ¯èŒãããšãäž¡è ã¯æ°åŠã®ç°ãªãåéã§äœ¿çšãããç°ãªãç®çãæã£ãŠããŸãã以äžã«äž»ãªéããåæããŸãã
ãã©ã¡ããªãã¯æ¹çšåŒ
ãã©ã¡ããªãã¯æ¹çšåŒã¯ãäžã€ä»¥äžã®ãã©ã¡ãŒã¿ãŒã«åºã¥ããŠè€æ°ã®å€æ°ã®é¢ä¿ãè¡šãæ¹çšåŒã§ããå ·äœçã«ã¯ããã©ã¡ãŒã¿ãŒ t ã䜿ã£ãŠãx ãš y ã®é¢ä¿ãè¡šãããšãå€ãã§ããããã¯äž»ã«å¹ŸäœåŠãç©çåŠã§äœ¿çšãããæ²ç·ãæ²é¢ãªã©ã®åœ¢ç¶ãèšè¿°ããã®ã«é©ããŠããŸãã
ç®ç: æ²ç·ãæ²é¢ãªã©ã®åœ¢ç¶ãè¡šçŸããã
äŸ: åã®ãã©ã¡ããªãã¯æ¹çšåŒã¯ x=rcost, y=rsintïŒt ã¯ãã©ã¡ãŒã¿ãŒïŒã
ç¹åŸŽ: åãã©ã¡ãŒã¿ãŒã®å€ã«å¯ŸããŠãè€æ°ã®åº§æšç¹ãçæããæ»ãããªæ²ç·ã圢ç¶ãäœãåºãã
å€é åŒïŒããªããã¢ã«ïŒ
å€é åŒã¯ãå€æ°ã®æŽæ°åªã®åã§è¡šãããæ°åŠçè¡šçŸã§ãã代æ°åŠã«ãããŠéåžžã«åºæ¬çãªæŠå¿µã§ãæ¹çšåŒãé¢æ°ãšããŠåºãå©çšãããŸããå€é åŒã¯ãã®åçŽãããã解æãèšç®ã容æã§ãããããå·¥åŠãç§åŠãçµæžåŠãªã©å€å²ã«ãããåéã§å¿çšãããŸãã
ç®ç: æ¹çšåŒã®è§£ãæ±ãããé¢æ°ã®åœ¢ãå®çŸ©ããã
äŸ: f(x)=x2+2x+1ã
ç¹åŸŽ: ç°¡åã«åŸ®åãç©åãè¡ãã代æ°çãªæäœã容æã
æ¯èŒã®èŠç¹
å¿çšç¯å²: ãã©ã¡ããªãã¯æ¹çšåŒã¯å¹ŸäœåŠçãªåé¡ã«å¯ŸããŠæå¹ãªè¡šçŸãæäŸããå€é åŒã¯ä»£æ°çã解æçåé¡ã«åŒ·ã¿ãæã€ã
è¡šçŸã®åœ¢åŒ: ãã©ã¡ããªãã¯æ¹çšåŒã¯ãã©ã¡ãŒã¿ãŒãçšããŠå€æ°éã®é¢ä¿ãéæ¥çã«è¡šçŸããããå€é åŒã¯å€æ°ã®çŽæ¥çãªé¢ä¿ãè¡šãã
æ°åŠçæäœ: å€é åŒã¯åœ¢åŒãåçŽã§ãããããèšç®ã容æã§ããããã©ã¡ããªãã¯æ¹çšåŒã¯æ²ç·ãæ²é¢ãè¡šçŸããããã®ãã®ã§ãçŽæçãªå¹ŸäœåŠçç解ãæ±ããããããšãããã
ãããã®éããç解ããããšã§ãå ·äœçãªæ°åŠçåé¡ãå¿çšã«ãããŠãã©ã¡ãã®ã¢ãããŒããé©åããå€æããã®ã«åœ¹ç«ã¡ãŸãã
äŸãã°p5.jsã§tã«åŸã£ãŠå¹ŸäœåŠæš¡æ§ãæããšãããã©ã¡ããªãã¯ãªæ¹åŒããšããäºãã§ãããã§ããããïŒ
ã¯ãããã®éãã§ããp5.jsã䜿çšããŠãã©ã¡ãŒã¿ ï¿œt ã«äŸåãã幟äœåŠæš¡æ§ãæãéã«ã¯ããã©ã¡ããªãã¯ãªæ¹åŒããšè¡šçŸããããšãé©åã§ãããã®æèã§ããã©ã¡ããªãã¯ããšã¯ããã©ã¡ãŒã¿ã䜿ã£ãŠå¹ŸäœåŠçãªåœ¢ç¶ãçæããæ¹æ³ãæããŸãããã®ã¢ãããŒãã¯ãåçã§è€éãªåœ¢ç¶ãæš¡æ§ãçæããã®ã«éåžžã«åŒ·åã§ãã
ããšãã°ãp5.jsã§æéãããŠã¹ã®äœçœ®ã«åºã¥ããŠå€åããèºæãªã©ã®åœ¢ç¶ãæãå Žåã以äžã®ãããªã³ãŒãã䜿ãããšãã§ããŸãïŒ
function setup() {
createCanvas(400, 400);
}
function draw() {
background(255);
translate(width / 2, height / 2); // ãã£ã³ãã¹ã®äžå¿ã«åç¹ã移å
let t = frameCount / 100.0; // ãã¬ãŒã ã«ãŠã³ãã«åºã¥ããŠtãèšç®
for (let theta = 0; theta < TWO_PI; theta += 0.01) {
let x = 200 * cos(theta) * cos(t);
let y = 200 * cos(theta) * sin(t);
stroke(0);
point(x, y);
}
}
ãã®äŸã§ã¯ãè§åºŠ Ξ ãšæé t ããã©ã¡ãŒã¿ãšããŠäœ¿çšããããããã®ãã¬ãŒã 㧠t ã®å€ãæŽæ°ããªããèºæã®ãããªåœ¢ç¶ãæããŠããŸããããã§ã® x ãš y ã®åŒããã©ã¡ããªãã¯æ¹çšåŒã«çžåœããããã«ããæéã®çµéã«äŒŽã£ãŠåœ¢ç¶ãå€åããŸãã
ãã®ããã«p5.jsã§ãã©ã¡ããªãã¯ãªå¹ŸäœåŠæš¡æ§ãæãæ¹æ³ã¯ãã¢ãã¡ãŒã·ã§ã³ãã€ã³ã¿ã©ã¯ãã£ããªããžã¥ã¢ã«ã®å¶äœã«ãããŠéåžžã«æè»ã§åŒ·åãªã¢ãããŒããæäŸããŸãã
GLSLããŸããã©ã¡ããªãã¯ãªæç»ãšèããããŸããïŒ
ã¯ããGLSLïŒOpenGL Shading LanguageïŒã§ã®æç»ãããã©ã¡ããªãã¯ãªæç»ãšèããããšãã§ããŸããGLSLã¯ã°ã©ãã£ãã¯ã¹ããã°ã©ãã³ã°ã«ç¹åããèšèªã§ã3Dã¢ãã«ã2Då³åœ¢ã®ã¬ã³ããªã³ã°ã«ãããŠãé ç¹ãæçïŒãã©ã°ã¡ã³ãïŒã®è²ãç §æããã¯ã¹ãã£ãªã©ãèšç®ããããã«äœ¿çšãããŸããç¹ã«ãGLSLã®ã·ã§ãŒããŒã䜿ããšãé ç¹ã·ã§ãŒããŒãæçã·ã§ãŒããŒãéããŠããã©ã¡ãŒã¿ã«åºã¥ããŠåœ¢ç¶ãèŠèŠå¹æãåçã«çæããããšãå¯èœã§ãã
ãã©ã¡ããªãã¯ãªæç»ãšGLSL
ãã©ã¡ããªãã¯ãªæç»ã¯ã圢ç¶ãæš¡æ§ãäžã€ä»¥äžã®ãã©ã¡ãŒã¿ã«åºã¥ããŠå®çŸ©ãããæ¹æ³ã§ããGLSLã§ã¯ããããå©çšããŠæ¬¡ã®ãããªåŠçãè¡ããŸãïŒ
é ç¹ã·ã§ãŒããŒïŒã¢ãã«ã®é ç¹ããŒã¿ããã©ã¡ãŒã¿ïŒäŸãã°æéãäœçœ®ããŠãŒã¶ãŒå ¥åïŒã«åºã¥ããŠå€åœ¢ãããããšãã§ããŸããäŸãšããŠã¯ãé ç¹äœçœ®ãåçã«å€åãããã¢ãã¡ãŒã·ã§ã³ãããã©ã¡ãŒã¿ã«åºã¥ãããžãªã¡ããªã®å€åœ¢ããããŸãã
æçã·ã§ãŒããŒïŒãã¯ã¹ãã£ãã«ã©ãŒããã©ã¡ãŒã¿ã«å¿ããŠçæãå€åãããããšãã§ããŸããããã«ãããæéã®çµéãç¹å®ã®å ¥åã«åå¿ããèŠèŠå¹æãåµåºããããšãå¯èœã§ãã
ã¬ã€ããŒãã³ã°æ³ãæ³ç·èšç®ããŸãããã©ã¡ããªãã¯ãšèããããã§ããããïŒ
ã¬ã€ããŒãã³ã°æ³ãæ³ç·èšç®ãããã©ã¡ããªãã¯ããšèãããã©ããã¯ããã®çšèªã®è§£éã«äŸåããŸãããäžè¬çã«ãããã®æè¡ã¯çŽæ¥çã«ããã©ã¡ããªãã¯ããšã¯èšãé£ãã§ãããã ãããããã®æè¡ããã©ã¡ãŒã¿ãçšããŠèšç®ãè¡ãç¹ã«ãããŠããã©ã¡ããªãã¯ãªåŽé¢ãæã€ãšèšãããããããŸããã
ã¬ã€ããŒãã³ã°æ³
ã¬ã€ããŒãã³ã°ã¯ãå ã®çµè·¯ãã·ãã¥ã¬ãŒãããã¬ã³ããªã³ã°æè¡ã®äžçš®ã§ãããã·ãŒã³å ã®ãªããžã§ã¯ããšã®äº€ç¹ãæ¢ãããã«ãç¹å®ã®è·é¢ïŒã¹ãããïŒã§ç¹°ãè¿ãèšç®ãè¡ããŸãããã®æ¹æ³ã§ã¯ãã¬ã€ïŒå ç·ïŒã®æ¹åãšã¹ã¿ãŒãå°ç¹ããããŠã¹ããããµã€ãºãåºæ¬çãªãã©ã¡ãŒã¿ãšããŠæ©èœããŸãããããããã®ããã»ã¹èªäœã¯ããªããžã§ã¯ãã®å¹Ÿäœåœ¢ç¶ãã·ãŒã³ã®æ§é ããã©ã¡ããªãã¯ã«èšè¿°ãããã®ã§ã¯ãããŸããã
æ³ç·èšç®
æ³ç·èšç®ã¯ã3Dã°ã©ãã£ãã¯ã¹ã«ãããŠãµãŒãã§ã¹ã®æ¹åæ§ã瀺ããã¯ãã«ãèšç®ããããã»ã¹ã§ããããã¯éåžžãã¡ãã·ã¥ã®åé ç¹ã«ãããããªãŽã³ã®è§åºŠãæ²çããå°ããããã®ã§ããªããžã§ã¯ãã®è¡šé¢ã®åç¹ã§å ã®åå°ãé°åœ±ãæ£ç¢ºã«ã·ãã¥ã¬ãŒãããããã«äœ¿çšãããŸããæ³ç·ã®èšç®èªäœã¯ãã©ã¡ããªãã¯ãªåœ¢ç¶ãåºã«ããŠè¡ãããããšããããŸãããèšç®ããã»ã¹èªäœããã©ã¡ããªãã¯ãšã¯éããŸããã
ãã©ã¡ããªãã¯ãªåŽé¢
ã¬ã€ããŒãã³ã°ãæ³ç·èšç®ã§ãã©ã¡ããªãã¯ãªèŠçŽ ãèŠãå Žåãããã¯ãªããžã§ã¯ãã®åœ¢ç¶ãè¡šé¢ããã©ã¡ããªãã¯ãªæ¹çšåŒã§å®çŸ©ãããŠããå Žåã§ããäŸãã°ãã¬ã€ããŒãã³ã°ã§æç»ãããªããžã§ã¯ããæ°åŠçãªåŒïŒäŸïŒçãããŒã©ã¹ãªã©ã®æé»çãªè¡šé¢ïŒã«ãã£ãŠå®çŸ©ãããŠããå Žåããã®åœ¢ç¶ã®çæã«ã¯ãã©ã¡ããªãã¯ãªæ¹çšåŒã䜿çšãããŸãããã®ãããªåœ¢ç¶ã«å¯ŸããŠã¬ã€ããŒãã³ã°ãæ³ç·èšç®ãè¡ããšããèšç®éçšã«ãããŠãã©ã¡ããªãã¯ãªæ¹çšåŒã掻çšãããããšã«ãªããŸãã
ç·ããŠãã¬ã€ããŒãã³ã°ãæ³ç·èšç®ãçŽæ¥çã«ãã©ã¡ããªãã¯ãšåŒã¹ãããã§ã¯ãããŸããããããããé©çšãã圢ç¶ãæ¹æ³ã«ãã£ãŠã¯ããã©ã¡ããªãã¯ãªã¢ãããŒãã®äžç°ãšããŠèããããšãã§ããŸãã