我不想进入复杂的三角函数来计算旋转和我的3D世界那样的东西所以gluLookAt似乎是一个不错的选择.根据文档,我需要做的就是为摄像机位置放置3个坐标,为我应该看到的位置设置3个坐标和"向上"位置.直到我认为它必须与屏幕顶部方向上的视线成直角才是最后的意义.
它根本不起作用.我有一些python代码.这是在我进入游戏的这一部分时初始化一些数据和一些模式代码的代码:
def init(self):
self.game_over = False
self.z = -30
self.x = 0
def transfer(self):
#Make OpenGL use 3D
game.engage_3d(45,0.1,100)
gluLookAt(0,0,-30,0,0,0,0,1,0)
Run Code Online (Sandbox Code Playgroud)
"game.engage_3d(45,0.1,100)"基本上将投影矩阵设置为具有45度视角和近和远坐标为0.1和100.
第一个gluLookAt很好地将相机放在正确的位置.
我有一个以(0,0,0)为中心绘制的立方体,没有gluLookAt它工作正常.在我绘制它之前,我有这个代码:
gluLookAt(self.x,0,self.z,0,0,0,0,1,0)
if game.key(KEY_UP):
self.z += 2.0/game.get_fps()
if game.key(KEY_DOWN):
self.z -= 2.0/game.get_fps()
if game.key(KEY_LEFT):
self.x += 2.0/game.get_fps()
if game.key(KEY_RIGHT):
self.x -= 2.0/game.get_fps()
Run Code Online (Sandbox Code Playgroud)
从那时起,向上位置应该始终与它始终是直角相同.我认为它会做的是用向上和向下键向前和向后移动z轴,用左右键向左和向右穿过x轴.实际发生的事情是,当我使用左右键时,立方体将围绕由键加速的"眼睛"旋转.向上键导致另一个立方体从无处穿过屏幕并击中第一个立方体.向下键将神秘的克隆立方体带回来.这可以与轮换相结合,以提供完全不同的结果,因为文档说会出现.
究竟是什么问题?
谢谢.
我是XSLT的新手,但有人向我建议它是完成特定任务的一种方式。我有一堆xhtml文件,我想从中删除边栏。边栏包含在<div class =“ foo”>元素中。
我可以使用此答案中的说明成功执行身份转换:如何使用带有样式表和xsltproc的xslt从xml中删除元素?但我似乎无法匹配我要删除的元素。也许是因为它们不是像我发现的这种设计模式的每个示例中那样的顶级元素?
有人可以解释从身份转换中删除<div class =“ foo”>及其所有子级的正确方法吗?
我正在试验一个程序,该程序可以高速将数据插入 SQL 2005 Server 数据库(在 XP SP3 上)。(这是为了收集时序数据,以便我可以评估设计的不同方面)。
我的基本设置包括将数据插入到如下表中(并使用仅指定有效负载字段的 SP):
create table data
(
Id int PRIMARY KEY Identity,
payload datatime not null,
inserted datetime default (getdate()) not null
)
Run Code Online (Sandbox Code Playgroud)
请注意,这两个日期时间字段也有 UNIQUE 约束。
在客户端程序上,我在如此紧密的循环中调用 SP,以至于我遇到了 .Net DateTime.Now 值的精度问题(也可能是线程休眠),因此违反了有效负载的唯一约束。我通过结合秒表变量、一些 Thread.Sleep() 和手动构建“有效负载”数据来解决这个问题,这样它就不会违反 SQL DateTime 字段的分辨率(3.3 mS)
然而,随着插入的生成速度在 5 毫秒到 10 毫秒之间,我开始看到 SQL 端“插入”字段的问题,其中一行会因唯一键违规而定期被拒绝。只有当我将插入速率降低到 15 毫秒左右时,这个问题才会消失。这个速率可疑地类似于我在 .Net DateTime.Now 中遇到的精度问题(我在某处的帖子上读到 16mS),所以我想知道 SQL Getdate() 函数的实际精度是多少。
那么有人可以告诉我什么支持 GetDate(),它是否与 .Net DateTime.Now 值绑定到相同的源?我应该期望它达到什么样的精度?
顺便说一句,我了解 SQL 2008 服务器中的 DATETIME2 类型,因此这就提出了一个问题:该系统中 GetDate() 的精度是多少。
我发现这个函数测试一个字符串是Windows文件名和文件夹友好:
function is_valid_filename($name) {
$parts=preg_split("/(\/|".preg_quote("\\").")/",$name);
if (preg_match("/[a-z]:/i",$parts[0])) {
unset($parts[0]);
}
foreach ($parts as $part) {
print "part = '$part'<br>";
if (preg_match("/[".preg_quote("^|?*<\":>","/")."\a\b\c\e\x\v\s]/",$part)||preg_match("/^(PRN|CON|AUX|CLOCK$|NUL|COMd|LPTd)$/im",str_replace(".","\n",$part))) {
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
我宁愿拥有的是一个从字符串中删除所有不良内容的函数.我试着基本上用preg_replace替换preg_match但没有雪茄.
所有,
这是一个关于联盟的例子,我觉得这很令人困惑.
struct s1
{
int a;
char b;
union
{
struct
{
char *c;
long d;
}
long e;
}var;
};
Run Code Online (Sandbox Code Playgroud)
考虑到char1个字节,int是2个字节,long是4个字节.这里整个结构的大小是多少?联合大小是{size of char*} + {size of double}?我很困惑,因为结合包裹在结合中.
另外,我如何访问dstruct中的变量. var.d?
我有一个工作的JNLP应用程序,我需要分发给各种非技术最终用户.
如果用户的计算机安装了最新的JVM,一切都很好.他们只需双击我发送的JNLP文件,Java Web Start完成剩下的工作.
现在我想分发一些有或没有JVM的东西,例如一个.exe自动下载兼容JVM的文件(如果不存在),然后调用javaws.exe下载.jar文件并启动应用程序.
Launch4J是我找到的最接近的匹配,但它无法启动程序javaws.exe.唯一的选择是java和javaw
我想要的产品可以:
.exe不需要预先安装JVM 的自包含文件.jnlp如果需要,解析文件并确定要下载的正确JVM(我知道Java Web Start可以在必要时下载JVM,但我想避免必须下载两个,第一个用于引导Java Web Start,第二个用于运行应用程序,可能需要特定但不同的JVM.).exe,但我不希望第二次提示确认他们信任.jar来自同一来源并使用相同证书签名的文件.)我假设这需要自动下载程序在启动JWS之前安装证书.).jar与JVM同时在后台下载应用程序资源(例如文件).这将要求在安装JVM之前运行缓存,因此缓存必须以本机代码实现,DownloadService然后使用JNI 与缓存接口.这样的产品是否存在?我怀疑它没有,但它值得一试.
更新我发现这篇文章有一些相关问题的解决方案,虽然它是专为离线安装而设计的,我主要关心的是在线安装.
我有这种情况:
我有一个实体,Person其中包含一个人的所有个人详细信息,如出生日期,街道地址,市政府ecc ecc.我有一个实体ClubMember描述俱乐部的成员,并包含一些领域,如:注册日期,成员类型,信用,ecc ecc
所以,a ClubMember是一个Person,我认为是正确的用继承描述这个:
ClubMember extends Person但是,什么类型的策略?
我会获得两个表中的数据库,Person并ClubMember与ClubMember含有id_person像一个@OneToOne关系,但保留实体之间的继承; 这可能(并且是正确的)?
JOINED是最接近我的目标的策略,但我失去了ID表的领域ClubMember,实际上ID成了ID表Person...
我正在编写一个小的sqlalchemy垫片来从MySQL数据库导出数据,其中包含一些轻量级数据转换 - 主要是更改字段名称.我当前的脚本运行正常,但要求我基本上在类声明中两次描述我的模型,一次作为字段名称列表进行迭代.
我试图弄清楚如何使用内省来识别作为列访问器的行对象的属性.以下工作几乎完美:
for attr, value in self.__class__.__dict__.iteritems():
if isinstance(value, sqlalchemy.orm.attributes.InstrumentedAttribute):
self.__class__._columns.append(attr)
Run Code Online (Sandbox Code Playgroud)
除了我的to-many关系访问器也是sqlalchemy.orm.attributes.InstrumentedAttribute的实例,我需要跳过这些.在检查班级词典时,有没有办法区分这两者?
我在sqlalchemy内省上发现的大多数文档都涉及到metadata.table,但由于我正在重命名列,因此这些数据并不是可以轻易映射的.
我有一个无向无加权图G =(V,E)和一个随机选择的顶点子集S. 我想检查S中的顶点是否相互邻接(即形成一个完整的子图/一个集团).
我有以下算法(伪代码):
foreach vertex in S {
// Check that the vertex has enough edges
if (vertex.edges.count < S.size - 1)
return false;
// Check that there is an edge to each vertex in S
foreach vertex2 in S {
if (!vertex.hasEdgeTo(vertex2))
return false;
}
}
return true;
Run Code Online (Sandbox Code Playgroud)
问题是该算法的最坏情况性能是O(| V | 2)(在子集S包含完整图的所有顶点的情况下).
我的问题是:是否有更快的算法运行,具有更好的大O最坏情况复杂度?
如何确定当前处于活动状态的输入法 - 用户可以通过长按文本编辑字段来更改输入法(软键盘) - 从代码中,如何确定用户选择的输入法
java ×2
python ×2
algorithm ×1
android ×1
annotations ×1
auto-update ×1
c ×1
declarative ×1
getdate ×1
graph ×1
graphics ×1
hibernate ×1
inheritance ×1
installer ×1
jnlp ×1
jpa ×1
opengl ×1
optimization ×1
php ×1
precision ×1
pyopengl ×1
regex ×1
sqlalchemy ×1
structure ×1
unions ×1
xslt ×1