我还没有标记这个问题.
由于Bounty Time-Limit,当前接受的答案被自动接受
参考我目前正在构建的这个编程游戏.
从上面的链接可以看出,我目前正在构建一个游戏,用户可编程机器人在竞技场中自主战斗.
现在,我需要一种方法来检测机器人是否在特定角度检测到另一个机器人(取决于炮塔可能面对的位置):
替代文字http://img21.imageshack.us/img21/7839/robotdetectionrg5.jpg
从上图中可以看出,我已经绘制了一种坦克的视角,我现在需要在游戏中模拟,以检查其中的每个点以查看是否有其他机器人在视野中.
机器人只是在战斗竞技场(另一个画布)上不断翻译的画布.
我知道炮塔的标题(它将面向当前的方式),并且我需要找到它的路径中是否有任何机器人(并且路径应该以'视点'的方式定义,如图所示)上面的图像以红色"三角形"的形式出现.我希望图像能让我的信息更加清晰.
我希望有人可以指导我实现这个问题所涉及的数学.
[UPDATE]
我已经尝试过你告诉我的计算,但它没有正常工作,因为从图像中可以看出,bot1应该无法看到Bot2.这是一个例子:
替代文字http://img12.imageshack.us/img12/7416/examplebattle2.png
在上面的场景中,Bot 1正在检查他是否可以看到Bot 2.以下是详细信息(根据Waylon Flinn的回答):
angleOfSight = 0.69813170079773179 //in radians (40 degrees)
orientation = 3.3 //Bot1's current heading (191 degrees)
x1 = 518 //Bot1's Center X
y1 = 277 //Bot1's Center Y
x2 = 276 //Bot2's Center X
y2 = 308 //Bot2's Center Y
cx = x2 - x1 = 276 - 518 = -242
cy = y2 - y1 = 308 - …
Run Code Online (Sandbox Code Playgroud) 首先,我对C++很陌生.我认为这getline()
不是标准的C函数,因此#define _GNU_SOURCE
需要使用它.我现在正在使用C++,g ++告诉我_GNU_SOURCE
已经定义了:
$ g++ -Wall -Werror parser.cpp
parser.cpp:1:1: error: "_GNU_SOURCE" redefined
<command-line>: error: this is the location of the previous definition
Run Code Online (Sandbox Code Playgroud)
任何人都可以确认这是标准的,还是隐藏在我的设置中的某个地方?我不确定所引用的最后一行的含义.
文件的包含如下,所以可能是它们中的一个或多个定义了?
#include <iostream>
#include <string>
#include <cctype>
#include <cstdlib>
#include <list>
#include <sstream>
Run Code Online (Sandbox Code Playgroud)
谢谢!
对于一个大型项目,有一个datacontext映射出你的数据库是否有意义,你可以从你的类中进行交互?
或者将它分成小型数据文件更有意义,这些数据文本集中在数据库中将需要的特定任务上.
我对表现感到好奇.我的理解是datacontext本身是一个非常轻量级的对象,它只在需要时初始化它的内部集合等.在处理具有许多定义但只有两个数据表的datacontext时应该和处理特殊的datacontext一样快只有那两个表.
我也认为你会在JIT时间受益,因为第一个进行数据访问的类将编译你的dc,现在所有类都可以使用它.
任何人都可以告诉我PDF文件的控制字符集,以及如何逃避它们?我有一个(非放气(膨胀?))PDF文档,我想编辑文本,但我害怕使用括号和东西意外地制作一些控制序列.
谢谢.
每次我下载SQLite时,我都会遇到这样一个事实,即他们提供了几个不同版本的源代码,这是我从未见过任何其他项目所做的事情.而且更多的是它们提供了源的合并,将所有文件合并为3个文件.这是什么原因?这只是编译速度吗?还是有一些非常好的理由呢?其他项目是否使用源代码合并?
我需要实现一个将由不同用户使用的Web应用程序.每个用户对各种表具有不同的权限,例如
Student
Student
我将在UI级别有一些限制某些访问的内容,例如为没有修改条目权限的用户隐藏"编辑"按钮.但是,我认为我应该在较低级别(在数据库级别可能?)有一些东西,以确保数据安全.
我正在为我的应用程序使用Hibernate,JBoss,DB2和Struts.我想我应该使用某种类型的JBoss LoginModule,它使用用户/密码/角色对数据库进行身份验证(但我可能错了(?)).我做了一些研究,并提出了以下选项,但似乎没有一个适合我的情况.我认为这是多用户Web应用程序中非常常见的数据访问问题.有人可以指点我正确的方向吗?先感谢您!
在hibernate.cfg.xml
JACC事件侦听器中使用'grant'标记.这可以在所有休眠实体上设置"插入""更新""读取"权限.但是,如果我需要更精细的控件怎么办?我需要在某些字段而不是整个对象上设置权限.http://www.hibernate.org/hib_docs/v3/reference/en-US/html/objectstate-decl-security.html
限制每个ejb的getter/setter方法的权限.如果我理解正确,这需要为每个用户配置文件手动配置每个bean,这对我来说似乎不切实际. EJB方法权限
对DAO进行编码以检查用户权限.滚动我自己的实用程序函数,每次调用特定的DAO方法时都会检查巨型权限表,以确定登录用户是否可以执行操作.
在Hibernate中使用'拦截器'和'事件'.为每个类定义特定的"onLoad","onSaveorUpdate"等事件和拦截器.在这种情况下,我可以为各个字段指定权限级别吗?http://www.hibernate.org/hib_docs/v3/reference/en-US/html/objectstate-events.html
我可能在错误的树上吠叫.所有上述内容似乎都是劳动密集型而且不是很聪明.上述选项都没有为我提供在运行时更改用户权限的编程方法,这在管理员级别用户希望在此应用程序中为其他用户提供更多控制权时非常有用.
在这里进行数据访问控制的好方法是什么?
考虑以下main()
方法,您可以找到大多数iPhone应用程序:
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
Run Code Online (Sandbox Code Playgroud)
在我使用这些模拟器运行的每个iPhone应用程序中(包括Apple提供的几个示例项目),线程永不退出UIApplicationMain()
,任何剩余的代码main()
永远不会被执行.这是预期的行为吗?
我已经UIApplicationMain()
通过使用调试器逐步执行代码来验证从未运行过的语句.当用户停止应用程序时(例如,通过点击"主页"按钮),生成的堆栈跟踪显示 [UIApplication _terminateWithStatus:]
最终被调用.此函数调用应用程序委托的applicationWillTerminate:
方法.一旦完成,[UIApplication _terminateWithStatus:]
似乎杀死/退出线程.
有人可以确认这是main()
应该如何工作,或者至少在他们的机器上确认相同的行为?
我们在大多数代码中都使用CString类.但有时我们需要转换为char*.目前我们一直在使用variable.GetBuffer(0)这样做,这似乎有效(这主要发生在将Csting传递给函数需要char*的函数中).该功能接受了这一点,我们继续前进.
然而,我们最近担心这是如何工作的,以及是否有更好的方法来做到这一点.
我理解它的工作方式是它将一个char指针传递给指向CString中第一个字符的函数,并且一切正常.
我猜我们只是担心内存泄漏或任何不可预知的情况,这可能不是一个好主意.
我希望这不是重复......
您遇到的最完善的软件系统/框架/应用程序是什么?
似乎TDD,SOLID原则,OO设计模式以及类似的东西可以使用非常简单的示例在播客和博客上轻松理论化,但很难想象开发完全符合这些标准的大型系统,而不会爆炸代码.在我的公司,由于我们的时间限制,完全TDD似乎几乎是不可能的.
如果有人能指出我任何优秀的开源项目,我真的很想深入了解TDD/SOLID等等.好像.谢谢.
首先,我认识到两者之间的差异:
- 比较可用的通配符%和_
- 重要的尾随空白
- 一致的问题
所有其他条件相同,对于更有效的精确字符串匹配:
SELECT field WHERE 'a' = 'a';
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT field WHERE 'a' LIKE 'a';
Run Code Online (Sandbox Code Playgroud)
或者:差异是如此微不足道,以至于无关紧要?
c++ ×2
performance ×2
.net ×1
2d ×1
amalgamation ×1
c# ×1
cstring ×1
data-access ×1
db2 ×1
embedded ×1
escaping ×1
getline ×1
hibernate ×1
iphone ×1
jboss ×1
linq ×1
math ×1
memory-leaks ×1
mfc ×1
mysql ×1
objective-c ×1
oop ×1
open-source ×1
pdf ×1
sql ×1
sqlite ×1
string ×1
tdd ×1
wpf ×1