ANDROID 增强现实 AR Augmented Reality

qqss84 2011-03-09 07:11:15
现在准备在我的应用里面加一个增强现实的功能。
所以希望能在这里集思广益。感兴趣的朋友都来说说吧。
做过的,希望你能跟大家分享下经验,没做过的,遇到什么难题了,可以说出来,大家谈论,没做的,想做的,可以过来看看热闹。谢谢大家的捧场。我这有些网站与大家分享。
http://www.devx.com/wireless/Article/42482/1954
http://stackoverflow.com/questions/1939318/augmented-reality-framework
http://stackoverflow.com/questions/1870278/how-to-start-writing-an-augmented-reality-application
http://www.androidkit.com/developing-augmented-reality-applications-for-android
http://mobile.tutsplus.com/tutorials/android/android_augmented-reality/
https://github.com/haseman/Android-AR-Kit
...全文
3927 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
mail_ymj 2013-09-22
  • 打赏
  • 举报
回复
加我QQ:1016829303,大家一起研究
feangry 2013-07-15
  • 打赏
  • 举报
回复
正在研究 116097968
六六大侠 2013-07-11
  • 打赏
  • 举报
回复
求入伙,我也是在学AR技术,QQ591018930
末日之花 2013-06-14
  • 打赏
  • 举报
回复
顶一顶!想看看!
David_Yang 2013-05-17
  • 打赏
  • 举报
回复
用Java编写ar程序不会慢吗?我老在纠结这个?
arjishu 2013-01-31
  • 打赏
  • 举报
回复
来我这大家一起研究,我需要你们的学习笔记,百度AR技术网
bachelor819 2012-12-11
  • 打赏
  • 举报
回复
wikitudekey 在哪注册,求教 学习了 zaburo@gmail.com
归海一啸 2012-10-18
  • 打赏
  • 举报
回复
我最近也在研究这方面的,QQ472947433,大家可以一起讨论!
赵小K 2012-08-22
  • 打赏
  • 举报
回复
最近在公司做安卓項目 剛做到AR這塊 希望可以一起研究 QQ735085013 樓主可以創建個群嘛 把大家都加一起
qqbbtt 2012-08-15
  • 打赏
  • 举报
回复
QQ:461267492 加我一下吧 一起研究 最近正好要做ar的应用
tianjy545 2012-07-27
  • 打赏
  • 举报
回复
QQ:649186272 加我一下吧 一起研究 最近正好要做ar的应用
嗨嗨的迷子 2012-07-23
  • 打赏
  • 举报
回复
你好,我最近也在做这个,想用GPS+Sensor实现,类似google眼镜,一起交流吧,QQ:1227540804
tianke0711 2012-07-17
  • 打赏
  • 举报
回复
这里面有人现在正在android增强现实应用吗
gao_zhi_1990 2012-07-01
  • 打赏
  • 举报
回复
毕业设计也要做这个,能指点一二吗?qq807110084
w70525848 2012-02-28
  • 打赏
  • 举报
回复
在Windows平台上做过吗?
mynameisxiaowu 2011-10-03
  • 打赏
  • 举报
回复
public class BasicOpenARDemoActivity extends Activity {

/** the callback-intent after pressing any buttons */
private static final String CALLBACK_INTENT = "wikitudeapi.mycallbackactivity";
/** the id of the dialog which will be created when the modelfile cannot be located */
private static final int DIALOG_NO_MODEL_FILE_ON_SD = 1;
/** the model ile name */
private static final String modelFileName = Environment.getExternalStorageDirectory() + "/wtc_old_triang.obj";
/** the latitude of the origin (0/0/0) of the model */
private static final float modelCenterLatitude = 47.822f;
/** the longitude of the origin (0/0/0) of the model */
private static final float modelCenterLongitude = 13.045f;
/** the altitude of the origin (0/0/0) of the model */
private static final float modelCenterAltitude = 470;

/**
* {@inheritDoc}
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// We hook up 3 different buttons.
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.startARViewBasic();
}
});

b = (Button) findViewById(R.id.button2);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.startARViewWithIcons();
}
});

b = (Button) findViewById(R.id.button3);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.startARViewWithCustomTitle();
}
});

b = (Button) findViewById(R.id.button4);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BasicOpenARDemoActivity.this.start3dARView();
}
});
}

/**
* starts the basic AR view
*/
private void startARViewBasic() {

// Create the basic intent
WikitudeARIntent intent = prepareIntent();

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}

/**
* does the same as the basic AR view above, but adds custom icons to the POIs
*/
void startARViewWithIcons() {

// Create the basic intent
WikitudeARIntent intent = prepareIntent();

// Optionally add a title
intent.addTitleText("AR app with custom icons");
intent.setPrintMarkerSubText(false);

// Optionally: Add icons
addIcons(intent);

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}

/**
* does the same as the basic AR view above, but adds custom icons to the POIs and a graphical title image
*/
void startARViewWithCustomTitle() {
// Create the basic intent
WikitudeARIntent intent = prepareIntent();

intent.setPrintMarkerSubText(false);

// Optionally: Add icons
addIcons(intent);

// Optionally: Put a custom graphical title:
intent.addTitleImageResource(this.getResources().getResourceName(R.drawable.custom_title_bar));

// Optionally, one could set URIs:
// Use Android's content provider or create your own
// to host your custom images.
// intent.addTitleImageUri("content://com.IconCP/ANY_ICON_PATH.jpeg");

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}

/**
* starts the 3D AR view
*/
private void start3dARView() {

// Create the basic intent
Wikitude3dARIntent intent = new Wikitude3dARIntent(this.getApplication(), null, null);

File file = new File(modelFileName);
if (!file.exists()) {
this.showDialog(BasicOpenARDemoActivity.DIALOG_NO_MODEL_FILE_ON_SD);
} else {
intent.setModelPathFileSystem(modelFileName);
intent.setModelOrigin(modelCenterLatitude, modelCenterLongitude, modelCenterAltitude);
intent.setMetersWorth1000Points(1);

// And launch the intent
try {
intent.startIntent(this);
} catch (ActivityNotFoundException e) {
AbstractWikitudeARIntent.handleWikitudeNotFound(this);
}
}
}

/**
* prepares a Wikitude AR Intent (e.g. adds the POIs to the view)
*
* @return the prepared intent
*/
private WikitudeARIntent prepareIntent() {
// create the intent
WikitudeARIntent intent = new WikitudeARIntent(this.getApplication(), null, null);
// add the POIs
this.addPois(intent);
// add one menu item
intent.setMenuItem1("My menu item", BasicOpenARDemoActivity.CALLBACK_INTENT);
intent.setPrintMarkerSubText(true);
return intent;
}

/**
* adds hard-coded POIs to the intent
*
* @param intent
* the intent
*/
private void addPois(WikitudeARIntent intent) {
WikitudePOI poi1 = new WikitudePOI(35.683333, 139.766667, 36, "Tokyo", "Tokyo is the capital of Japan.");
poi1.setLink("http://www.tourism.metro.tokyo.jp/");
poi1.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
WikitudePOI poi2 = new WikitudePOI(41.9, 12.5, 14, "Rome",
"Rome is the capital of Italy and the country's largest and most populous city, with over 2.7 million residents.");
poi2.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
WikitudePOI poi3 = new WikitudePOI(40.716667, -74, 1, "New York",
"New York is the most populous city in the United States, and the center of the New York metropolitan area.");
poi3.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
WikitudePOI poi4 = new WikitudePOI(48.208333, 16.373056, 220, "Vienna",
"Vienna is the capital of the Republic of Austria.");
poi4.setDetailAction(BasicOpenARDemoActivity.CALLBACK_INTENT);
List<WikitudePOI> pois = new ArrayList<WikitudePOI>();

pois.add(poi1);
pois.add(poi2);
pois.add(poi3);
pois.add(poi4);
intent.addPOIs(pois);

((BasicOpenARDemoApplication) this.getApplication()).setPois(pois);
}

/**
* helper-method to add icons to the intent.
*
* @param intent
* the intent
*/
private void addIcons(WikitudeARIntent intent) {
ArrayList<WikitudePOI> pois = intent.getPOIs();

Resources res = getResources();
pois.get(0).setIconresource(res.getResourceName(R.drawable.flag_japan));
pois.get(1).setIconresource(res.getResourceName(R.drawable.flag_italy));
pois.get(2).setIconresource(res.getResourceName(R.drawable.flag_usa));
pois.get(3).setIconresource(res.getResourceName(R.drawable.flag_austria));
// to use this, make sure you have the file present on the sdcard
// pois.get(3).setIconuri("content://com.IconCP/sdcard/flag_austria.png");
}

/**
* {@inheritDoc}
*/
protected Dialog onCreateDialog(int dialogId) {
String message = this.getString(R.string.modelfile_not_found, modelFileName);
return new AlertDialog.Builder(this).setTitle(R.string.modelfile_not_found_title).setMessage(message)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// do nothing, just dismiss the dialog
}
}).create();
}
}
mynameisxiaowu 2011-09-26
  • 打赏
  • 举报
回复
谁能解释下,以上贴出来的代码是什么意思
baiooy 2011-06-11
  • 打赏
  • 举报
回复
有关于AR方面的问题想请教各位 能加我下吗? QQ:123724119 msn: rock410@live.com
prok 2011-04-27
  • 打赏
  • 举报
回复
qq:27035210 一起研究
qqss84 2011-03-25
  • 打赏
  • 举报
回复
再加一句,只要注册了就可以获得wikitudekey,就可以去掉上面的(beta)水印。但是如果商用的话就需要付费。这个官网上也没写清楚,不知道他最后用GPL 还是LGPL。

接去水印,在这句中的两个null ,第一个是你注册后发到你账户上的密匙,第二个是开发者的姓名(最好用拼音,不知道汉字会不会出现兼容的问题)
WikitudeARIntent intent = new WikitudeARIntent(RAugmente.this.getApplication(), null, null)

祝大家能在编程愉快!

加载更多回复(4)
内容概要:本文系统研究了构网型变流器的正负序阻抗解耦特性及其在弱电网环境下的稳定性表现,重点依托Matlab/Simulink仿真平台,构建了详细的阻抗数学模型,设计了解耦控制策略,并采用小信号扫频法进行频域辨识与稳定性验证。研究深入探讨了构网型变流器与传统跟网型逆变器在正负序阻抗特性上的本质差异,结合虚拟同步发电机(VSG)等先进控制技术,分析其在抑制宽频带振荡、削弱锁相环动态耦合等方面的优越性。文中不仅提供了完整的仿真模型与MATLAB代码实现,还整合了光伏、风电、储能、微电网等多类新能源系统的阻抗建模与稳定性分析资源,形成了一套面向新型电力系统稳定性的综合性技术资料体系,具有较强的科研复现与工程参考价值。; 适合人群:面向具备电力电子、电力系统自动化、新能源并网等专业背景的研究生、高校教师及工程技术人员,特别适用于从事阻抗建模、小干扰稳定性分析、宽频振荡机理研究以及撰写高水平学术论文的科研工作者。; 使用场景及目标:①掌握构网型变流器正负序阻抗建模与扫频辨识的仿真方法;②深入理解VSG等构网型控制在弱电网中提升稳定性的内在机理;③复现顶刊论文中的阻抗分析流程与稳定性判据应用;④利用提供的成熟模型与代码加速科研进程,支撑课题研究与学术成果产出。; 阅读建议:建议结合文中提供的Simulink模型与MATLAB代码,按照“理论建模—仿真搭建—扫频激励—频响提取—Nyquist判据分析”的完整流程进行实践操作,重点关注扫频信号的注入方式、频率范围设置及阻抗曲线的物理意义解读,并参考博士论文复现案例深化对复杂动态耦合问题的理解。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧