Bullet3-2.87在Ubuntu16.04下原始碼編譯安裝
編譯安裝Bullet3-2.87
安裝過程其實很簡單,有多重原始碼安裝方法,這裡提供兩種:
方法1:
cd bullet3-2.87
mkdir build && cd build
cmake ..
make
sudo make install
方法2:
cd bullet3-2.87
./build_cmake_pybullet_double.sh
編寫一個Bullet版本的Hello World,驗證安裝是否正確
CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(01_bullet)
find_package (Bullet REQUIRED)
include_directories(${BULLET_INCLUDE_DIR})
set(TARGET_LIB
"/usr/local/lib/libBulletDynamics.so"
"/usr/local/lib/libBulletCollision.so"
"/usr/local/lib/libLinearMath.so")
add_executable(${PROJECT_NAME} "main.cpp")
target_link_libraries(${PROJECT_NAME} ${TARGET_LIB})
main.cpp
#include <iostream>
#include <btBulletDynamicsCommon.h>
int main (void)
{
btBroadphaseInterface* broadphase = new btDbvtBroadphase();
btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration();
btCollisionDispatcher* dispatcher = new btCollisionDispatcher(collisionConfiguration);
btSequentialImpulseConstraintSolver* solver = new btSequentialImpulseConstraintSolver;
btDiscreteDynamicsWorld* dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher, broadphase, solver, collisionConfiguration);
dynamicsWorld->setGravity(btVector3(0, -10, 0));
btCollisionShape* groundShape = new btStaticPlaneShape(btVector3(0, 1, 0), 1);
btCollisionShape* fallShape = new btSphereShape(1);
btDefaultMotionState* groundMotionState = new btDefaultMotionState(btTransform(btQuaternion(0, 0, 0, 1), btVector3(0, -1, 0)));
btRigidBody::btRigidBodyConstructionInfo groundRigidBodyCI(0, groundMotionState, groundShape, btVector3(0, 0, 0));
btRigidBody* groundRigidBody = new btRigidBody(groundRigidBodyCI);
dynamicsWorld->addRigidBody(groundRigidBody);
btDefaultMotionState* fallMotionState = new btDefaultMotionState(btTransform(btQuaternion(0, 0, 0, 1), btVector3(0, 50, 0)));
btScalar mass = 1;
btVector3 fallInertia(0, 0, 0);
fallShape->calculateLocalInertia(mass, fallInertia);
btRigidBody::btRigidBodyConstructionInfo fallRigidBodyCI(mass, fallMotionState, fallShape, fallInertia);
btRigidBody* fallRigidBody = new btRigidBody(fallRigidBodyCI);
dynamicsWorld->addRigidBody(fallRigidBody);
for (int i = 0; i < 300; i++) {
dynamicsWorld->stepSimulation(1 / 60.f, 10);
btTransform trans;
fallRigidBody->getMotionState()->getWorldTransform(trans);
std::cout << "sphere height: " << trans.getOrigin().getY() << std::endl;
}
dynamicsWorld->removeRigidBody(fallRigidBody);
delete fallRigidBody->getMotionState();
delete fallRigidBody;
dynamicsWorld->removeRigidBody(groundRigidBody);
delete groundRigidBody->getMotionState();
delete groundRigidBody;
delete fallShape;
delete groundShape;
delete dynamicsWorld;
delete solver;
delete collisionConfiguration;
delete dispatcher;
delete broadphase;
return 0;
}
輸出結果為:
sphere height: 50
sphere height: 49.9972
sphere height: 49.9917
sphere height: 49.9833
sphere height: 49.9722
sphere height: 49.9583
sphere height: 49.9417
sphere height: 49.9222
...
...
...
相關推薦
Bullet3-2.87在Ubuntu16.04下原始碼編譯安裝
編譯安裝Bullet3-2.87 安裝過程其實很簡單,有多重原始碼安裝方法,這裡提供兩種: 方法1: cd bullet3-2.87 mkdir build && cd build cmake .. make sudo make ins
ubantu16.04下原始碼編譯安裝tensorflow
Ubuntu16.04原始碼編譯安裝CPU版本的tensorflow 安裝說明:本教程針對tensorflow原始碼編譯安裝cpu版本,參考於tensorflow官網 安裝環境說明: os:Ubuntu 16.04 arch:x86_64 tensorflow版本:1.0.
Ubuntu 18.04.1下原始碼編譯安裝OpenJDK8
自己編譯個JDK來提升對JVM的興趣。本文分三部分來描述編譯OpenJDK的過程,分別是編譯前準備工作、構建編譯環境、進行編譯,在這三部分內容中順帶把趟的坑一起說明下。 一、編譯前準備工作 1.1 安裝Linux環境 https://askubuntu.com/questions/107059
Linux下原始碼編譯安裝mariadb資料庫
環境:centos7 準備:mariadb-10.2.18.tar 資料庫安裝包 [[email protected] ~]# rz Transferring mariadb-10.2.18.tar.gz... 第一步: 建立mysql使用者 [[email
01-postgres9.4.5在redhat6.5環境下原始碼編譯安裝(2016-11-08)
0讀者須知 1安裝redhat65 2更改本地yum源 4解壓postgres 5安裝依賴包 6增加使用者設定密碼 7開始編譯和安裝postgres 8設定環境變數 9初始化資
Node--Ubuntu下原始碼編譯安裝Node.js(時間比較長)
一.下載地址 下載地址:https://nodejs.org/en/download/ 二.下載原始碼 [email protected]:~# cd /usr/local/src/ [email protected]:/usr/local/src# wget
Linux下原始碼編譯安裝Redis和部署
redis是一個 鍵值 (Key—Value)型別 記憶體資料庫 ,所有的操作都是在記憶體中進行。然後定期地通過非同步操作將資料庫的資料flush到硬碟上。由於是記憶體操作,所以效能非常的出色。但是容易受實體記憶體的影響,如果是海量
Linux下原始碼編譯安裝Mysql
下面是在redhat 5.8下原始碼編譯安裝mysql5.6.12 1. 首先檢視系統有沒有安裝Mysql # rpm -qa |grep mysql 如果系統上有Mysql,先解除安裝 # yum remove mysql 或者 # rpm -e my
Linux下原始碼編譯安裝詳解
前言 原始碼要執行,必須先轉成二進位制的機器碼。這是編譯器的任務。 比如,下面這段原始碼(假定檔名叫做test.c)。 #include <stdio.h> int main(void) { fputs("Hello, world!\n", stdout
Linux下原始碼編譯安裝Python3
作業系統:Centos 下載原始碼包 下載地址 https://www.python.org/downloads/release/python-365/ 解壓 # tar -zxvf Python-3.6.5.tgz 安裝需要的依賴 # yum -y instal
ubuntu 14.04上原始碼編譯安裝php7
wget https://downloads.php.net/~ab/php-7.0.0alpha2.tar.bz2 //用winscp把下載好的檔案上傳到網站中 tar jxf php-7.0.0alpha2.tar.bz2 安裝: sudo apt-get upda
[環境配置]Ubuntu 16.04 原始碼編譯安裝OpenCV-3.2.0+OpenCV_contrib-3.2.0及產生的問題
1.OpenCV-3.2.0+OpenCV_contrib-3.2.0編譯安裝過程 1)下載官方要求的依賴包 GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.
保姆級教程——Ubuntu16.04 Server下深度學習環境搭建:安裝CUDA8.0,cuDNN6.0,Bazel0.5.4,原始碼編譯安裝TensorFlow1.4.0(GPU版)
寫在前面 本文敘述了在Ubuntu16.04 Server下安裝CUDA8.0,cuDNN6.0以及原始碼編譯安裝TensorFlow1.4.0(GPU版)的親身經歷,包括遇到的問題及解決辦法,也有一些自己的經驗,希望能對讀者有所幫助。期間參考了許多前人的文章,後文會一一附上鍊接,在此先行謝過。在下能力有限,
ubuntu16.04下源碼安裝onos1.0.2
版本選擇 ash tool lean 相同 3.2 鏈接 com 但是 由於工作需要,下載安裝onos1.0.2的版本,大家看需求可以下載安裝更高級的版本 參考鏈接:http://www.sdnlab.com/14650.html 1.系統環境 Ubuntu16.04 LT
ubuntu16.04下的htk安裝編譯
HTK(HMM Tools Kit)是一個劍橋大學開發的專門用於建立和處理HMM的實驗工具包[1],主要應用於語音識別領域,也可以應用於語音合成、字元識別和DNA排序等領域。HTK經過劍橋大學、Entropic公司及Microsoft公司的不斷增強和改進,使其在語音識別領域處於世界領先水平,另外,HTK還是一
Ubuntu18.04下基於 Anaconda3 安裝編譯 Caffe-GPU(超詳細)
寫這篇部落格的時候已經不知道是第幾次安裝caffe了,每次安裝都會遇到不同的問題,有時候解決報錯真的是接近崩潰的邊緣,故將遇到的問題及解決方法整理。也綜合了以前的多次安裝方法,寫了Ubuntu18.04上基於 Anaconda3 安裝編譯 Caffe-GPU的詳細教程。由於教程之詳細,
原始碼編譯安裝Apache/2.4.37-------踩了無數坑,重灌了十幾次伺服器才會的,不容易啊!
1.先進入/usr/local/中建立三個資料夾 apr apr-util apache cd /usr/local目錄 mkdir apr mkdir apr-util mkdir apache 2.再進入 src中 cd src
深度學習入門:詳解 Ubuntu 下 PaddlePaddle 原始碼編譯安裝
PaddlePaddle 是百度開源的一個深度學習框架,Paddle 提供的 Paddle book 對於那些深度學習入門的人簡直再方便不過。 想用 Paddle 進行模型訓練必然先進行安裝,這篇文章主要詳細的記錄一下 Paddle cpu 和 gpu 的原始碼編譯安裝。 個人認為原始
linux下【centos】nginx自動原始碼編譯安裝指令碼,以及通過service 啟動/停止/過載 nginx的服務指令碼
第一:指令碼為nginx原始碼編譯安裝的指令碼,可以幫助使用者自動建立系統使用者“nginx”;可以使用者自己指定安裝路徑,配置檔案路徑,執行檔案路徑等; 第二:可以配置第二個指令碼使用,通過service服務來管理nginx。 [[email protect
centos7下原始碼編譯方式安裝httpd
參考文章 http://www.cnblogs.com/jipeng87/p/6308725.html http://www.centoscn.com/CentosServer/www/2015/0417/5204.html 前言 Apache至少需要apr、apr-