ODE質å•ãƒ»è¦æœ›å‹Ÿé›†ï¼
ã‚³ãƒ¡ãƒ³ãƒˆç·æ•°ãŒ50ä»¶ã‚’è¶…ãˆãŸã®ã§ï¼Œã‚³ãƒ¡ãƒ³ãƒˆã‚’é ‚ã‘ã‚‹å ´åˆã¯æœ€æ–°ã®ODE質å•ãƒ»è¦æœ›å‹Ÿé›†â—‹ï¼ã«ã‚³ãƒ¡ãƒ³ãƒˆãã ã•ã„.
ODE(Open Dynamics Engine)本出版ã®è©±ãŒæ±ºã¾ã‚Šã€æ€¥ãƒ”ッãƒã§ãã®åŽŸç¨¿ã‚’æ›¸ã上ã’る作æ¥ã¨å’ç ”ã®æŒ‡å°ŽãŒã¾ã•ã«ä½³å¢ƒã«å…¥ã£ã¦ã„ã‚‹ãŸã‚æ›´æ–°ãŒé…ããªã‚Šã™ã¿ã¾ã›ã‚“。ODE本ã§ã¯åˆå¿ƒè€…ã®ãƒ¦ãƒ¼ã‚¶ã‚’対象ã«ã€ã‚ã‹ã‚Šãšã‚‰ã„ã¨ã“ã‚を説明ã—ãŸã„ã®ã§æ˜¯éžã“ã®ã‚¦ã‚§ãƒ–ã«è³ªå•ã‚„è¦æœ›ãŒã‚ã‚Œã°æŠ•ç¨¿ã—ã¦ãã ã•ã„。2月ã¯å¸«èµ°ã‚ˆã‚Šã‚‚より忙ã—ã„ã®ã§ã™ãã«ã”è¿”ç”ã§ããªã„ã‹ã‚‚ã—れã¾ã›ã‚“。ã¾ãŸã€ã‚¹ãƒ‘ムコメント防æ¢ã®ãŸã‚コメントを投稿ã„ãŸã ã„ã¦ã‚‚ã™ãã«ã¯è¡¨ç¤ºã•れã¾ã›ã‚“。 ã”了承ãã ã•ã„。
ã©ã‚ã»ã•ã‚“ã‹ã‚‰é ‚ã„ãŸè³ªå•ãŒè‰¯ã‹ã£ãŸã®ã§ã“ã“ã§ç´¹ä»‹ã—ã¾ã™ã€‚
「 ã¯ã˜ã‚ã¾ã—ã¦ã€‚ODEã«ã¤ã„ã¦æœ€è¿‘勉強を始ã‚ãŸã‚‚ã®ã§ã™ã€‚
ã“ã®ãƒ›ãƒ¼ãƒ ページをã„ã¤ã‚‚大変å‚考ã«ã•ã›ã¦ã„ãŸã ã„ã¦ãŠã‚Šã¾ã™ã€‚
å§¿å‹¢ã«ã¤ã„ã¦ã§ã™ãŒã€ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã§ã¤ãªãŒã‚ŒãŸç‰©ä½“ã®åˆæœŸå§¿å‹¢ã‚’変æ›ã™ã‚‹ã«ã¯ã©ã®ã‚ˆã†ã«ã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ã‹ã€‚
ã¾ãŸã€ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼ˆãƒ†ã‚スト)を表示ã•ã›ã‚‹ã«ã¯ã©ã®ã‚ˆã†ã«ã™ã‚Œã°ã‚ˆã„ã®ã§ã—ょã†ã‹ã€‚
æ•™ãˆã¦ã„ãŸã ã‘ã¾ã›ã‚“ã§ã—ょã†ã‹ã€‚ã€
ã•ã¦ã€ç¬¬ï¼‘å•ç›®ã®ã”質å•ã§ã™ãŒã€ï¼’ã¤ã®æ–¹æ³•ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚
A ジョイントã§ã¤ãªãŒã‚ŒãŸç‰©ä½“ã®åˆæœŸå§¿å‹¢ã‚’変æ›ã™ã‚‹æ–¹æ³•
1.軌é“を計算ã€é€†é‹å‹•å¦ã‚’è§£ãã€ç‰©ä½“ã®ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆãªã©ã‚’制御ã—ã¦ãã®ä½ç½®ã¨å§¿å‹¢ã«ã™ã‚‹ã€‚ã“れãŒã§ãれã°ä½•ã®è‹¦åŠ´ã‚‚ã—ã¾ã›ã‚“ã

2.物体を構æˆã—ã¦ã„ã‚‹å…¨ã¦ã®ãƒœãƒ‡ã‚£ã«ã€è¨å®šã—ãŸã„å§¿å‹¢ã¨ä½ç½®ã‚’dBodySetRotation()ã¨dBodySetPosition()を使ã£ã¦æŒ‡å®šã™ã‚‹ã€‚ã“ã®é–¢æ•°ã‚’作ã£ãŸã‚‰ã‚ーボードã‹ã‚‰ã®å…¥åŠ›ã‚’å—ã‘ã‚‹command関数(ODEã®ãƒ†ã‚¹ãƒˆãƒ—ラグラムtest_buggy.cppå‚照)ã®ä¸ã«å…¥ã‚Œã¦ç½®ãã¨ã‚ˆã„ã§ã—ょã†ã€‚ã‚ーを入力ã™ã‚‹ã¨ç‰©ä½“ãŒæŒ‡å®šã—ãŸä½ç½®ã¨å§¿å‹¢ã«ãªã‚Šã¾ã™ã€‚
B ウインドウã«ãƒ†ã‚ストを表示ã™ã‚‹æ–¹æ³•
cygwinを使ã†å ´åˆã®å›žç”ã§ã™ã€‚cygwinã®ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ã§ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã€X Windowシステムを起動ã—ã¾ã™ã€‚
startx &
ãã†ã™ã‚‹ã¨Xã®ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ãŒé–‹ãã®ã§ã€ãã®ä¸Šã§å®Ÿè¡Œã—ãŸã„オブジェクトファイルを起動ã—ã¦ãã ã•ã„。
以上ã§ã™ã€‚
ã“ã‚“ã°ã‚“ã¯ã€‚
物体ã¨ç‰©ä½“ã®ã‚³ãƒ³ã‚¿ã‚¯ãƒˆæ™‚ã§ã®
FDir1(direction1)ã®è¨å®šã«ã¤ã„ã¦ã®è³ªå•ã§ã™ã€‚
å‹•ã„ã¦ã‚‹ç´°é•·ã„æ¿(Trimesh)ã®ç¸¦é•·ã®é¢ã‚’常ã«
FDir1ã«è¨å®šã—ãŸã„ã®ã§ã™ãŒã©ã®ã‚ˆã†ã«ã—ãŸã‚‰
ã„ã„ã®ã‹æ‚©ã‚“ã§ã„ã¾ã™ã€‚
ï¼ˆç›®çš„ã¯æ¿ã®æ–¹å‘ã‚’å…ƒã«ã—ã¦ãã®æ™‚々ã®
mu2ã‚’è¨å®šã™ã‚‹ã“ã¨ã§ã™ã€‚)
ã¾ãšæ¿ã®å§¿å‹¢ã‚’dBodyGetRotationã§
ç²å¾—ã—ã€ãã®æƒ…å ±ã‹ã‚‰FDir1[0] ~ [2]ã‚’
è¨å®šã—よã†ã¨ã—ãŸã®ã§ã™ãŒ
ã†ã¾ãã„ã‹ãªã„状æ³ã§ã™ã€‚
â‘ FDir1ã®åž‹ã¯dVector3ã¨ã„ã†ã“ã¨ãªã®ã§ã™ãŒ
ã“れã¯ã‚ªã‚¤ãƒ©ãƒ¼è§’ã§ã®å§¿å‹¢è¡¨ç¾ã§
3ã¤ã®ãƒ‘ラメーターを用ã„ã¦ã„ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
â‘¡å‹•ã„ã¦ã„る物体を元ã«ã—ã¦FDir1ã‚’è¨å®šã™ã‚‹ã«ã¯
ã‚„ã¯ã‚ŠdBodyGetRotationã€€ãŒæœ‰åйãªã®ã§ã—ょã†ã‹ï¼Ÿ
â‘¡ã‚‚ã—ã‹ã—ã¦ã€ãã‚‚ãã‚‚FDir1ã‚’å‹•ã„ã¦ã„ã‚‹
物体ã«åˆã‚ã›ã¦å¤‰ãˆã‚‹ã€ã¨ã„ã†ã“ã¨ã¯
一般的ã§ã¯ãªã„ã®ã§ã—ょã†ã‹ï¼Ÿ
以上ã€ã¡ã‚‡ã£ã¨ã‚ã‹ã‚Šã«ãã„æ–‡ç« ã‹ã¤ã€
åˆæ©çš„ãªè³ªå•ã§ã™ãŒã‚ˆã‚ã—ã御願ã„ã—ã¾ã™ã€‚ï½ï¼ˆï¼¿ï¼¿ï¼‰ï½
ã†ãˆã®
大変å‚考ã«ãªã‚Šã¾ã—ãŸ!ã‚りãŒã¨ã†ã”ã–ã„ã¾ã™!