ODEã®è‰¯ãã‚る質å•
ã“ã®FAQã¯ODE質å•ãƒ»è¦æœ›å‹Ÿé›†ï¼ã«ã‚ˆã›ã‚‰ã‚ŒãŸèªè€…ã®ã¿ãªã•ã‚“ã‹ã‚‰ã®å¾¡è³ªå•ã¨å¦ç”Ÿã‹ã‚‰æŽˆæ¥ä¸ã«é ‚ã„ãŸå¾¡è³ªå•ã‚’ã¾ã¨ã‚ãŸã‚‚ã®ã§ã™ã€‚ODEã”æœ¬å®¶æ§˜ã®FAQを訳ã—ãŸã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。今ã¾ã§è³ªå•ã—ã¦é ‚ãæœ¬å½“ã«ã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚予想外ã®è³ªå•ã‚‚ã‚りã€å¤§å¤‰å‹‰å¼·ã«ãªã‚Šã¾ã—ãŸã€‚今後も気軽ã«è³ªå•やコメントをã—ã¦ãã ã•ã„ã。特ã«ã€åˆå¿ƒè€…様ã‹ã‚‰ã®ã”質å•ã¯å¤§æ“迎ã§ã™ã€‚
ãªãŠã€demura.netã¯ãƒ–ãƒã‚°ãƒ©ãƒ³ã‚ングã«å‚åŠ ã—ã¦ã„ã¾ã™ã®ã§ã€ã“ã®è¨˜äº‹ãŒã”å‚考ã«ãªã‚Œã°ã“ã®
ãƒãƒŠãƒ¼ã‚’クリックã—ã¦é ‚ã‘ã‚‹ã¨æš–ã‹ã„応æ´ã«ãªã‚Šã¾ã™ã€‚
- æ›´æ–°å±¥æ´
- B.25è¿½åŠ (2011-1-15)
- B.24è¿½åŠ (2009-12-7)
- B.23è¿½åŠ (2008-10-9)
- A.1~A.5を更新,A.15, A.16,C.7è¿½åŠ (2008-9-16)
- B.9ã®èª¬æ˜Žã‚’補足(2008-5-21)
- リンク切れã®å¾©æ´»ã¨D.3ã®æ›´æ–°, B22ã®è¿½åŠ (2008-4-24)
- A.6ã®èª¬æ˜Žã‚’æ›´æ–°(2008-3-14)
- B.3ã®èª¬æ˜Žã‚’æ›´æ–°(2008-2-8)
- A.14ã€A.15ã€C.21ã‚’è¿½åŠ (2008-2-5)
- B.16ã®èª¬æ˜Žã‚’詳ã—ãã—ã€B.21ã‚’è¿½åŠ (2008-1-29)
- A. インストール・コンパイル
- Windows XPã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。(2008-9-16)
- Windows Vistaã§ã‚‚インストールã§ãã¾ã™ã‹ï¼Ÿ(2008-9-16)
- Linux上ã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。(2008-9-16)
- Mac OS X上ã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。
- Visual C++ ã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„.(2008-9-16)
- プレーステーション3ã¸ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãã¾ã™ã‹ï¼Ÿ
- å˜ç²¾åº¦ã¨å€ç²¾åº¦ã®ã©ã£ã¡ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã™ã‚Œã°è‰¯ã„ã§ã™ã‹ï¼Ÿ
- è¡çªæ¤œå‡ºãƒ©ã‚¤ãƒ–ラリã¯OPCODEã¨Gimpactã®ã©ã¡ã‚‰ã‚’インストールã™ã‚Œã°è‰¯ã„ã§ã™ã‹ï¼Ÿ
- サンプルプãƒã‚°ãƒ©ãƒ ãªã©ã‚’コンパイルã™ã‚‹ã¨æ¬¡ã®ã‚ˆã†ã«æ€’られã¦ã—ã¾ã„ã¾ã™ã€‚(2007-6-18)
arm.cpp:60: error: cannot convert ‘const dReal*’ to ‘const double*’ for argument ‘1’ to ‘void dsDrawCapsuleD(const double*, const double*, float, float)’
make: *** [arm.o] Error 1 - 自分ã®ä½œã£ãŸã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’コンパイルã—ãŸã„ã®ã§ã™ãŒã€ãƒ•ォルダやソースコードをã©ã“ã«ç½®ã‘ã°ã‚ˆã„ã‹ã‚ã‹ã‚Šã¾ã›ã‚“。(2007-8-21)
- Windows Vista+MSYS+MinGWを使ã£ã¦ã„ã¾ã™ãŒã€ODEをインストールã™ã‚‹éš›ã€make installã™ã‚‹ã¨”Permission Denied.”ã¨æ€’られã¾ã™ã€‚ã‚‚ã†ã€æ€’られãŸãã‚りã¾ã›ã‚“。(2007-10-17)
- odeã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¤ã¾ã¥ã„ãŸã®ã§ã™ãŒã€MSYSã‚’èµ·å‹•ã™ã‚‹ã¨ã€Œbash.exe: warning: could not find /tmp, please create!ã€ã¨è¡¨ç¤ºã•れるã®ã§ã™ãŒã€ã“れã¯ä½•ãªã®ã§ã—ょã†ã‹ï¼Ÿ(2008-1-13)
- ODE本ã®ã‚µãƒ³ãƒ—ルプãƒã‚°ãƒ©ãƒ をダウンãƒãƒ¼ãƒ‰ã—ã¦ï¼Œmake(コンパイル)ã™ã‚‹ã¨ä»¥ä¸‹ã®ã‚ˆã†æ€’ã‚‰ã‚Œï¼Œä½•ãŒæ‚ªã„ã‹ã‚ã‹ã‚Šã¾ã›ã‚“(2008-2-5)。
error: stray ‘\239′ in program
error: stray ‘\187′ in program
error: stray ‘\191′ in program - éºä¼çš„アルゴリズムã®ã‚ˆã†ãªç¹°ã‚Šè¿”ã—計算ã«ODEを使用ã™ã‚‹éš›ï¼Œè¨ˆç®—スピードを上ã’ã‚‹ãŸã‚ã«æç”»ã‚’æ¢ã‚ã¦ã„ã¾ã—ãŸï¼Žã—ã‹ã—,状態ã®å¤‰åŒ–を見よã†ã¨printfã‚’ã—ã¦ã‚‚,MinGW+msysã®ç’°å¢ƒä¸‹ã§æç”»ã‚’æ¢ã‚ã‚‹ã¨printfã®å‡ºåŠ›ã‚‚æ¢ã¾ã£ã¦ã—ã¾ã„ã¾ã—ãŸï¼Žã©ã†ã™ã‚Œã°è‰¯ã„ã§ã—ょã†ã‹ï¼Ÿ(2008-2-5)。
- codeblocksã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’完了ã—ã€æ—¥æœ¬èªžåŒ–を行ã„ODEã®ãƒ“ルド ä¸ã«ã‚³ãƒ³ãƒ‘イルエラーã§ä»¥ä¸‹ã®ãƒ“ルドメッセージを出ã—ã¦æ¢ã¾ã‚Šã¾ã—ãŸ
- 講義 Visual C++ 2008 Expression Editionã«æ²¿ã£ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã—ãŸãŒã€ãƒ‡ãƒ¼ã‚¿å®Ÿè¡Œé˜²æ¢ãŒåƒã„ã¦ã€demo_basket.exeã®èµ·å‹•ã«å¤±æ•—ã—ã¦ã—ã¾ã„ã¾ã—ãŸã€‚使用環境ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚OS:vista,CPU:intel core2 duo
èµ·å‹•ã•ã›ã‚‹è‰¯ã„方法ã¯ãªã„ã‚‚ã®ã§ã—ょã†ã‹ã€‚ (by ãŸãã•ã‚“,,2008-9-16)
- B. ODE本体
- å˜ä½ç³»ã¯ä½•ã§ã™ã‹ï¼Ÿ
- 絶対(ワールド)座標系ã§ã™ã‹ï¼Ÿç›¸å¯¾ï¼ˆãƒãƒ¼ã‚«ãƒ«ï¼‰åº§æ¨™ç³»ã§ã™ã‹ï¼Ÿ
- ステップサイズã¨ã¯ä½•ã§ã™ã‹ï¼Ÿ(2008-2-8)
- ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ€ä¸ã«ã€é€”ä¸ã‹ã‚‰æ‹˜æŸã‚’ã‚‚ã†ã‘ãŸã‚Šã€é€†ã«å¤–ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã™ã§ã—ょã†ã‹ï¼Ÿ
- 特定ã®ç‰©ä½“ã«ã ã‘(ãŸã¨ãˆã°ã€ç®±ãŒè¤‡æ•°ã‚ã£ãŸã¨ãã«ã€ãã®ã†ã¡ã®ã²ã¨ã¤ã«ã ã‘)ã«å¤–力(~[N]ã§ãŠã™ã€ãªã©ï¼‰ã‚’åŠ ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã§ã—ょã†ã‹ï¼Ÿ
- シミュレーションをもã†ä¸€åº¦æœ€åˆã‹ã‚‰å†ç”Ÿã—ãŸã„å ´åˆã€ä¸€åº¦ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã¦å†å®Ÿè¡Œã™ã‚‹ã—ã‹ãªã„ã®ã§ã—ょã†ã‹ï¼Ÿ
- ジョイントã«ç²˜æ€§æ‘©æ“¦ã‚’è¨å®šã§ãã¾ã™ã‹ï¼Ÿ
- ジョイントã®ä½ç½®åˆ¶å¾¡ã‚’ã™ã‚‹APIã¯ã‚りã¾ã™ã‹ï¼Ÿ
- ç‰©ä½“é–“ã®æŽ¥è§¦ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’è¡Œã†éš›ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºã¦ã†ã¾ãã§ãã¾ã›ã‚“。物体(布団ãªã©ï¼‰ãŒãµã£é£›ã‚“ã り。。。ã©ã®ã‚ˆã†ã«è§£æ±ºã™ã‚Œã°ã„ã„ã®ã§ã—ょã†ã‹?
ODE Message 3: LCP internal error, s <= 0 (s=-0.0000e+00) - dRFromEulerAnglesã®ã‚ªã‚¤ãƒ©ãƒ¼è§’ã®ç¨®é¡žã¯ä½•ã§ã™ã‹ï¼Ÿ
- 目標ä½ç½®(x,y,z)ã«å¯¾ã—ã¦ç¾åœ¨ã®ä½ç½®ã‚’dBodyGetPositionã§å–å¾—ã—ã¦å·®åˆ†ã‚’å–りãŸã„ã®ã§ã™ãŒï¼Žï¼Žï¼ŽdBodyGetPositionã®ä¸èº«(行列?ベクトル?)ã¯ã©ã†ãªã£ã¦ã‚‹ã®ï¼Ÿ
- 空気抵抗をè¨å®šã™ã‚‹ã«ã¯ã€ã©ã†ã—ãŸã‚‰ã„ã„ã®ã§ã™ã‹ï¼Ÿ
- jointã®ãƒˆãƒ«ã‚¯ã¨åŠ›ã®dataã‚’å–りãŸã„ã§ã™ãŒã€‚ODEã®manualã‚’èªã‚“ã§ã‚‚よã分ã‹ã‚‰ãªã„ã§ã™ã€‚やり方教ãˆã¦ã„ãŸã ã‘ã¾ã›ã‚“ã‹ï¼Ÿã‚‚ã—sampleãŒã‚れã°ã†ã‚Œã—ã„ã§ã™ã€‚
- çƒä½“を転ãŒã—ã¦ã¿ã‚‹ã¨æ¢ã¾ã‚‰ãšã«ã©ã£ã‹ã«è¡Œã£ã¦ã—ã¾ã†ã®ã§å›°ã£ã¡ã‚ƒã„ã¾ã™ã€‚助ã‘ã¦ãã ã•ã„。
- トルク制御をã—ãŸã„ã®ã§ã™ãŒï¼Ÿ
- ODEã®ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯ã©ã®ã‚ˆã†ãªè¨ˆç®—法を使ã£ã¦ã„ã¾ã™ã‹ï¼Ÿ(2008-1-29)
- ジョイントã®åˆæœŸè§’度を変更ã™ã‚‹æ–¹æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。(2007-9-24)
- オブジェクトã®å±žæ€§ã«ã¯ãªãœã‚¸ã‚ªãƒ¡ãƒˆãƒªã¨ãƒœãƒ‡ã‚£ãŒã‚ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿã‚¸ã‚ªãƒ¡ãƒˆãƒªã®ã¿ã§å®šç¾©ã•れãŸã‚ªãƒ–ジェクã®åˆ©ç‚¹ã¯ä½•ã§ã™ã‹ï¼Ÿ(2007-10-12)
- APIã®å¼•æ•°ã®å®£è¨€ãŒè‰¯ãã‚ã‹ã‚Šã¾ã›ã‚“。 dsDrawbox(const float p[3], const float R[12], const float sides[3]);ãªã©ã®const float p[3]ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ(2007-10-12)
- オブジェクトを空ä¸ã«å›ºå®šã™ã‚‹æ–¹æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。(2007-10-12)
- çƒã‚’空ä¸ã‹ã‚‰è½ä¸‹ã•ã›ã¦ã€åœ°é¢ã¨è¡çªã—ãŸã‚‰çƒã®è‰²ã‚’変ãˆã‚‹ãªã©è¡çªã—ãŸã¨ãã®å応を示ã™ãƒ—ãƒã‚°ãƒ©ãƒ を作りãŸã„ã®ã§ã™ãŒã€ã©ã†ã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ã‹ï¼Ÿ(2008-1-29)
- 円柱ã®è³ªé‡ãƒ‘ラメータを計算ã™ã‚‹dMassSetCapsuleTotal(dMass *mass, dReal m, int dir, dReal radius, dReal length);ã®ï¼“番目ã®å¼•æ•°ã®æ„味ãŒã‚ã‹ã‚Šã¾ã›ã‚“?(2008-4-24)
- ODEã§è¡Œã†ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯æ±ºå®šè«–çš„ãªã®ã§ã—ょã†ã‹ï¼Ÿã¤ã¾ã‚Šã€æ¯Žå›žå®Ÿæ–½ã—ã¦ã‚‚ã€çµæžœã¯å¤‰ã‚りã¾ã›ã‚“ã‹ï¼Ÿ(2008-10-9)
- 自作ã®ãƒ—ãƒã‚°ãƒ©ãƒ をビルドã—ã¦å®Ÿè¡Œã—ãŸã¨ã“ã‚ã€ãƒ“ルドã«ã¯æˆåŠŸã—ãŸã®ã§ã™ãŒã€ã‚³ãƒžãƒ³ãƒ‰ãƒ—ãƒãƒ³ãƒ—トãŒã§ã¦ãã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãŒè¡¨ç¤ºã•れã¦ã—ã¾ã„ã€å…ˆã«é€²ã¿ã¾ã›ã‚“。ã©ã†ã„ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ï¼Ÿ(2009-12-7)ODE INTERNAL ERRER2
Bad argument(s) in dGeomSetBody() - リンゴã®è½ä¸‹ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«dBodyGetForceを使ã„力をå–å¾—ã—よã†ã¨ã—ã¦printfã§å€¤ã‚’見るã¨ï¼ã«ãªã‚Šã¾ã™ã€‚
ã©ã†ã‹æ•™ãˆã¦ãã ã•ã„。
- C.  æç”»é–¢ä¿‚
- ODEã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã«ï¼Œç‰©ä½“ã®ä½ç½®ã‚’表示ã—ãŸã‚Šï¼Œã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³æ™‚é–“ã®è¡¨ç¤ºã‚’ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ï¼Ÿ
- ODEã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã®å¤§ãã•を変更ã™ã‚‹ã¨ç‰©ä½“ã®ç§»å‹•速度ãŒå¤‰åŒ–ã—ã¾ã™ï¼Žã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³çµæžœã«å½±éŸ¿ã¯ã‚ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
- ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æç”»ã‚’è¡Œã‚ãš,シミュレーションを実行ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰è‰¯ã„ã®ã§ã—ょã†ã‹ï¼Ÿ
- æœ¬ã‚µã‚¤ãƒˆã«æŽ²è¼‰ã•れã¦ã„ã‚‹ã‹ã£ã“ã„ã„アイボã®ãƒ¢ãƒ‡ãƒ«ã¯ã©ã®ã‚ˆã†ã«ä½œã‚‰ã‚Œã¦ã„ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ3D-CADã‹ä½•ã‹ã®ãƒ‡ãƒ¼ã‚¿ã‹ã‚‰ãƒ¢ãƒ‡ãƒ«ã‚’構築ã™ã‚‹ã‚ˆã†ãªã“ã¨ãŒå¯èƒ½ãªã®ã§ã—ょã†ã‹ï¼Ÿ
ã§ãれã°CADã‹ã‚‰ä½œã‚Œã‚Œã°ã‚りãŒãŸã„ã®ã§ã™ãŒ(^^;(2007-6-14) - ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³çµæžœï¼ˆdrawstaff)を動画ã¨ã—ã¦ä¿å˜ã—ãŸã„ã®ã§ã™ãŒä½•ã‹ã„ã„æ–¹æ³•ã¯ã”å˜çŸ¥ã§ã—ょã†ã‹ï¼Ÿã€Œsimulation test environment v0.02ã€ã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã‚’ãã®ã¾ã¾å‹•画ファイルã¨ã—ã¦ä¿å˜ã§ããŸã‚‰å¬‰ã—ã„ã§ã™ã€‚(2007-6-14)
- 次ã®APIã®å¼•æ•°ã®ä½¿ã„æ–¹ãŒã‚ã‹ã‚Šã¾ã›ã‚“(2008-2-5)。
void dsDrawBox(const float p[3], const float R[12], const float sides[3]); - 地é¢(z=0ã®é¢)ã«ã¯é»„色や赤やé’ã®ãƒžãƒ¼ã‚«ãƒ¼ãŒã‚りã¾ã™ï¼Žã“れらマーカーを制御ã™ã‚‹æ–¹æ³•を知りãŸã„ã§ã™ï¼Žç‰¹ã«æœŸå¾…ã—ãŸã„ã®ã¯ï¼Œz軸方å‘ã‚’å«ã‚€è¡¨ç¤ºã®ONOFFï¼Œé–“éš”ã¨æ•°ã®å¤‰æ›´ã§ã™ï¼Žè‰²ï¼Œå¤§ãã•ã‚‚ã„ã˜ã‚‹ã“ã¨ãŒã§ãã®ã§ã—ãŸã‚‰ï¼Œå°šã†ã‚Œã—ã„ã§ã™ï¼Žãƒ‘ラメータを変更ã—ã¦ï¼Œå®¹æ˜“ã«å¤‰æ›´å¯èƒ½ã§ã—ょã†ã‹ï¼Ždrawstuffã®ã‚½ãƒ¼ã‚¹ã‚’ã„ã˜ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã§ã—ãŸã‚‰ï¼Œã©ã®ã‚ãŸã‚Šã§ã—ょã†ã‹. ã”æ•™æŽˆã„ãŸã ãã“ã¨ã§ãã¾ã›ã‚“ã‹ï¼Ž(by skasaiã•ん,2008-9-16)
- D. ãã®ä»–
- A. インストール・コンパイル
- Windows XPã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。
ã“ã“ã‚’ã”覧ãã ã•ã„。 - Windows Vistaã§ã‚‚インストールã§ãã¾ã™ã‹ï¼Ÿ
ã“ã“ã‚’ã”覧ãã ã•ã„. - Linux上ã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。
ã“ã“ã‚’ã”覧ãã ã•ã„. - Mac OS X上ã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。
ã™ã¿ã¾ã›ã‚“。記事を書ã„ã¦ã„ã¾ã›ã‚“。ç§ã¯iMac G5を所有ã—ã¦ã„ã¾ã™ãŒã€ã™ã£ã‹ã‚Šã‚¤ãƒ³ãƒ†ãƒªã‚¢ã«ãªã£ã¦ã—ã¾ã„ãŠåŠ›ã«ãªã‚Œã¾ã›ã‚“。 - Visual C++ã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。
ã“ã“ã‚’ã”覧ãã ã•ã„.
- プレーステーション3ã¸ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãã¾ã™ã‹ï¼Ÿ
ã§ãã¾ã™ãŒã€æç”»ãŒé…ã„ã§ã™ã€‚詳ã—ãã¯ODE講座15をã”覧ãã ã•ã„。 - å˜ç²¾åº¦ã¨å€ç²¾åº¦ã®ã©ã£ã¡ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã™ã‚Œã°è‰¯ã„ã§ã™ã‹ï¼Ÿ
シミュレーションã®ç²¾åº¦ãªã©ãŒè¦æ±‚ã•ã‚Œã‚‹å ´åˆã¯å€ç²¾åº¦ã‚’使ã£ã¦ãã ã•ã„。ã¾ãŸã€å€ç²¾åº¦ã®æ–¹ãŒå˜ç²¾åº¦ã‚ˆã‚ŠODE Internal Errorを回é¿ã§ãã‚‹ã®ã§ã€å€ç²¾åº¦ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ - è¡çªæ¤œå‡ºãƒ©ã‚¤ãƒ–ラリã¯OPCODEã¨Gimpactã®ã©ã¡ã‚‰ã‚’インストールã™ã‚Œã°è‰¯ã„ã§ã™ã‹ï¼Ÿ
OPCODEã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚ODE0.9ã§ã¯ç‰¹ã«æŒ‡å®šã—ãªã„ã¨OPCODEãŒä½¿ã‚れã¾ã™ã€‚Gimpactを利用ã—ãŸã„ã¨ãã¯configure –with-trimesh=gimpactã¨ã‚ªãƒ—ションをè¨å®šã—ã¦ãã ã•ã„。
Gimpactã¯ãƒˆãƒ©ã‚¤ãƒ¡ãƒƒã‚·ãƒ¥åŒå£«ã®è¡çªæ¤œå‡ºãŒOPCODEより安定ã—ã¦ã„るよã†ã§ã™ãŒã€é€Ÿåº¦ãŒï¼’ï¼å€é…ã„ã¨ã®å ±å‘ŠãŒã‚りã¾ã™ã€‚ã¾ãŸã€Gimpactã¯ODE0.9ã§ã¯å˜ç²¾åº¦ã—ã‹ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“ã®ã§ç¾çжã§ã¯ã‚ã¾ã‚ŠãŠå‹§ã‚ã§ãã¾ã›ã‚“。 - サンプルプãƒã‚°ãƒ©ãƒ ãªã©ã‚’コンパイルã™ã‚‹ã¨æ¬¡ã®ã‚ˆã†ã«æ€’られã¦ã—ã¾ã„ã¾ã™ã€‚
arm.cpp: In function ‘void simLoop(int)’:
arm.cpp:60: error: cannot convert ‘const dReal*’ to ‘const double*’ for argument ‘1’ to ‘void dsDrawCapsuleD(const double*, const double*, float, float)’
make: *** [arm.o] Error 1
drawstuffã®æç”»é–¢æ•°ã¯å€ç²¾åº¦ã¨å˜ç²¾åº¦ãŒã‚りã€ODEã‚’å€ç²¾åº¦ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‚‰å€ç²¾åº¦é–¢æ•°(dsDrawCapsuleD)ã€å˜ç²¾åº¦ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‚‰å˜ç²¾åº¦é–¢æ•°(dsDrawCapsule)を使ã†å¿…è¦ãŒã‚りã¾ã™ã€‚上ã®å ´åˆã¯ã€ï½„sDrawCapsuleDã®ï¼‘番目ã¨ï¼’番目ã®å¼•æ•°ã‚’(const dReal *)ã§ã‚ャストã—ã¦ãã ã•ã„。通常ã¯å€ç²¾åº¦ã¨å˜ç²¾åº¦ã‚’æ„è˜ã—ãªã§æ¸ˆã‚€ã‚ˆã†ã«ä»¥ä¸‹ã®ã‚ˆã†ã«ãƒ—ãƒã‚°ãƒ©ãƒ ã®å…ˆé ã§å®£è¨€ã—ã¾ã™ã€‚#ifdef dDOUBLE
#define dsDrawCapsule dsDrawCapsuleD
#endif - 自分ã®ä½œã£ãŸã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’コンパイルã—ãŸã„ã®ã§ã™ãŒã€ãƒ•ォルダやソースコードをã©ã“ã«ç½®ã‘ã°ã‚ˆã„ã‹ã‚ã‹ã‚Šã¾ã›ã‚“。Windows+mingw+msys環境ã§ã€demura.netã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ–¹æ³•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸæ–¹ã‚’対象ã«ã—ã¾ã™ã€‚
(1) 準備
C:\msys\1.0\home\ユーザå\src\ode-0.9\myprogã®ãƒ•ォルダ(ディレクトリ)ãŒãªã‘れã°ä½œã‚‹ã€‚UNIXコマンドãŒã‚ã‹ã‚‰ãªã„æ–¹ã¯ã‚¨ã‚¯ã‚¹ãƒ—ãƒãƒ¼ãƒ©ãƒ¼ã‚’使ã„å³ãƒžã‚¦ã‚¹ãƒœã‚¿ãƒ³ã‚’クリック→新è¦ä½œæˆâ†’フォルダã§ä½œæˆã™ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚ãªãŠã€ãƒ•ォルダåã¯myprogã§ãªãã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“ãŒã€æ—¥æœ¬èªžã‚„全角ã¯ã‚„ã‚ã¦ãã ã•ã„。myprogã¯è‡ªåˆ†ã®ä½œã£ãŸãƒ—ãƒã‚°ãƒ©ãƒ ã¨ã„ã†æ„味ã§ä»˜ã‘ã¾ã—ãŸã€‚
(2) フォルダã®ä½œæˆ
myprogã®ãƒ•ォルダーã®ä¸ã«è‡ªåˆ†ãŒä½œã£ãŸã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’æ ¼ç´ã™ã‚‹ãƒ•ォルダを作る。åå‰ã¯ä»»æ„ã§ã™ãŒæ—¥æœ¬èªžã‚„全角ã¯ã‚„ã‚ã¦ãã ã•ã„。ã“ã“ã§ã¯snakeã¨ã—ã¾ã™ã€‚
(3) ソースファイルã®ä¿å˜
上ã§ä½œæˆã—ãŸãƒ•ォルダã®ä¸ã«è‡ªåˆ†ãŒä½œã£ãŸã‚½ãƒ¼ã‚¹ãƒ•ァイルをä¿å˜ã™ã‚‹ã€‚ソースファイルã®ç·¨é›†ã¯terapadãªã©ã®ã‚¨ãƒ‡ã‚£ã‚¿ãƒ¼ã‚’使ã†ã¨è‰¯ã„ã§ã—ょã†ã€‚
ã“ã“ã§ã¯ã€snake.cppã¨ã—ã¾ã™ã€‚snake.cppã¯Windowsã®çµ¶å¯¾ãƒ‘スã§è¦‹ã‚‹ã¨æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
C:\msys\1.0\home\ユーザå\src\ode-0.9\myprog\snake\snake.cpp
(4) makefileã®ç·¨é›†ã¨ä¿å˜
makefileã‚’demura.netã®ã‚µãƒ³ãƒ—ルプãƒã‚°ãƒ©ãƒ ã‹ã‚‰ã‚³ãƒ”ーã—ã€ã‚½ãƒ¼ã‚¹ãƒ•ァイルã¨åŒã˜ãƒ•ォルダã«ä¿å˜ã™ã‚‹ã€‚ エディタを使ã„makefileã®TARGET ã®è¡Œã‚’自分ã®ã‚½ãƒ¼ã‚¹ãƒ•ァイルå(拡張åã¯é™¤ã)ã«å¤‰æ›´ã™ã‚‹ã€‚例 makefileã®å…ˆé 部分
CC = g++ -Wall -fno-exceptions -fno-rtti -g -DWIN32
TARGET = snake # snakeã®éƒ¨åˆ†ã‚’自分ã®ã‚½ãƒ¼ã‚¹ãƒ•ァイルå(æ‹¡å¼µåã¯é™¤ã)ã«å¤‰æ›´
OBJS = $(TARGET).o
SOURCE = $(TARGET).cpp
…
(5) コンパイル
デスクトップã®msysアイコンをダブルクリックã—ã¦MINGW32ターミナルを開ã。
以下ã®ã‚³ãƒžãƒ³ãƒ‰ã«å¾“ã„ソースファイルをä¿å˜ã—ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•ã—コンパイルã™ã‚‹ã€‚
$ cd src/ode-0.9/myprog/snake   (フォルダーã®ç§»å‹•)
$ make                       (コンパイル)
(6) 実 行
MINGW32ターミナルã§ã‚³ãƒ³ãƒ‘イルã—ã¦ã§ããŸå®Ÿè¡Œå½¢å¼ã®ãƒ•ァイルåを入力ã™ã‚‹ã€‚
Windowsã®å ´åˆã¯å®Ÿè¡Œå½¢å¼ã®ãƒ•ァイルåã«ã¯æ‹¡å¼µåexeãŒã¤ã„ã¦ã„ã‚‹ã®ã§ã™ãã«ã‚ã‹ã‚Šã¾ã™ã€‚
$ 実行形å¼ãƒ•ァイルå   # ã“ã®ä¾‹ã§ã¯snake - Windows Vista+MSYS+MinGWを使ã£ã¦ã„ã¾ã™ãŒã€ODEをインストールã™ã‚‹éš›ã€make installã™ã‚‹ã¨”Permission Denied.”ã¨æ€’られã¾ã™ã€‚ã‚‚ã†ã€æ€’られãŸãã‚りã¾ã›ã‚“。(2007-10-17)
ユーザーアカウント制御(UAC)を無効化ã—ã¦ãã ã•ã„。方法ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã‚’検索ã™ã‚‹ã¨ã™ã見ã¤ã‹ã‚Šã¾ã™ã€‚ - odeã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ã¤ã¾ã¥ã„ãŸã®ã§ã™ãŒã€MSYSã‚’èµ·å‹•ã™ã‚‹ã¨ã€Œbash.exe: warning: could not find /tmp, please create!ã€ã¨è¡¨ç¤ºã•れるã®ã§ã™ãŒã€ã“れã¯ä½•ãªã®ã§ã—ょã†ã‹ï¼Ÿ
Windowsã®ãƒ¦ãƒ¼ã‚¶åãŒæ—¥æœ¬èªžã‚ã‚‹ã„ã¯å…¨è§’æ–‡å—ã®å ´åˆã«ãªã‚Šã¾ã™ï¼Žãƒ¦ãƒ¼ã‚¶åãŒåŠè§’å°æ–‡å—ã®ã‚‚ã®ã‚’作りãã“ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ç›´ã—ã¦ãã ã•ã„.ãŸã ã—,ユーザåã®å¤‰æ›´ã§ã¯ãƒ•ォルダーåãŒå¤‰ã‚らãªã„ã®ã§åŠ¹æžœãŒã‚りã¾ã›ã‚“.必ãšï¼Œæ–°ã—ã„ユーザを作æˆã—ã¦ãã ã•ã„. - ODE本ã®ã‚µãƒ³ãƒ—ルプãƒã‚°ãƒ©ãƒ をダウンãƒãƒ¼ãƒ‰ã—ã¦ï¼Œmake(コンパイル)ã™ã‚‹ã¨ä»¥ä¸‹ã®ã‚ˆã†æ€’ã‚‰ã‚Œï¼Œä½•ãŒæ‚ªã„ã‹ã‚ã‹ã‚Šã¾ã›ã‚“。
error: stray ‘\239′ in program
error: stray ‘\187′ in program
error: stray ‘\191′ in program
ã“ã®ã‚¨ãƒ©ãƒ¼ã¯ã€ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã™ã‚‹ã¨ãã«ãƒ•ã‚¡ã‚¤ãƒ«ã®æ–‡å—コードãŒUTF8ç³»ã«å¤‰æ›ã•れるã“ã¨ã«ã‚ˆã‚Šã€ä½™åˆ†ãªæ–‡å—ãŒãƒ•ァイルã®å…ˆé ã«ã¤ããŸã‚ã«ç”Ÿã˜ã¾ã™ã€‚
ã“ã®å ´åˆï¼ŒWindowsã¯æ–‡å—コードをSHIFT-JIS,UNIX系をEUCã«ã™ã‚Œã°è‰¯ã„ã§ã—ょã†ã€‚ã‚‚ã¡ã‚ã‚“ã€ãã®æ–‡å—ãŒèªã‚るエディター(viã§ã¯è¦‹ãˆã¾ã—ãŸï¼‰ã§ã€ãƒ•ァイル先é ã®ï¼“æ–‡å—を削除ã—ã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。TeraPadã‚’ãŠä½¿ã„ã®å ´åˆã¯ï¼Œä»¥ä¸‹ã®ã‚ˆã†ã«è¨å®šã—ã¦ãã ã•ã„。
表示(V)→オプション(O)ã§ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã‚’é–‹ã,文å—コードã®ã‚¿ãƒ–をクリックã—ã¾ã™ã€‚
「å†èªè¾¼ã¯ç¾åœ¨ã®æ–‡å—コードã§è¡Œã†(R)ã€ã«ãƒã‚§ãƒƒã‚¯ã‚’ã„ã‚Œï¼Œã€ŒåˆæœŸæ–‡å—コード(C)ã€ã¨ã€Œä¿å˜æ–‡å—コード(D)ã€ã‚’SHIFT-JISã«ã—,「OKボタンã€ã‚’クリックã—ã¦ãã ã•ã„。 - éºä¼çš„アルゴリズムã®ã‚ˆã†ãªç¹°ã‚Šè¿”ã—計算ã«ODEを使用ã™ã‚‹éš›ï¼Œè¨ˆç®—スピードを上ã’ã‚‹ãŸã‚ã«æç”»ã‚’æ¢ã‚ã¦ã„ã¾ã—ãŸï¼Žã—ã‹ã—,状態ã®å¤‰åŒ–を見よã†ã¨printfã‚’ã—ã¦ã‚‚,MinGW+msysã®ç’°å¢ƒä¸‹ã§æç”»ã‚’æ¢ã‚ã‚‹ã¨printfã®å‡ºåŠ›ã‚‚æ¢ã¾ã£ã¦ã—ã¾ã„ã¾ã—ãŸï¼Žã©ã†ã™ã‚Œã°è‰¯ã„ã§ã—ょã†ï¼Ÿ(2007-10-17)
回ç”者:ãƒãƒƒã‚¿ãƒ¼ã•ã‚“ã€
ã§ã‚€ã•ã‚“ãŒé…布ã•れã¦ã„ã‚‹makefileã®14行目付近ã«ã‚ã‚‹
$(CC) -mwindows -o (略)
ã‚’
$(CC) -mconsole -o (略)
ã®ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã§ï¼Œæç”»ã‚’æ¢ã‚ã¦ã‚‚コンソールã«printfã•れるよã†ã«ãªã‚Šã¾ã—ãŸï¼Ž
åŒã˜ã‚ˆã†ã«æ‚©ã‚“ã§ã„ã‚‹æ–¹ã®æ‰‹åŠ©ã‘ã«ãªã‚Œã°å¹¸ã„ã§ã™ï¼Ž
補足:ã§ã‚€
ãƒãƒƒã‚¿ãƒ¼ã•ã‚“ã€æƒ…å ±ã‚りãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚
-mwindowsã®ã‚ªãƒ—ションã¯windows用ã®å®Ÿè¡Œå½¢å¼ãƒ•ァイルを作æˆã™ã‚‹ãŸã‚ã«ä»˜ã‘ã¾ã™ã€‚
-mconsoleã®ã‚ªãƒ—ションã¯ãれプラスã€ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‚’使ã„ãŸã„ã¨ãã«ä»˜ã‘ã¾ã™ã€‚ -
codeblocksã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’完了ã—ã€æ—¥æœ¬èªžåŒ–を行ã„ODEã®ãƒ“ルド ä¸ã«ã‚³ãƒ³ãƒ‘イルエラーã§ä»¥ä¸‹ã®ãƒ“ルドメッセージを出ã—ã¦æ¢ã¾ã‚Šã¾ã—ãŸ
||=== ode, DebugDoubleLib ===|
C:\ode-0.10.1\ode\src\box.cpp||In function `int dBoxBox(const dReal*, const |
C:\ode-0.10.1\ode\src\box.cpp|389|warning: division by zero in `|
C:\ode-0.10.1\ode\src\collision_cylinder_box.cpp||In member function `void |
ä¸ç•¥
C:\ode-0.10.1\ode\src\collision_cylinder_trimesh.cpp|867|warning: division by |
C:\ode-0.10.1\ode\src\collision_cylinder_trimesh.cpp||In function `int |
C:\ode-0.10.1\ode\src\collision_cylinder_trimesh.cpp|1073|`alloca’ undeclared |
C:\ode-0.10.1\ode\src\collision_cylinder_trimesh.cpp|1073|(Each undeclared |
||=== Build finished: 2 個ã®ã‚¨ãƒ©ãƒ¼ã€ 6 個ã®è¦å‘Š ===|dALLOCA16 マクãƒã¯ode\src\util.h 55行目 ã§å®šç¾©ã•れã„ã¦ã€ã“ã®ä¸ã®alloca ã®å®šç¾©ãŒè¦‹ãˆã¦ã„ãªã„よã†ã§ã™ä½•処を直ã›ã°ã‚ˆã„ã®ã§ã—ょã†ã‹ï¼Ÿ
「Highã§ã™ã€è§£æ±ºã„ãŸã—ã¾ã—ãŸã€‚\(^-^)ï¼åŽŸå› ã¯Path変数ã«ä»–ã®gcc (Cygwin, WideStudio, AVRGCC) ã®ãƒ‘ã‚¹ã®æ–¹ãŒå…ˆã«æ›¸ã‹ã‚Œã¦å±…ãŸç‚ºã€CodeBlocksãŒä»–ã®ï½‡ï½ƒï½ƒã®ãƒ‘スを見ã«è¡Œã£ã¦ã„ãŸç‚ºã§ã—ãŸã€‚メニューã®[è¨å®š] -> [コンパイラーã¨ãƒ‡ãƒãƒƒã‚¬ãƒ¼]ã‚°ãƒãƒ¼ãƒãƒ«ãªã‚³ãƒ³ãƒ‘イラè¨å®š ->[Toolchain実効ファイル]タブ ->[プãƒã‚°ãƒ©ãƒ ファイル]タブ ã§å„プãƒã‚°ãƒ©ãƒ ã®æ£ã—ã„パスをè¨å®šã—ã¾ã—ãŸã€‚ã€(回ç”者highã•ん)
- 講 義 Visual C++ 2008 Expression Editionã«æ²¿ã£ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã—ãŸãŒã€ãƒ‡ãƒ¼ã‚¿å®Ÿè¡Œé˜²æ¢ãŒåƒã„ã¦ã€demo_basket.exeã®èµ·å‹•ã«å¤±æ•—ã—ã¦ã—ã¾ã„ã¾ã—ãŸã€‚使用環境ã¯ä»¥ä¸‹ ã®ã¨ãŠã‚Šã§ã™ã€‚OS:vista,CPU:intel core2 duo
èµ·å‹•ã•ã›ã‚‹è‰¯ã„方法ã¯ãªã„ã‚‚ã®ã§ã—ょã†ã‹ã€‚ データ実行防æ¢(DEP)を無効ã«ã™ã‚‹æ–¹æ³•ã¯ãƒãƒƒãƒˆã‚’探ã™ã¨ã„ã‚ã„ã‚ã‚りã¾ã™ãŒã€åŽŸå› ãŒã‚ã‹ã‚‰ãªã„ã®ã§ãŠå‹§ã‚ã¯ã§ãã¾ã›ã‚“。自己責任ã§ãŠé¡˜ã„ã—ã¾ã™ã€‚コントãƒãƒ¼ãƒ«ãƒ‘ãƒãƒ«â†’システムã¨ãƒ¡ãƒ³ãƒ†ãƒŠãƒ³ã‚¹â†’システム→システムã®è©³ç´°è¨å®šâ†’パフォーマンス→è¨å®šâ†’データã®å®Ÿè¡Œé˜²æ¢â†’é‡è¦ãªWindowsã®ãƒ—ãƒã‚°ãƒ©ãƒ åŠã³ã‚µãƒ¼ãƒ“スã¤ã„ã¦ã®ã¿æœ‰åйã«ã™ã‚‹(T)ã«ãƒã‚§ãƒƒã‚¯ã‚’入れる.(回ç”者ã§ã‚€ï¼‰
システムプãƒãƒ‘ティã‹ã‚‰ã¯è§£æ±ºã§ããªã‹ã£ãŸã®ã§ã™ãŒã€
BIOSã®è¨å®šå¤‰æ›´ã‹ã‚‰ã§ãã¾ã—ãŸã€‚ç†ç”±ã¯ãƒ—ãƒã‚»ãƒƒã‚µãŒãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ãƒ™ãƒ¼ã‚¹ã®DEPをサãƒãƒ¼ãƒˆã—ã¦ã„ãŸã‹ã‚‰ã§ã—ãŸã€‚ã‚„ã£ã¨ã“れã§ã¯ã˜ã‚られã¾ã™ã€‚(回ç”者ãŸãã•ん)
- Windows XPã§ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。
- B. ODE本体
- å˜ä½ç³»ã¯ä½•ã§ã™ã‹ï¼Ÿ
何ã§ã‚‚OKã§ã™ãŒã€è§’度ã ã‘ã¯radianを使ã£ã¦ã„ã¾ã™ã€‚ãªãŠã€æœ¬è¬›åº§ã§ã¯SIå˜ä½ç³»ã‚’使ã£ã¦ã„ã‚‹ã®ã§ã€é•·ã•ã¯[m]ã€æ™‚é–“ã¯[s]ã€è³ªé‡ã¯[kg]ã€åŠ›ã¯[N]ã¨ãªã£ã¦ã„ã¾ã™ã€‚ - 絶対(ワールド)座標系ã§ã™ã‹ï¼Ÿç›¸å¯¾ï¼ˆãƒãƒ¼ã‚«ãƒ«ï¼‰åº§æ¨™ç³»ã§ã™ã‹ï¼Ÿ
ã»ã¨ã‚“ã©ã®APIã¯çµ¶å¯¾åº§æ¨™ç³»ã§ã™ã€‚一部ã€ç›¸å¯¾åº§æ¨™ç³»ã‚’使ã†APIãŒã‚りã¾ã™ãŒã€APIåã«ç›¸å¯¾(relative)を示ã™RelãŒå…¥ã£ã¦ã„ã‚‹ã®ã§ã‚ã‹ã‚Šã‚„ã™ã„ã§ã™ã€‚ã¾ãŸã€æ•°å¦ã‚„物ç†ãªã©ã§ã¯ä¸€èˆ¬çš„ãªå³æ‰‹ç³»ã‚’使ã£ã¦ã„ã¾ã™ã€‚ - ステップサイズã¨ã¯ä½•ã§ã™ã‹ï¼Ÿ
ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æ›´æ–°æ™‚é–“é–“éš”ã§ã™ã€‚ODEã¯time stepping法ã¨ã„ã†ä¸€å®šã®æ™‚é–“é–“éš”ã§ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’æ›´æ–°ã™ã‚‹æ–¹æ³•を採用ã—ã¦ã„ã¾ã™ã€‚ã“ã®æ™‚é–“é–“éš”ã®é–“ã«ã€å¾®åˆ†æ–¹ç¨‹å¼ã®æ•°å€¤ç©åˆ†ã¨è¡çªæ¤œå‡ºè¨ˆç®—を行ã„ã¾ã™ã€‚ã¤ã¾ã‚Šã€ã‚¹ãƒ†ãƒƒãƒ—サイズをå°ã•ãã™ã‚‹ã¨æ•°å€¤ç©åˆ†ã®ç²¾åº¦ãŒé«˜ããªã‚Šã¾ã™ãŒã€é€Ÿåº¦ã¯é…ããªã‚Šã¾ã™ã€‚逆ã«å¤§ããã™ã‚‹ã¨é€Ÿåº¦ã¯é€Ÿããªã‚Šã¾ã™ãŒã€ç²¾åº¦ã¯æ‚ªããªã‚‹ãƒˆãƒ¬ãƒ¼ãƒ‰ã‚ªãƒ•ã®é–¢ä¿‚ãŒã‚りã¾ã™ã€‚ã¾ãŸã€è¡çªæ¤œå‡ºè¨ˆç®—ã«é–¢ã—ã¦ã¯ã€ã‚¹ãƒ†ãƒƒãƒ—サイズを大ããã™ã‚‹ã¨ã€å‰›ä½“ãŒç›¸äº’ã«ä¾µå…¥ã™ã‚‹ç‰©ç†çš„ã«ã‚りãˆãªã„ç¾è±¡ãŒç”Ÿã˜ã¾ã™ã€‚ODEã¯ä¸€æ¬¡ã®ç©åˆ†å™¨ã‚’使ã£ã¦ã„ã‚‹ãŸã‚計算精度ãŒé«˜ããªã„ã®ã§ã€ã‚¹ãƒ†ãƒƒãƒ—サイズを極端ã«å°ã•ãã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。ãªãŠã€ODEã¯æ‹˜æŸè¨ˆç®—ã«è§£æžæ³•を使ã£ã¦ã„ã¾ã™ã€‚ã“ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯ç¾åœ¨ã®ä¸»æµã§ã€ãƒšãƒŠãƒ«ãƒ†ã‚£æ³•ã¨æ¯”較ã—ã¦ã‚¹ãƒ†ãƒƒãƒ—サイズを大ããå–れã¾ã™ã€‚用途や剛体ã®é€Ÿåº¦ã«ã‚ˆã‚‹ã®ã§ä¸€æ¦‚ã«ã„ãˆã¾ã›ã‚“ãŒã€ODE本ã§ã¯0.01[s]ã«ã—ã¦ã„ã¾ã™ã€‚ - ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æœ€ä¸ã«ã€é€”ä¸ã‹ã‚‰æ‹˜æŸã‚’ã‚‚ã†ã‘ãŸã‚Šã€é€†ã«å¤–ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã™ã§ã—ょã†ã‹ï¼Ÿ
ã§ãã¾ã™ã‚ˆã€‚command関数ã®ä¸ã«ã‚ーã«å¯¾å¿œã™ã‚‹å‡¦ç†ã‚’書ã‘ã°ã‚ˆã„ã¨æ€ã„ã¾ã™ã€‚詳ã—ãã¯ODE講座14をã”覧ãã ã•ã„。 - 特定ã®ç‰©ä½“ã«ã ã‘(ãŸã¨ãˆã°ã€ç®±ãŒè¤‡æ•°ã‚ã£ãŸã¨ãã«ã€ãã®ã†ã¡ã®ã²ã¨ã¤ã«ã ã‘)ã«å¤–力(~[N]ã§ãŠã™ã€ãªã©ï¼‰ã‚’åŠ ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã§ã—ょã†ã‹ï¼Ÿ
dBodyAddForce(dBodyID, fx, fy, fz)を使ã†ã¨å¯èƒ½ã§ã™ã€‚指定ã—ãŸã„物体ã®ãƒœãƒ‡ã‚£ï¼©ï¼¤ã‚’1番目ã®å¼•æ•°ã€åŠ ãˆãŸã„力ã®çµ¶å¯¾åº§æ¨™ç³»ã§ã®x,y,zæˆåˆ†ã‚’ãれãžã‚Œï¼’番目以é™ã®å¼•æ•°ã«ã„れã¦ãã ã•ã„。 - シミュレーションをもã†ä¸€åº¦æœ€åˆã‹ã‚‰å†ç”Ÿã—ãŸã„å ´åˆã€ä¸€åº¦ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã¦å†å®Ÿè¡Œã™ã‚‹ã—ã‹ãªã„ã®ã§ã—ょã†ã‹ï¼Ÿ
ãã‚“ãªã“ã¨ã¯ã‚りã¾ã›ã‚“よ。ODE講座14をã”覧ãã ã•ã„。 - ジョイントã«ç²˜æ€§æ‘©æ“¦ã‚’è¨å®šã§ãã¾ã™ã‹ï¼Ÿ
ODEã®ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã¯æ‘©æ“¦ãŒã‚りã¾ã›ã‚“。粘性摩擦をè¨å®šã™ã‚‹APIã¯ãªã„ã®ã§ã€ãれã«ç›¸å½“ã™ã‚‹ãƒˆãƒ«ã‚¯ï¼ˆãƒ’ンジãªã©ã®å ´åˆï¼‰ã‚„力(スライダーã®å ´åˆï¼‰ã‚’ã‹ã‘ã¦ãã ã•ã„。 - ジョイントã®ä½ç½®åˆ¶å¾¡ã‚’ã™ã‚‹APIã¯ã‚りã¾ã™ã‹ï¼Ÿ
ã‚りã¾ã›ã‚“。ã”自分ã§Pã€PDã‚„PID制御を実装ã—ã¦ãã ã•ã„。ODE講座16ã¯P制御を実装ã—ã¦ã„ã‚‹ã®ã§å‚考ã«ã—ã¦ãã ã•ã„。 - ç‰©ä½“é–“ã®æŽ¥è§¦ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’è¡Œã†éš›ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒå‡ºã¦ã†ã¾ãã§ãã¾ã›ã‚“。物体(布団ãªã©ï¼‰ãŒãµã£é£›ã‚“ã り。。。ã©ã®ã‚ˆã†ã«è§£æ±ºã™ã‚Œã°ã„ã„ã®ã§ã—ょã†ã‹?
ODE Message 3: LCP internal error, s <= 0 (s=-0.0000e+00)
行列ãŒç‰¹ç•°è¡Œåˆ—ã«ãªã£ã¦ã„ã‚‹ãªã©LCPã‚’è§£ã‘ãªã„å ´åˆã«ã“ã®ã‚¨ãƒ©ãƒ¼ãŒã§ã¾ã™ã€‚制約ãŒçŸ›ç›¾ã—ã¦ã„ãŸã‚Šã€å†—é•·ãªå ´åˆã«è¡Œåˆ—ãŒç‰¹ç•°ã«ãªã‚‹ã®ã§ã€é–¢ç¯€ã‚„æŽ¥è§¦ç‚¹ã®æ•° を減らã›ã°é˜²ã’ã‚‹å¯èƒ½æ€§ãŒé«˜ã„ã§ã™ã€‚ボディã¨ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®ç‰©ç†çš„ãªä½ç½®é–¢ä¿‚ã¨ãã®è¨å®šãŒçŸ›ç›¾ã—ã¦ã„ã‚‹ã¨ãã«èµ·ãã‚‹å ´åˆãŒå¤šã„ã®ã§ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。 è¨å®šã«å•題ãŒãªã„å ´åˆã¯ã€dWorldSetERP, dWorldSetCFM, nearCallback関数内ã®soft_erp, soft_cfm, mu, bounceãªã©ã®ãƒ‘ラメータを調整ã—ã¦ãã ã•ã„。ã¾ãŸã€è¨ˆç®—精度も関係ãŒã‚ã‚‹ã®ã§ODEã®è¨å®šãŒå˜ç²¾åº¦ãªã‚‰å€ç²¾åº¦ã«å¤‰æ›´ã™ã‚‹ã¨æ”¹å–„ã™ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“ã—ã€ã‚¹ãƒ†ãƒƒãƒ—サイズをå°ã•ãã™ã‚‹ã¨ç›´ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。後ã¯ã€ç¥žã«ç¥ˆã‚‹ã—ã‹ã‚りã¾ã›ã‚“。 - dRFromEulerAnglesã®ã‚ªã‚¤ãƒ©ãƒ¼è§’ã®ç¨®é¡žã¯ä½•ã§ã™ã‹ï¼Ÿ
オイラー角ã¯ã„ã‚ã„ã‚ã‚りã€craigã®æ•™ç§‘書ãƒãƒœãƒ†ã‚£ã‚¯ã‚¹ã§ã¯ï¼‘2種類紹介ã•れã¦ã„ã¾ã™ã€‚ã“ã®ä»–ã«å›žè»¢è»¸ã‚’時計ã¾ã‚りã«å–ã‚‹æµå„€ã‚‚ã‚ã‚‹ã®ã§ã€å…¨éƒ¨ã§ï¼’4種類もã‚ã‚‹ã®ã§ã™ã€‚多ã„ã§ã™ã。 dRFromEulerAnglesã¯craigã®ãƒãƒœãƒ†ã‚£ã‚¯ã‚¹ã«ã‚ã‚‹Z-Y-Xオイラー角を転置ã—ãŸã‚‚ã®ã«ãªã£ã¦ã„ã¦ã€NASA Standard Aerospaceæµã§ã¯ãªã„ã‹ã¨æ€ã„ã¾ã™ã€‚ ãªãŠï¼Œã“ã®æµå„€ã¯å›žè»¢è»¸ã®ã¨ã‚Šæ–¹ãŒãƒãƒœãƒ†ã‚£ã‚¯ã‚¹ã§é€šå¸¸ä½¿ã†å³ãã˜ã¨ã¯é€†ã§ã™ã€‚航空・宇宙関係ã§ã¯ã“ã¡ã‚‰ãŒã‚¹ã‚¿ãƒ³ãƒ€ãƒ¼ãƒ‰ã ã¨ã„ã†ã“ã¨ã§ã™ï¼Žä»¥ä¸‹ã®ã‚µã‚¤ãƒˆã‚’ã”覧ãã ã•ã„。
1.http://oemagazine.com/fromTheMagazine/nov05/tutorial.html
2.http://www.euclideanspace.com/maths/geometry/rotations/euler/index.htm - 目標ä½ç½®(x,y,z)ã«å¯¾ã—ã¦ç¾åœ¨ã®ä½ç½®ã‚’dBodyGetPositionã§å–å¾—ã—ã¦å·®åˆ†ã‚’å–りãŸã„ã®ã§ã™ãŒï¼Žï¼Žï¼ŽdBodyGetPositionã®ä¸èº«(行列?ベクトル?)ã¯ã©ã†ãªã£ã¦ã‚‹ã®ï¼Ÿ
dBodyGetPositionã§è¨ˆç®—ã•れãŸä½ç½®(x,y,z)ã®å€¤ã¯é…åˆ—ã«æ ¼ç´ã•れ,dBodyGetPositionã®æˆ»ã‚Šå€¤ã¯const dReal *,ã¤ã¾ã‚Šãã®é…列ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã¨ãªã£ã¦ã„ã¾ã™ï¼Ž å„è¦ç´ ã®å–ã‚Šå‡ºã—æ–¹ã¯ä»¥ä¸‹ã®ã‚³ãƒ¼ãƒ‰ã‚’å‚考ã«ã—ã¦ãã ã•ã„.
dBodyID body;
dReal x, y, z;
const dReal *pos = dBodyGetPositon(body);
x = pos[0]; // ã¾ãŸã¯ã€€x = *(pos +0);
y = pos[1]; // y = *(pos + 1);
z = pos[2]; // z = *(pos + 2);
printf(“é‡å¿ƒã®ä½ç½®ã¯x=%f y=%f z=%f \n”, x , y, z); - 空気抵抗をè¨å®šã™ã‚‹ã«ã¯ã€ã©ã†ã—ãŸã‚‰ã„ã„ã®ã§ã™ã‹ï¼Ÿ
æµä½“力å¦ã®ãƒ©ã‚¤ãƒ–ラリã§ã¯ã‚りã¾ã›ã‚“ã®ã§ã€è¨å®šã§ãã¾ã›ã‚“。 - jointã®ãƒˆãƒ«ã‚¯ã¨åŠ›ã®dataã‚’å–りãŸã„ã§ã™ãŒã€‚ODEã®manualã‚’èªã‚“ã§ã‚‚よã分ã‹ã‚‰ãªã„ã§ã™ã€‚やり方教ãˆã¦ã„ãŸã ã‘ã¾ã›ã‚“ã‹ï¼Ÿã‚‚ã—sampleãŒã‚れã°ã†ã‚Œã—ã„ã§ã™ã€‚
ODE講座12ã€ODE講座13をã”覧ãã ã•ã„。 - çƒä½“を転ãŒã—ã¦ã¿ã‚‹ã¨æ¢ã¾ã‚‰ãšã«ã©ã£ã‹ã«è¡Œã£ã¦ã—ã¾ã†ã®ã§å›°ã£ã¡ã‚ƒã„ã¾ã™ã€‚助ã‘ã¦ãã ã•ã„。
ODE ã«ã¯å›žè»¢æ‘©æ“¦ãŒå®Ÿè£…ã•れã¦ã„ãªã„ã®ã§ã€çƒã¯æ°¸é ã«è»¢ãŒã‚Šã€ã‹ãªã‚Šå¤ã„ã§ã™ãŒã€ã€Œå›žã£ã¦å›žã£ã¦å›žãƒ¼ã‚‹â™ªã€çŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚é–¢ç¯€ã‚‚åŒæ§˜ã«æ‘©æ“¦ãŒã‚りã¾ã›ã‚“。回転摩擦ã«é–¢ã™ã‚‹éƒ¨åˆ†ã¯è‡ªåˆ†ã§å®Ÿè£…ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“ãŒã€ä»¥ä¸‹ã®ODE Wiki ã®FAQ 3.15ã«åŒã˜è³ªå•ãŒã‚り実装ã™ã‚‹ã†ãˆã§å‚考ã«ãªã‚Šã¾ã™ã®ã§ç›®ã‚’ã¨ãŠã—ã¦ãã ã•ã„。
How do I stop things from rolling off into infinity, or pendulums from swinging forever?
- 速度制御ã®ä»£ã‚りã«ãƒˆãƒ«ã‚¯åˆ¶å¾¡ã‚’ã—ãŸã„ã®ã§ã™ãŒï¼Ÿ
力制御ã®å ´åˆã¯é€Ÿåº¦åˆ¶å¾¡ã§ä½¿ã£ã¦ã„ãŸä»¥ä¸‹ã®ï¼’行を削除ã—ã¦ãã ã•ã„。dJointSetHingeParam(dJointID, dParamVel,u);
dJointSetHingeParam(dJointID, dParamFMax, fmax);ãã®ä»£ã‚り㫠dJointAddHingeTorque()を使ã£ã¦ãã ã•ã„。ãŸã ã—ã€ODEã®ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã¯æ‘©æ“¦ãŒãªã„ã®ã§ã€ãã®ã¾ã¾ã§ã¯æŒ¯å‹•ã—ã‚„ã™ã„ã®ã§æ‘©æ“¦ã«ç›¸å½“ã™ã‚‹åŠ›ã‚’è‡ªåˆ†ã§è¨å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ - ODEã§ã¯ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«ã©ã®ã‚ˆã†ãªè¨ˆç®—法ã«ä½•を使ã£ã¦ã„ã¾ã™ã‹ï¼Ÿ
ãƒãƒœãƒƒãƒˆã®ã‚ˆã†ã«å‰›ä½“ãŒé–¢ç¯€ã§çµåˆã•れã€ã—ã‹ã‚‚地é¢ã‚„ä»–ã®ç‰©ä½“ã¨è¡çªã€æŽ¥è§¦ã‚’繰り返ã™ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®è¨ˆç®—方法ã¯ã€è§£æžçš„ãªæ–¹æ³•ã¨ãƒšãƒŠãƒ«ãƒ†ã‚£æ³•ã«åˆ†ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ODEã¯å‰è€…ã®è§£æžçš„ãªæ–¹æ³•ã§ã™ã€‚
é‹å‹•方程å¼ã¯ãƒ©ã‚°ãƒ©ãƒ³ã‚¸ã‚§ä¹—数速度ベースã®ãƒ¢ãƒ‡ãƒ«ã‹ã‚‰å°Žå‡ºã•れã¦ã„ã¾ã™ã€‚詳細ã¯Trinkle/Stewart[1-4]ã¨Anitescu/Potra[5-8]ã®è«–文をã”覧ãã ã•ã„。ã€
[1] Anitescu M., Cremer J., Potra F.A., 1995, Formulating 3D Contact Dynamics Problems, Mechanics of Structures and Machines, 22/4: 405-437
[2] Anitescu M., Potra F.A., 1997, Formulating dynamic multirigid-body problems with friction as solvable linear complementarity problems, Reports on Computational Mathematics, 93
[3] Anitescu M., Potra F.A., Stewart D.E., 1998, Time-Stepping for Three-Dimensional Rigid Body Dynamics, Comp. Methods Appl. Mech. Eng., 177/3-4: 183-197
[4] Anitescu M., Potra F.A., 2001, A Time-Stepping Method for Stiff Multibody Dynamics with Contact and Friction, Argonne National Laboratory, Argonne, IL
[5] Stewart D.E., Trinkle J. C., 1997, Dynamics, Friction, and Complementarity Problems, Complementarity and Variational Problems: State of the Art, Proc. 1995 International Conference on Complementarity Problems, Philadelphia: 425-439
[6] Stewart D.E., 2000, Time-Stepping Methods and the Mathematics of Rigid Body Dynamics, Chap. 9 in Impact and Friction of Solids, Structures and Machines, Vol. 1, Birkhäuser, Boston
[7] Stewart D.E., Trinkle J.C., 2000, An Implicit Time-Stepping Scheme for Rigid Body Dynamics with Inelastic Collisions and Coulomb Friction, Proceedings of the International Conference on Robotics and Automation (ICRA)
[8] Trinkle J.C., Pang J.-S., Sudarsk S., Lo G., 1997, On Dynamic Multi-Rigid-Body Contact Problems with Coulomb Friction, Zeithschrift fur Angewandte Mathematik und Mechanik - ジョイントã®åˆæœŸè§’度を変更ã™ã‚‹æ–¹æ³•ã‚’æ•™ãˆã¦ãã ã•ã„(2007-09-24)ジョイントã®åˆæœŸè§’度ã¯ãƒãƒœãƒƒãƒˆã®åˆæœŸå§¿å‹¢ã§æ±ºã¾ã‚Šã€ãã®ã¨ãã®è§’度ãŒï¼åº¦ã§ã™ã€‚例ãˆã°ã€åˆæœŸå§¿å‹¢ã§ï¼’ã¤ã®ãƒªãƒ³ã‚¯ãŒï¼™ï¼åº¦ã®è§’度ã§ãƒ’ンジジョイントã§çµåˆã•れã¦ã„ãŸã¨ã—ã¾ã™ã€‚ãã®ã¨ãã®ã€ãƒ’ンジジョイントã®è§’度ã¯ï¼åº¦ã§ã™ã€‚å›žè»¢è»¸ãƒ™ã‚¯ãƒˆãƒ«ã®æ™‚計ã¾ã‚り(å³ãã˜ã®é€²ã‚€ï¼‰æ–¹å‘ãŒæ£ã€å時計ã¾ã‚り方å‘ãŒè² ã¨ãªã‚Šã¾ã™ã€‚ã¤ã¾ã‚Šã€ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆã®åˆæœŸè§’度を変更ã™ã‚‹ãŸã‚ã«ã¯ã€ãƒãƒœãƒƒãƒˆã®åˆæœŸå§¿å‹¢ã‚’変更ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
- オブジェクトã®å±žæ€§ã«ã¯ãªãœã‚¸ã‚ªãƒ¡ãƒˆãƒªã¨ãƒœãƒ‡ã‚£ãŒã‚ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿã‚¸ã‚ªãƒ¡ãƒˆãƒªã®ã¿ã§å®šç¾©ã•れãŸã‚ªãƒ–ジェクã®åˆ©ç‚¹ã¯ä½•ã§ã™ã‹ï¼Ÿ(2007-10-12)ODEã®ç‰¹å¾´ã¨ã—ã¦ã€ç‰©ä½“(オブジェクト)ã«ã¯ã‚¸ã‚ªãƒ¡ãƒˆãƒªã¨ãƒœãƒ‡ã‚£ã®å±žæ€§ãŒã‚りã€ã‚¸ã‚ªãƒ¡ãƒˆãƒªã¯è¡çªæ¤œå‡ºè¨ˆç®—ã€ãƒœãƒ‡ã‚£ã¯å‹•力å¦è¨ˆç®—ã®å¯¾è±¡ã¨ãªã‚Šã¾ã™ã€‚ボディã¨ã‚¸ã‚ªãƒ¡ãƒˆãƒªã‚’分ã‘ã¦ã„ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€è¡çªæ¤œå‡ºã®ãƒ©ã‚¤ãƒ–ラリを比較的簡å˜ã«å¤‰æ›´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã•らã«ã€ã“ã®ç‰¹å¾´ã‚’ã†ã¾ãã¤ã‹ã†ã¨åŠ¹çŽ‡çš„ãªã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’実ç¾ã§ãã‚‹ã®ã§ã™ã€‚例ãˆã°ã€ãƒãƒœãƒƒãƒˆãŒå¸‚街地を走行ã™ã‚‹ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®å ´åˆã€ãƒ“ルãªã©ã¯å…¨ãå‹•ã‹ãªã„ã‚‚ã®ã¨ã—ã¦æ‰±ã„ã€ãƒãƒœãƒƒãƒˆã¨ã®è¡çªã ã‘を考慮ã™ã‚‹ã ã‘ã§è‰¯ã„ã§ã—ょã†ã€‚ãã®ã‚ˆã†ãªå ´åˆã§ã¯ã€ãã®ãƒ“ルã®ã‚ªãƒ–ジェクトをジオメトリã ã‘ã§å®šç¾©ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ç‰¹ã«å¿…è¦ã®ãªã„ビルã«å¯¾ã™ã‚‹å‹•力å¦è¨ˆç®—ã‚’çœç•¥ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ビルãŒãŸãã•ã‚“ã‚ã‚‹å ´åˆã¯ã€ã“ã®è¨ˆç®—コストもã°ã‹ã«ãªã‚Šã¾ã›ã‚“ã—ã€è¨ˆç®—ã™ã‚‹å¿…è¦æ€§ã‚‚ã‚りã¾ã›ã‚“。ãªãŠã€ãƒ“ルã®ã‚ªãƒ–ジェクトã¯å‹•力å¦è¨ˆç®—ã‚’å—ã‘ã¦ã„ãªã„ã®ã§ã€ãƒãƒœãƒƒãƒˆãŒä¾‹ãˆè¡çªã—ã¦ã‚‚å…¨ãå‹•ãã¾ã›ã‚“。
- APIã®ä»®å¼•æ•°ã®å®£è¨€ãŒè‰¯ãã‚ã‹ã‚Šã¾ã›ã‚“。 dsDrawbox(const float p[3], const float R[12], const float sides[3]);ãªã©ã®const float p[3]ã¯ã©ã†ã„ã†æ„味ã§ã™ã‹ï¼Ÿ(2007-10-12) 一番目ã®ä»®å¼•æ•°float p[3]ã¯floatåž‹ã®è¦ç´ æ•°3個ã®é…列ã¨å®£è¨€ã—ã¦ã„ã¾ã™ã€‚C言語ã§ã¯é…列を引数ã¨ã—ã¦å—ã‘æ¸¡ã™ã“ã¨ã¯ã§ããªã„ã®ã§ãƒã‚¤ãƒ³ã‚¿ã¨ã—ã¦å—ã‘æ¸¡ã—ã¾ã™ã€‚ã¤ã¾ã‚Šã€ float *pã¨åŒã˜ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“れã«constãŒã¤ã„ã¦ã„ã‚‹ã®ã§ã€ã“ã®ãƒã‚¤ãƒ³ã‚¿ã‚’介ã—ã¦å€¤ã‚’変更ã™ã‚‹ã“ã¨ã‚’ç¦æ¢ã—ã¦ã„ã¾ã™ã€‚変更ã—よã†ã¨ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã€‚ãªãŠã€ã“ã®ã‚ˆã†ã«ä»®å¼•数を宣言ã™ã‚‹ã¨ã€å—ã‘æ¸¡ã™ãƒã‚¤ãƒ³ã‚¿ã¯è¦ç´ 数3個ã®é…列を指ã—ã¦ã„ã‚‹ã“ã¨ãŒè‰¯ãã‚ã‹ã‚Šã¾ã™ã。実際ã®ä½¿ç”¨ä¾‹ã¯ODE本 P94 プãƒã‚°ãƒ©ãƒ 3.5ãªã©ã‚’å‚考ã«ã—ã¦ãã ã•ã„。
- オブジェクトを空ä¸ã«å›ºå®šã™ã‚‹æ–¹æ³•ã‚’æ•™ãˆã¦ãã ã•ã„。(2007-10-12)オブジェクトを空ä¸ã®å›ºå®šã—ãŸã„ä½ç½®ã¨å§¿å‹¢ã«è¨å®šã—ã¾ã™ã€‚後ã¯dJointCreateFixed(dWorldID, 0)ã§fixedジョイントを生æˆã—ã€dJointAttach(dJointID joint, dBodyID body1, dBodyID body2)を使ã„ã€1番目ã®å¼•æ•°ã«ã¯fixedジョイントã®ã‚¸ãƒ§ã‚¤ãƒ³ãƒˆIDã€2番目ã®å¼•æ•°ã«ã¯ãã®ã‚ªãƒ–ジェクトã®ãƒœãƒ‡ã‚£IDã€ï¼“番目ã®å¼•æ•°ã«ã¯é™çš„環境ã®ãƒœãƒ‡ã‚£IDã§ã‚ã‚‹0ã¨ã‚’入れã¦ãã ã•ã„。最後ã«ã€dJointSetFixed(dJointID joint)ã§è¨å®šã—ã¦çµ‚ã‚りã§ã™ã€‚
- çƒã‚’空ä¸ã‹ã‚‰è½ä¸‹ã•ã›ã¦ã€åœ°é¢ã¨è¡çªã—ãŸã‚‰çƒã®è‰²ã‚’変ãˆã‚‹ãªã©è¡çªã—ãŸã¨ãã®å応を示ã™ãƒ—ãƒã‚°ãƒ©ãƒ を作りãŸã„ã®ã§ã™ãŒã€ã©ã†ã™ã‚Œã°ã‚ˆã„ã§ã—ょã†ã‹ï¼Ÿ
ODE講座6:è¡çªæ¤œå‡ºãŒå‚考ã«ãªã‚‹ã¨æ€ã„ã¾ã™ã€‚ - 円柱ã®è³ªé‡ãƒ‘ラメータを計算ã™ã‚‹dMassSetCapsuleTotal(dMass *mass, dReal m, int dir, dReal radius, dReal length);ã®ï¼“番目ã®å¼•æ•°ã®æ„味ãŒã‚ã‹ã‚Šã¾ã›ã‚“?(2008-4-24)
3番目ã®å¼•æ•°ã¯ã‚«ãƒ—セルã®é•·è»¸æ–¹å‘ãŒã©ã®æ–¹å‘ã‚’å‘ã„ã¦ã„ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚1ãªã‚‰x軸ã€ï¼’ãªã‚‰y軸ã€ï¼“ãªã‚‰z軸ã§ã™ã€‚ãªãŠã€ã‚«ãƒ—セルや円柱ã¯å§¿å‹¢ã‚’指定ã—ãªã„å ´åˆã¯ã€é•·è»¸æ–¹å‘ãŒz軸ã«ãªã‚Šã¾ã™ã€‚ã¾ãŸã€ã‚«ãƒ—セルã®å§¿å‹¢ã‚’xè»¸ã«æ²¿ã‚ã›ãŸå ´åˆã¯1ã«ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。ã“ã‚Œã¯æ…£æ€§ãƒ†ãƒ³ã‚½ãƒ«ã®è¨ˆç®—ã«å¿…用ã§ã™ã€‚ - ODEã§è¡Œã†ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯æ±ºå®šè«–çš„ãªã®ã§ã—ょã†ã‹ï¼Ÿã¤ã¾ã‚Šã€æ¯Žå›žå®Ÿæ–½ã—ã¦ã‚‚ã€çµæžœã¯å¤‰ã‚りã¾ã›ã‚“ã‹ï¼Ÿ(2008-10-9)
基本的ã«ã¯æ±ºå®šè«–çš„ã¨è€ƒãˆã¦å·®ã—支ãˆã‚りã¾ã›ã‚“。ãŸã ã—ã€åƒ…ã‹ã§ã™ãŒç¢ºçŽ‡çš„ãªè¦ç´ ã‚‚å…¥ã£ã¦ã„ã¾ã™ã€‚繰り返ã—シミュレーションを実施ã™ã‚‹å ´åˆã«ã€ä¹±æ•°ã®ç¨®ã‚’常ã«åŒã˜å€¤ã«ã—ãªã„ã¨å¾®å¦™ã«çµæžœãŒå¤‰ã‚りã¾ã™ã€‚厳密ã«åŒã˜çµæžœã‚’出ã—ãŸã„å ´åˆã¯ã€dRandSetSeed(unsigned long seed)をシミュレーションã®å‰ã§å‘¼ã³å‡ºã—ã€seedを常ã«åŒã˜å€¤ã«ã—ã¦ãã ã•ã„。ã“ã®ä¹±æ•°ã¯stepfast.cppã¨quickstep.cppã®ä¸ã§æ‹˜æŸå¼ã®é †ç•ªã‚’入れ替ãˆã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¦ã„ã¾ã™ã€‚
ãªãŠã€ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’繰り返ã—実行ã™ã‚‹å ´åˆã¯ã€ODE Wikiã®æ¬¡ã®ãƒšãƒ¼ã‚¸ã‚’ã”覧ãã ã•ã„。
http://opende.sourceforge.net/mediawiki-1.6.10/index.php/HOWTO_save_and_restore - 自作ã®ãƒ—ãƒã‚°ãƒ©ãƒ をビルドã—ã¦å®Ÿè¡Œã—ãŸã¨ã“ã‚ã€ãƒ“ルドã«ã¯æˆåŠŸã—ãŸã®ã§ã™ãŒã€ã‚³ãƒžãƒ³ãƒ‰ãƒ—ãƒãƒ³ãƒ—トãŒã§ã¦ãã¦ã€ä»¥ä¸‹ã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ãŒè¡¨ç¤ºã•れã¦ã—ã¾ã„ã€å…ˆã«é€²ã¿ã¾ã›ã‚“。ã©ã†ã„ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ï¼Ÿ(2009-12-7)ODE INTERNAL ERRER2
Bad argument(s) in dGeomSetBody()
以下ã®ã‚³ãƒ¼ãƒ‰ã¯dGeomSetBodyã®ã¯ã˜ã‚ã®éƒ¨åˆ†ã§ã™ï¼ŽdAASERT(g)ã§ã‚¨ãƒ©ãƒ¼ã«ãªã£ã¦ã„ã¾ã™ï¼Žã¤ã¾ã‚Šï¼ŒdxGeomã®gã®å€¤ãŒfalseã®ã¨ã,ãã®ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’åãã¾ã™ï¼ŽdGeomSetBodyã®ä¸€ç•ªç›®ã®å¼•æ•°ã®å€¤ãŒ0ã¾ãŸã¯NULLã§ã¯ã‚りã¾ã›ã‚“ã‹ï¼Ÿã€€å¼•æ•°ã«é…列を使ã£ã¦ã„ã‚‹å ´åˆã¯ï¼Œæ·»ãˆå—ã«ãƒŸã‚¹ãŒãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„.
void dGeomSetBody (dxGeom *g, dxBody *b)
{
dAASSERT (g);
dUASSERT (b == NULL || (g->gflags & GEOM_PLACEABLE),â€geom must be placeableâ€);
以下 略 - リンゴã®è½ä¸‹ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«dBodyGetForceを使ã„力をå–å¾—ã—よã†ã¨ã—ã¦printfã§å€¤ã‚’見るã¨ï¼ã«ãªã‚Šã¾ã™ã€‚
ã©ã†ã‹æ•™ãˆã¦ãã ã•ã„。
é‡åŠ›ã‚„æ‹˜æŸåŠ›ã‚’dBodyGetForceã§å–å¾—ã§ãã¾ã›ã‚“。以下ã®ãƒšãƒ¼ã‚¸ã‚’ã”覧ãã ã•ã„。
http://groups.google.com/group/ode-users/browse_thread/thread/b61e5d8a1c59a52f/0d8459bf8a710c24?lnk=gst&q=dBodyGetForce#0d8459bf8a710c24
bodyã«åƒã力ã¯ä»¥ä¸‹ã®å¼ã§è¨ˆç®—ã™ã‚‹ã‚ˆã‚Šä»–ã¯ã‚りã¾ã›ã‚“。
力 = è³ªé‡ Ã— åŠ é€Ÿåº¦ / ステップサイズりんã”è½ä¸‹ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã«è¿½åŠ ã™ã‚‹ã¨æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
static void simLoop (int pause)
{
dReal step_size = 0.01;
const dReal *pos,*R,*force,*v;
static dReal a[3], f[3], v_prev[3];dWorldStep(world, step_size);
v = dBodyGetLinearVel(ball);for (int i =0; i < 3; i++ )
{
a[i] = (v[i] – v_prev[i])/step_size;
v_prev[i] = v[i];
f[i] = mass * a[i];
}printf(“fx=%f fy=%f fz=%f\nâ€,f[0],f[1],f[2]);
dsSetColor(1.0,0.0,0.0);
pos = dBodyGetPosition(ball);
R = dBodyGetRotation(ball);
dsDrawSphere(pos,R,radius);
} - å˜ä½ç³»ã¯ä½•ã§ã™ã‹ï¼Ÿ
- C.  æç”»é–¢ä¿‚
- ODEã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã«ï¼Œç‰©ä½“ã®ä½ç½®ã‚’表示ã—ãŸã‚Šï¼Œã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³æ™‚é–“ã®è¡¨ç¤ºã‚’ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ï¼Ÿ
drawstuffã«ã¯ãれ用ã®APIãŒãªã„ã®ã§æ›¸ãæ›ãˆã‚‹ã—ã‹ã‚りã¾ã›ã‚“。printfãªã©ã‚’使ã£ã¦ã‚¿ãƒ¼ãƒŸãƒŠãƒ«ã«å‡ºåŠ›ã—ã¦ã¯ã„ã‹ãŒã§ã—ょã†ã‹ï¼Ÿ - ODEã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã®å¤§ãã•を変更ã™ã‚‹ã¨ç‰©ä½“ã®ç§»å‹•速度ãŒå¤‰åŒ–ã—ã¾ã™ï¼Žã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³çµæžœã«å½±éŸ¿ã¯ã‚ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
çµæžœã«å½±éŸ¿ã‚りã¾ã›ã‚“ãŒã€ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®é€Ÿåº¦ã¯é…ããªã‚Šã¾ã™ã€‚ - ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æç”»ã‚’è¡Œã‚ãš,シミュレーションを実行ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰è‰¯ã„ã®ã§ã—ょã†ã‹ï¼Ÿ
ODE講座18をã”覧ãã ã•ã„。 - ã‚µã‚¤ãƒˆã«æŽ²è¼‰ã•れã¦ã„ã‚‹ã‹ã£ã“ã„ã„アイボã®ãƒ¢ãƒ‡ãƒ«ã¯ã©ã®ã‚ˆã†ã«ä½œã‚‰ã‚Œã¦ã„ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ3D-CADã‹ä½•ã‹ã®ãƒ‡ãƒ¼ã‚¿ã‹ã‚‰ãƒ¢ãƒ‡ãƒ«ã‚’構築ã™ã‚‹ã‚ˆã†ãªã“ã¨ãŒå¯èƒ½ãªã®ã§ã—ょã†ã‹ï¼Ÿã§ãれã°CADã‹ã‚‰ä½œã‚Œã‚Œã°ã‚りãŒãŸã„ã®ã§ã™ãŒ(^^;
AIBOã®3Dデータã¯AIBO SDEã®ã‚¦ã‚§ãƒ–サイトã‹ã‚‰ERS-7ã®3Dデータ(lightwaveフォーマット)をダウンãƒãƒ¼ãƒ‰ã—使ã£ã¦ã„ã¾ã™(ç¾åœ¨ï¼ŒAIBO SDEã®ã‚µã‚¤ãƒˆã¯é–‰éŽ–ã«ãªã‚Šãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã§ããªããªã‚Šã¾ã—ãŸï¼‰ï¼ŽODEã«ä»˜å±žã—ã¦ã„ã‚‹drawstuffライブラリã§ã¯ï¼“è§’ãƒ¡ãƒƒã‚·ãƒ¥ï¼ˆï¼“è§’å½¢ã§æ§‹æˆã•れãŸãƒãƒªã‚´ãƒ³ï¼‰ã‚’作るãŸã‚ã«ã€ä¸‰è§’å½¢ã®é ‚点座標ã®ï¼‘次元é…列ã¨ä¸‰è§’形を構æˆã™ã‚‹é ‚点番å·çµ„ã®ï¼’次元é…列を利用ã—ã¦ã„ã¾ã™ã€‚ AIBOシミュレータを作ã£ãŸã¨ãã¯ï¼ŒCrossroads 3Dã¨ã„ã†ãƒ•リーソフトãŒã‚ã£ãŸã®ã§ãれを利用ã—ã¦ã„ã¾ã—ãŸï¼Žæ®‹å¿µãªãŒã‚‰æœ€è¿‘ã¯ãƒªãƒ³ã‚¯ãŒåˆ‡ã‚Œã¦ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“.ãªã‚“らã‹ã®ãƒ•ァイルフォーマット変æ›ã‚½ãƒ•トを使ã£ã¦é ‚点座標ã®é…列ã¨é ‚点番å·çµ„ã®é…列ã«ï¼“Dデータを変æ›ã™ã‚Œã°drawstuffã§æç”»ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ï¼ŽODEã¯å‹•力å¦è¨ˆç®—ライブラリãªã®ã§ï¼Œã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®æç”»ã«é–¢ã—ã¦ã®é–‹ç™ºã¯ã»ã¨ã‚“ã©ã•れã¦ã„ã¾ã›ã‚“.コミュニティ的ã«ã‚‚開発ã™ã‚‹æ„å‘ã¯ãªã„よã†ã§ã™ï¼Ž - ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³çµæžœï¼ˆdrawstaff)を動画ã¨ã—ã¦ä¿å˜ã—ãŸã„ã®ã§ã™ãŒä½•ã‹ã„ã„æ–¹æ³•ã¯ã”å˜çŸ¥ã§ã—ょã†ã‹ï¼Ÿã€Œsimulation test environment v0.02ã€ã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã‚’ãã®ã¾ã¾å‹•画ファイルã¨ã—ã¦ä¿å˜ã§ããŸã‚‰å¬‰ã—ã„ã§ã™ã€‚
å‹•ç”»ã‚ャプãƒãƒ£ã‚½ãƒ•トを利用ã™ã‚Œã°ã‚ˆã„ã§ã™ï¼Žã„ã‚ã„ã‚ã‚るよã†ã§ã™ãŒï¼Œdemura.netã®å‹•ç”»ã¯ãƒ•リーソフトcamStudioを使ã„作æˆã—ã¾ã—ãŸï¼Žçª“ã®æœã®ã€Œã‚«ãƒãƒžãƒ«ã‚«ã®çž³ã€ã‚ˆã‚Šç›´æ„Ÿçš„ãªã‚¤ãƒ³ã‚¿ãƒ•ェースã§ã™ï¼ŽãŸã ã—,Windows Vistaã§ã¯ã†ã¾ãã‚ャプãƒãƒ£ã§ãã¾ã›ã‚“ã§ã—ãŸï¼ŽXPã§ã¯å•題ã‚りã¾ã›ã‚“.
- 次ã®APIã®å¼•æ•°ã®ä½¿ã„æ–¹ãŒã‚ã‹ã‚Šã¾ã›ã‚“(2008-2-5)。
void dsDrawBox(const float p[3], const float R[12], const float sides[3]);
const float p[3]ã¯è¦ç´ 数3個ã®é…列を指ã™const ãƒã‚¤ãƒ³ã‚¿ã§ã™ã€‚constãŒä»˜ã„ã¦ã„ã‚‹ã®ã§ã€ãã®ãƒã‚¤ãƒ³ã‚¿ã‚’介ã—ã¦å€¤ã‚’æ›¸ãæ›ãˆã‚ˆã†ã¨ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã€‚コンパイラã§ã¯const float *pã¨å¤‰ã‚りã¾ã›ã‚“ãŒã€è¦ç´ 数3個ã®é…列を指ã—ã¦ã„ã‚‹ã“ã¨ã‚’明示ã™ã‚‹ãŸã‚ã«ã€APIã§ã¯ã“ã®ã‚ˆã†ã«è¦ªåˆ‡ã«æ›¸ã„ã¦ã„ã¾ã™ã€‚ã•ã¦ã€ã”質å•ã®ä½¿ã†å ´åˆã¯ã€é…列ã®å…ˆé è¦ç´ ã¸ã®ãƒã‚¤ãƒ³ã‚¿ã€ã¤ã¾ã‚Šã€é…列åを入れã¦ãã ã•ã„。例ãˆã°ã€ï¼“番目ã®å¼•数用ã«ã€ç›´æ–¹ä½“ã®ï¼“è¾ºãŒæ ¼ç´ã•れã¦ã„ã‚‹ã€è¦ç´ 数3個ã®float hen[3]ã¨ã„ã†é…列ãŒå®£è¨€ã•れã¦ã„ãŸã¨ã—ã¾ã™ã€‚引数ã¯é…列ã®å…ˆé アドレスを入れã¾ã™ã€‚APIを誤解ã—é–“é•ã£ã¦hen[3]ã¨ã„れã¦ã¯ã„ã‘ã¾ã›ã‚“。hen[3]ã¯é…列henã®ï¼”番目ã®è¦ç´ ã§ã€ãã‚“ãªã‚‚ã®ã¯ãªã„ã®ã§ã‚¨ãƒ©ãƒ¼ã¨ãªã‚Šã¾ã™ã€‚é…列åã®henを入れã¦ãã ã•ã„。é…列åã¯é…åˆ—ãŒæ ¼ç´ã•れã¦ã„ã‚‹è¦ç´ ã§ã—ãŸã。 -
地é¢(z=0ã®é¢)ã«ã¯é»„色や赤やé’ã®ãƒžãƒ¼ã‚«ãƒ¼ãŒã‚りã¾ã™ï¼Žã“れらマーカーを制御ã™ã‚‹æ–¹æ³•を知りãŸã„ã§ã™ï¼Žç‰¹ã«æœŸå¾…ã—ãŸã„ã®ã¯ï¼Œz軸方å‘ã‚’å«ã‚€è¡¨ç¤ºã®ONOFFï¼Œé–“éš”ã¨æ•°ã®å¤‰æ›´ã§ã™ï¼Žè‰²ï¼Œå¤§ãã•ã‚‚ã„ã˜ã‚‹ã“ã¨ãŒã§ãã®ã§ã—ãŸã‚‰ï¼Œå°šã†ã‚Œã—ã„ã§ã™ï¼Žãƒ‘ラメータを変更ã—ã¦ï¼Œå®¹æ˜“ã«å¤‰æ›´å¯èƒ½ã§ã—ょã†ã‹ï¼Ždrawstuffã®ã‚½ãƒ¼ã‚¹ã‚’ã„ã˜ã‚‹å¿…è¦ãŒã‚ã‚‹ã®ã§ã—ãŸã‚‰ï¼Œã©ã®ã‚ãŸã‚Šã§ã—ょã†ã‹. ã”æ•™æŽˆã„ãŸã ãã“ã¨ã§ãã¾ã›ã‚“ã‹ï¼Ž(by skasaiã•ん,2008-9-16)
drawstuff.cppã®ã‚³ãƒ¼ãƒ‰ã‚’ã„ã˜ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚地é¢ã®ãƒžãƒ¼ã‚«ãƒ¼ã¯ãƒ”ラミッドグリッドã¨å‘¼ã°ã‚Œã¦ã„ã¾ã™ã€‚1044行目ã‹ã‚‰1077行目ã«ã‚ã‚‹drawPyramidGrid()ã®for文をã„ã˜ã‚Œã°ç°¡å˜ã«å¤‰æ›´å¯èƒ½ã ã¨æ€ã„ã¾ã™ã€‚ 大ãã•ã‚‚ç°¡å˜ã«å¤‰æ›´ã§ãã¾ã™ã€‚1061行目ã®kã®å€¤ã‚’変更ã—ã¦ã¿ã¦ãã ã•ã„。(回ç”者ã§ã‚€ï¼‰
- ODEã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ã«ï¼Œç‰©ä½“ã®ä½ç½®ã‚’表示ã—ãŸã‚Šï¼Œã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³æ™‚é–“ã®è¡¨ç¤ºã‚’ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã‚ˆã„ã®ã§ã—ょã†ã‹ï¼Ÿ
- D. ãã®ä»–
- ã©ã†ã‚„ã£ã¦å‹‰å¼·ã™ã‚Œã°ã‚ˆã„ã§ã™ã‹ï¼Ÿ
ODE New Wikiã®manualã‚’ã¾ãšèªã¿ã€ãれã‹ã‚‰ODE付属ã®ãƒ†ã‚¹ãƒˆãƒ—ãƒã‚°ãƒ©ãƒ ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚‚èªã‚“ã§ãã ã•ã„。ç§ã®ODE講座もå‚考ã«ã—ã¦ãã ã•ã„ã。 - ODEã«é–¢ã™ã‚‹æ—¥æœ¬èªžã®å‚考書ãªã©ã¯ã‚りã¾ã™ã‹ï¼Ÿ
ãƒãƒœã‚³ãƒ³ãƒžã‚¬ã‚¸ãƒ³ã€€No.47~No.50ã€ã‚ªãƒ¼ãƒ 社ã«ç§ãŒé€£è¼‰ã—ãŸè¨˜äº‹ãŒã‚りã¾ã™ã€‚ã¾ãŸã€ï¼’ï¼ï¼ï¼—å¹´ï¼•æœˆï¼‘ï¼˜æ—¥ã«æ£®åŒ—出版ã‹ã‚‰ä»¥ä¸‹ã®æ‹™è‘—ãŒãƒ‡ãƒ“ューã—ã¾ã—ãŸã€‚拙著ã®åŠåˆ†ï¼ˆç´„130ページ)ã¯ODEã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¨ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã§ï¼Œæ®‹ã‚Šã¯ãƒãƒœãƒƒãƒˆå·¥å¦ã®åŸºç¤Žã¨ODEを使ã„具体的ã«ãƒãƒœãƒƒãƒˆã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚¿ã‚’作る方法をソースコード付ãã§èª¬æ˜Žã—ã¦ã„ã¾ã™ï¼Ž- 出æ‘å…¬æˆï¼Œç°¡å˜!実践!ãƒãƒœãƒƒãƒˆã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ – Open Dynamics Engineã«ã‚ˆã‚‹ãƒãƒœãƒƒãƒˆãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ï¼Œæ£®åŒ—出版(2007年5月18日)
- 出æ‘å…¬æˆï¼Œç°¡å˜!実践!ãƒãƒœãƒƒãƒˆã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ – Open Dynamics Engineã«ã‚ˆã‚‹ãƒãƒœãƒƒãƒˆãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ï¼Œæ£®åŒ—出版(2007年5月18日)
- ãƒãƒœãƒƒãƒˆãªã©ã®ç ”ç©¶ã«ä½¿ãˆã¾ã™ã‹ï¼Ÿ
ç ”ç©¶ã®ç”¨é€”ã«ã‚ˆã‚Šã¾ã™ã€‚高ã„精度を求ã‚ã‚‹ç ”ç©¶ã«ã¯å‘ã„ã¦ã„ã¾ã›ã‚“。ãã®ã‚ˆã†ãªç”¨é€”ã«ã¯ç¾çжã§ã¯ã€OpenHRP3ãŒé©ã—ã¦ã„ã‚‹ã¨æ€ã„ã¾ã™ã€‚ç§ãŸã¡ã¯ã€ãƒãƒœã‚«ãƒƒãƒ—ä¸åž‹ãƒãƒœãƒƒãƒˆãƒªãƒ¼ã‚°ã®ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«ã¯ä½¿ã£ã¦ãŠã‚Šé‡å®ã—ã¦ã„ã¾ã™ã€‚ヒューマノイドリーグã§ã‚‚使ãˆã‚‹ã‹ã€ã‚ã‚‹ã„ã¯ã©ã†ä½¿ãˆã°è‰¯ã„ã‹ã¯ä»Šå¾Œæ¤œè¨¼ã—ã¦ã„ããŸã„ã¨æ€ã„ã¾ã™ã€‚ODEã®ç²¾åº¦ã¯é«˜ãã‚りã¾ã›ã‚“ã€ã“れã¯ç©åˆ†ã®æ•°å€¤è¨ˆç®—法ã«ä¸€æ¬¡ã®ã‚ªã‚¤ãƒ©ãƒ¼æ³•を使ã£ã¦ã„る部分ãŒã‚ã‚‹ãŸã‚ã§ã™ã€‚ã—ã‹ã—ã€ãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ より速ã„シミュレーションもå¯èƒ½ã§ã™ã€‚一般的ã«ã€é€Ÿåº¦ã¨ç²¾åº¦ã¯ãƒˆãƒ¬ãƒ¼ãƒ‰ã‚ªãƒ•ã®é–¢ä¿‚ã«ã‚りã¾ã™ã€‚OpenHRPã®ç²¾åº¦ã¯é«˜ã„ã§ã™ãŒã€é€Ÿåº¦ã¯ãƒªã‚¢ãƒ«ã‚¿ã‚¤ãƒ より数å€ä»¥ä¸Šé…ã„ã¨ã®ã“ã¨ã§ã™ã€‚
ãªãŠï¼Œæ—¥æœ¬æ©Ÿæ¢°å¦ä¼šRoboMec07ã§ãƒˆãƒ¨ã‚¿F1ãƒãƒ¼ãƒ ã®ãƒ‡ã‚£ã‚¯ãƒ¬ã‚¿ã«ã‚ˆã‚‹è¬›æ¼”ãŒã‚り,ç¾åœ¨ã®æŠ€è¡“ã§ã¯ã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚¿ã ã‘ã§æ¸ˆã¾ã™ã“ã¨ã¯ä¸å¯èƒ½ã§ï¼Œé¢¨æ´žå®Ÿé¨“ã«é‡ãã‚’ç½®ã„ã¦ã„ã‚‹ã¨ã®ã“ã¨ã§ã—ãŸï¼Žã‚·ãƒŸãƒ¥ãƒ¬ãƒ¼ã‚¿ã ã‘ã§ã¯ãªã,リアルãƒãƒœãƒƒãƒˆã§å‹•作を検証ã™ã‚‹ã“ã¨ãŒãƒãƒœãƒƒãƒˆç ”ç©¶ã§ã¯å¤§åˆ‡ã ã¨è€ƒãˆã¾ã™ï¼Ž
最後ã«ã€ODEã®ç©åˆ†å™¨ã«ï¼”次ã®ãƒ«ãƒ³ã‚²ã‚¯ãƒƒã‚¿ãŒå®Ÿè£…ã•れる計画ãŒã‚りã¾ã™ã€‚ãã†ãªã‚‹ã¨ç²¾åº¦ã®å•題も改善ã•れるã§ã—ょã†ã€‚ODEã¯ã‚ªãƒ¼ãƒ—ンソースãªã®ã§ã€ãƒœãƒ©ãƒ³ãƒ†ã‚£ã‚¢ã®åŠªåŠ›ã«ã‚ˆã‚Šç„¡é™ã®å¯èƒ½æ€§ã‚’秘ã‚ã¦ã„ã‚‹ã®ã§ã™ã€‚
- ã©ã†ã‚„ã£ã¦å‹‰å¼·ã™ã‚Œã°ã‚ˆã„ã§ã™ã‹ï¼Ÿ