JavaScript¤Çµ½Ò¤Ç¤¤ëʪÍý³Ø¥Ù¡¼¥¹¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤òʬ¤«¤ê¤ä¤¹¤¯³Ø¤Ù¼ÂºÝ¤Ë¥Ç¥â¤òÆ°¤«¤»¤ë¡ÖTen Minute Physics¡×
ʪÍý³Ø¤Ë´ð¤Å¤¯¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¥³¥ó¥Ô¥å¡¼¥¿¡¼¥°¥é¥Õ¥£¥Ã¥¯¥¹¤Ç»Å¾å¤²¤ëÆ°²è¤òYouTube¥Á¥ã¥ó¥Í¥ë¤ÎTen Minute Physics¤¬Åê¹Æ¤·¤Æ¤¤¤Þ¤¹¡£Ten Minute Physics¤¬¤³¤ì¤Þ¤ÇÅê¹Æ¤·¤Æ¤¤¿¿ô¿¤¯¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î¥³¡¼¥É¤ä¡¢¼ÂºÝ¤Ë¥Ö¥é¥¦¥¶¤ÇÆ°ºî¤¹¤ë¥Ç¥â¤Ë¤Ä¤¤¤Æ¡¢±¿±Ä¼Ô¤ÇNVIDIA¤Î½¾¶È°÷¤Ç¤¢¤ë¤È¤¤¤¦¥Þ¥ë¥Á¡¼¥º¡¦¥ß¥é¡¼»á¤¬¾Ò²ð¤·¤Þ¤·¤¿¡£
Ten Minute Physics
¥ß¥é¡¼»á¤Ïµ»öºîÀ®»þÅÀ¤Ç17ËܤÎÆ°²è¤òÅê¹Æ¤·¤Æ¤ª¤ê¡¢½çÈ֤˻ëÄ°¤·¤Æ¤¤¤¯¤³¤È¤Ç¤µ¤Þ¤¶¤Þ¤Ê2D¡¦3D¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò³Ø¤ó¤Ç¤¤¤¯¤³¤È¤¬²Äǽ¤Ç¤¹¡£¥ß¥é¡¼»á¤Ï¥Á¥å¡¼¥È¥ê¥¢¥ë¤ÎÆ°²è¤Î¤Û¤«¡¢¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î¥³¡¼¥É¤ä¼ÂºÝ¤Ë¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤òÆ°¤«¤»¤ë¥Ç¥â¥µ¥¤¥È¤ò¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£
¢¡01¡§2D¥¦¥§¥Ö¥Ö¥é¥¦¥¶¤ÎʪÍý³ØÆþÌç
¼«¸Ê´°·ë·¿¤ÎHTMLʸ½ñ¤ÎÃæ¤Ë¿ô¹Ô¤ÎJavascript¥³¡¼¥É¤òµ½Ò¤¹¤ë¤À¤±¤Ç¡¢¹Å¤¤ÊªÂΡ¢½À¤é¤«¤¤ÊªÂΡ¢ÉÛ¡¢¿å¡¢º½¤Ê¤É¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤Æ¤¤¤ëTen Minute Physics¤Î1ËÜÌܤÎÆ°²è¤Ç¤¹¡£¥ß¥é¡¼»á¤Î¼«¸Ê¾Ò²ð¤Ë³¤¡¢´Êñ¤Ê2D¥â¥Ç¥ë¤ÎºîÀ®ÊýË¡¤¬¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
01 - Writing a physics simulation in 10 minutes - YouTube
°Ê²¼¤ÏÆ°²è¤ÎÆâÍƤòƧ¤Þ¤¨¤ÆJavaScript¤Çµ½Ò¤µ¤ì¤¿¡¢Âçˤ¤Îµ°Æ»¤òÉÁ¤¯¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ç¤¹¡£¥Ë¥å¡¼¥È¥ó¤Î±¿Æ°¤ÎÂè2ˡ§¤¬¹Í褵¤ì¤Æ¤ª¤ê¡¢¼ÁÎ̤ä²Ã®ÅÙ¤ò·×»»¤ËÆþ¤ì¤¿µ°Æ»¤Î·×»»¤¬¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¡£°Ê²¼¤Î¥ê¥ó¥¯¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¡¢¼ÂºÝ¤Ë¥Ö¥é¥¦¥¶¾å¤ÇÆ°ºî¤¹¤ë¥Ç¥â¤ò³Îǧ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
Cannonball
https://matthias-research.github.io/pages/tenMinutePhysics/01-cannonball2d.html
¢¡02¡§3D¤ÈVR¤Î¥¦¥§¥Ö¥Ö¥é¥¦¥¶¤ÎʪÍý³Ø¤Î¾Ò²ð
¥°¥é¥Õ¥£¥Ã¥¯¥¨¥ó¥¸¥ó¤ÎTHREE.js¤ò»È¤Ã¤Æ¥Ö¥é¥¦¥¶¡¼¤Ç¼Â¹Ô²Äǽ¤Ê3DʪÍý¥Ç¥â¤òºîÀ®¤¹¤ëÊýË¡¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
02 - Writing a VR physics simulation in 10 minutes - YouTube
°Ê²¼¤¬THREE.js¤ò»È¤Ã¤ÆˤÃƤò3D²½¤·¡¢VR¥Ç¥â¤Ë¤·¤¿¤â¤Î¤Ç¤¹¡£²èÌ̺¸¾å¤Î¡ÖRun¡×¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤ÈˤÃƤ¬Æ°¤½Ð¤·¤Þ¤¹¡£
Cannonball 3d
https://matthias-research.github.io/pages/tenMinutePhysics/02-cannonball3d.html
¢¡03¡§2D¤Ç¤Î¥Ü¡¼¥ë¾×ÆͤνèÍý
2D¤Ç¥Ü¡¼¥ë¤Î¾×Æͤò½èÍý¤¹¤ëÊýË¡¤È¡¢¤É¤ó¤Ê¥Ö¥é¥¦¥¶¤Ç¤âÆ°ºî¤¹¤ë¥¹¥¿¥ó¥É¥¢¥í¡¼¥ó¤ÎHTML¥É¥¥å¥á¥ó¥È¤Ç¥Ó¥ê¥ä¡¼¥É¥·¥ß¥å¥ì¡¼¥¿¤òºîÀ®¤¹¤ëÊýË¡¤¬¾Ò²ð¤µ¤ì¤¿Æ°²è¤Ç¤¹¡£
03 - Writing a billiard simulation in 10 minutes - YouTube
¥Ó¥ê¥ä¡¼¥É¤Î¤è¤¦¤Ë¥Ü¡¼¥ë¤¬¾×Æͤ¹¤ë½èÍý¤Î¥Ç¥â¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Billiard
https://matthias-research.github.io/pages/tenMinutePhysics/03-billiard.html
¢¡04¡§¥Ô¥ó¥Ü¡¼¥ë¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î½ñ¤Êý
¤É¤ó¤Ê¥Ö¥é¥¦¥¶¤Ç¤âÆ°ºî¤¹¤ë¥Ô¥ó¥Ü¡¼¥ë¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¥¼¥í¤«¤é½ñ¤¯ÊýË¡¤¬¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
04 - How to write a pinball simulation - YouTube
¼ÂºÝ¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ï°Ê²¼¤Î¥Ú¡¼¥¸¤«¤é³Îǧ¤Ç¤¤Þ¤¹¡£
Pinball
https://matthias-research.github.io/pages/tenMinutePhysics/04-pinball.html
¢¡05¡§ºÇ¤â¥·¥ó¥×¥ë¤ÊʪÍý¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¼êË¡
ʪÂΤò¼«Í³¤ËÆ°¤«¤·¤Æ¤¤¤¿¤³¤ì¤Þ¤Ç¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤È°ã¤¤¡¢ÊªÂΤ¬·è¤á¤é¤ì¤¿¾ì½ê¤·¤«Æ°¤±¤Ê¤¤¤È¤¤¤¦À©Ìó¤¬ÉÕ¤¤¤¿¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤òÆ°ºî¤µ¤»¤ëÊýË¡¤¬¾Ò²ð¤µ¤ì¤¿Æ°²è¤Ç¤¹¡£
05 - The simplest possible physics simulation method - YouTube
°ÌÃÖ¥Ù¡¼¥¹ÊªÍýË¡(PBD)¤È¸Æ¤Ð¤ì¤ë¹Í¤¨Êý¤Ë¤Î¤Ã¤È¤Ã¤Æ¥·¥ß¥å¥ì¡¼¥È¤µ¤ì¤¿¡¢1¤Ä¤ÎÀþ¾å¤Ë¤·¤«Â¸ºß¤Ç¤¤Ê¤¤ÊªÂΤòÆ°¤«¤¹¥Ç¥â¤¬°Ê²¼¤«¤é³Îǧ¤Ç¤¤Þ¤¹¡£
Constrained Dynamics
https://matthias-research.github.io/pages/tenMinutePhysics/05-bead.html
¢¡06¡§»°½Å¿¶¤ê»Ò¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó
¿¶¤ê»Ò¤¬3¤ÄÏ¢¤Ê¤Ã¤¿»°½Å¿¶¤ê»Ò¤òÆ°¤«¤¹ÊýË¡¤Ç¤¹¡£
06 - The simplest way to simulate a triple pendulum - YouTube
¼ÂºÝ¤Î¥Ç¥â¤Ï°Ê²¼¤«¤é³Îǧ²Äǽ¡£ÉÛ¡¢¥í¡¼¥×¡¢È±¡¢ÌÓÈé¡¢º½¤Ê¤É¡¢Â¿¼ï¿ÍͤÊʪÂΤΥ·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ËÍøÍѤǤ¤ë¤½¤¦¤Ç¤¹¡£
Pendulum
https://matthias-research.github.io/pages/tenMinutePhysics/06-pendulum.html
¢¡07¡§¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î¤¿¤á¤Î3D¥Ù¥¯¥È¥ë¿ô³Ø
3D¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò½ñ¤¯¤¿¤á¤ËɬÍפÊ3¼¡¸µ¥Ù¥¯¥È¥ë¿ô³Ø¤ÎÆþÌçÆ°²è¤Ç¤¹¡£
07 - Intuitive 3d Vector Math for Simulations - YouTube
¢¡08¡§3D¥·¡¼¥ó¤Ç¥æ¡¼¥¶¡¼¤È¤Î¥¤¥ó¥¿¥é¥¯¥·¥ç¥ó¤ò¼Â¸½¤¹¤ë
¥æ¡¼¥¶¡¼¤¬¥ª¥Ö¥¸¥§¥¯¥È¤ò½¦¤Ã¤¿¤ê¡¢Æ°¤«¤·¤¿¤ê¡¢Åꤲ¤¿¤ê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ëÊýË¡¤¬¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
08 - Provide user interaction with a 3d scene - YouTube
¥Ç¥â¤Ç¤Ï¼ÂºÝ¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¯¥ê¥Ã¥¯¤·¤ÆÆ°¤«¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Interaction
https://matthias-research.github.io/pages/tenMinutePhysics/08-interaction.html
¢¡09¡§XPBD¤Ç¥·¥ß¥å¥ì¡¼¥È¤¹¤ë
³ÈÄ¥°ÌÃÖ¥Ù¡¼¥¹ÊªÍýË¡(XPBD)¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ë¤¿¤á¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤¹¡£
09 Getting ready to simulate the world with XPBD - YouTube
¢¡10¡§½À¤é¤«¤¤ÊªÂΤδÊñ¤Ç²õ¤ì¤Ë¤¯¤¤¥·¥ß¥å¥ì¡¼¥·¥ç¥ó
°ÂÄêŪ¤«¤Ä¥·¥ó¥×¥ë¤ÊÊýË¡¤Ç½ÀʪÂÎ(¥½¥Õ¥È¥Ü¥Ç¥£)¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ëÊýË¡¤ò¾Ò²ð¤·¤¿¤â¤Î¤Ç¤¹¡£
10 - Simple and unbreakable simulation of soft bodies - YouTube
¥Ç¥â¤Ç¤Ï¤°¤Ë¤ã¤°¤Ë¤ã¤ÈÆ°¤¯ÊªÂΤò¥¯¥ê¥Ã¥¯¤·¤ÆÆ°¤«¤»¤Þ¤¹¡£
Soft Body Simulation
https://matthias-research.github.io/pages/tenMinutePhysics/10-softBodies.html
¢¡11¡§²¿Àé¤â¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î½Å¤Ê¤ê¤ò¹â®¤Ç¸¡º÷¤¹¤ëÊýË¡
¤³¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢¶õ´Ö¥Ï¥Ã¥·¥å¤ò»ÈÍѤ·¤Æ¡¢¿ôÀé¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ª¡¼¥Ð¡¼¥é¥Ã¥×(½Å¤Ê¤ê)¤ò¸«¤Ä¤±¤ëÊýË¡¤¬¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
11 - Finding overlaps among thousands of objects blazing fast - YouTube
¥Ç¥â¤Ç¤Ï¤¤¤¯¤Ä¤â¤ÎʪÂΤ¬¾×Æͤ¹¤ëÍͻҤ¬±Ç¤·½Ð¤µ¤ì¤Þ¤¹¡£¡ÖShow collisions¡×¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¾×ÆͲս꤬²«¿§¤Ë¸÷¤ê¤Þ¤¹¡£
Spatial Hashing
https://matthias-research.github.io/pages/tenMinutePhysics/11-hashing.html
¢¡12¡§¥½¥Õ¥È¥Ü¥Ç¥£¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î100Çܹ⮲½
¹â¾ÜºÙ¥Ó¥¸¥å¥¢¥ë¥á¥Ã¥·¥å¤òÄã²òÁüÅ٤λÍÌÌÂÎ¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¥á¥Ã¥·¥å¤ËËä¤á¹þ¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥½¥Õ¥È¥Ü¥Ç¥£¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò100ÇÜ¥¹¥Ô¡¼¥É¥¢¥Ã¥×¤¹¤ëÊýË¡¤¬¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
12 - 100x speedup for soft body simulations - YouTube
¼ÂºÝ¤Ë¥½¥Õ¥È¥Ü¥Ç¥£¤ò¥¯¥ê¥Ã¥¯¤·¤ÆÆ°¤«¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Soft Body Simulation
https://matthias-research.github.io/pages/tenMinutePhysics/12-softBodySkinning.html
¢¡13¡§BlenderÍѤλÍÌÌÂÎ¥á¥Ã¥·¥å¤ò½ñ¤¯ÊýË¡
Incremental Delaunay method¤È¸Æ¤Ð¤ì¤ë¼êË¡¤òÍѤ¤¡¢¥µ¡¼¥Õ¥§¥¹¥á¥Ã¥·¥å¤Î»ÍÌÌÂÎ¥á¥Ã¥·¥å¤òºîÀ®¤¹¤ëÊýË¡¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿¡¢Python¤òBlender¤Î¥×¥é¥°¥¤¥ó¤È¤·¤Æ¼ÂÁõ¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤â´Êñ¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
13 - Writing a Tetrahedralizer for Blender - YouTube
¢¡14¡§ÉۤΥ·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ÎÈëÌ©
¤Ò¤é¤Ò¤é¤ÈÆ°¤¯ÉÛ¤ò¥·¥ß¥å¥ì¡¼¥È¤¹¤ëÊýË¡¤¬²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
14 - The secret of cloth simulation - YouTube
¤³¤ÎÊýË¡¤Ë¤è¤ê¡¢¥¹¥Þ¡¼¥È¥Õ¥©¥ó¤Ç6400¸Ä¤â¤Î»°³Ñ·Á¤ò30fps°Ê¾å¤Ç¥·¥ß¥å¥ì¡¼¥È¤¹¤ëÈó¾ï¤Ë¹â®¤Ç°ÂÄꤷ¤¿¥Ç¥â¤¬¼Â¸½¤µ¤ì¤Æ¤¤¤ë¤È¤Î¤³¤È¡£¤³¤ì¤â¤¹¤Ù¤ÆJavaScript¤Çµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Cloth Simulation
https://matthias-research.github.io/pages/tenMinutePhysics/14-cloth.html
¢¡15¡§¼«¸Ê¾×ÆÍ¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ÇºÇ¤âº¤Æñ¤ÊÌäÂê
1Ëç¤ÎÉÛ¤¬½Å¤Ê¤ë¤È¤¤ËȯÀ¸¤¹¤ë¼«¸Ê¾×ÆͤÎÌäÂê¤ò°ÂÄêŪ¤Ë½èÍý¤¹¤ë¤¿¤á¤Î5¤Ä¤Î¥È¥ê¥Ã¥¯¤¬¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
15 - Self-collisions, solving the hardest problem in animation - YouTube
¥Ç¥â¤òÆ°¤«¤¹¤È¡¢¾å¤ÎÊý¤«¤é¤Ò¤é¤Ò¤é¤ÈÍî¤Á¤Æ¤¯¤ëÉÛ¤ÎÍͻҤò¸«¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹
Cloth Self Collision Handling
https://matthias-research.github.io/pages/tenMinutePhysics/15-selfCollision.html
16¡§GPU¤Ç¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó
¤³¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢GPU¤Ç¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¹Ô¤¦ÊýË¡¤¬´Êñ¤Ë¾Ò²ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ë¤ª¤¤¤Æ¤Ï¡¢Python¤Ç¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤òµ½Ò¤¹¤ë¤¿¤á¤ÎNVIDIA Warp¤Ê¤É¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£
¢¡16 - Simulation on the GPU - YouTube
¢¡17¡§200¹Ô¤Î¥³¡¼¥É¤Ç¥ª¥¤¥é¡¼Î®ÂÎ¥·¥ß¥å¥ì¡¼¥¿¤ò½ñ¤¯ÊýË¡
¥ª¥¤¥é¡¼¤ÎÊýÄø¼°¤Ë´ð¤Å¤¯Î®ÂΤΥ·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¤¿¤Ã¤¿200¹Ô¤ÇºÆ¸½¤¹¤ëÊýË¡¤¬²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
17 - How to write an Eulerian fluid simulator with 200 lines of code. - YouTube
¼ÂºÝ¤ËºÆ¸½¤µ¤ì¤¿¥Ç¥â¤¬¤³¤ó¤Ê´¶¤¸¡£Ãæ±û¤Î³¥¿§¤ÎµåÂΤòÆ°¤«¤·¡¢Î®ÂΤÎή¤ì¤òÊѤ¨¤Æ³Ú¤·¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Euler Fluid
https://matthias-research.github.io/pages/tenMinutePhysics/17-fluidSim.html