小编ack*_*ack的帖子

trig功能的计算成本

可能重复:
三角函数如何工作?

什么实际上用于计算三角函数,如Sin,Cos,Tan和Atan?

我想我已经在我的代码中找到了一个优化,我可以避免使用任何这些函数,并将问题基于斜率而不是角度.这意味着代替上述trig函数的一对除法运算.但我想更多地了解那些触发函数的内容,以便我可以比较我的新代码(从基本数学运算的数量的角度来看).或许我刚刚发现了一种更迂回的做同样事情的方式,或者更糟糕的是,引入了一种效率较低的方法.

使用C++和Python但我认为这些与语言无关,数学运算成本与最原始的操作相关.

math optimization trigonometry

19
推荐指数
2
解决办法
8398
查看次数

价值重新映射

处理具有我一直使用的强大功能:

map(value, low1, high1, low2, high2)
Run Code Online (Sandbox Code Playgroud)

http://processing.org/reference/map_.html

它将value(具有预期范围的low1to high1)重新映射到目标范围low2to high2).

我想了解它背后的数学因此我可以在其他语言中使用它.有人想给我一块骨头并帮我逆向工程吗?我知道这是一个重新缩放并重新抵消的因素......今天早上感觉脑死了.

math processing

18
推荐指数
2
解决办法
3万
查看次数

删除nodereference自动完成中的[nid:n]

使用cck nodereference的自动完成字段始终将节点ID显示为隐藏的括号扩展名:

Page Title [nid:23]
Run Code Online (Sandbox Code Playgroud)

我知道这可以确保选择在节点具有相同标题的情况下是唯一的,但显然这对于​​向用户公开是件令人讨厌的事情.

有没有人在删除这些括号或添加不同的唯一标识符方面有任何成功?

drupal cck drupal-6

13
推荐指数
2
解决办法
8557
查看次数

更改自动完成选择的热键

在Eclipse中,我发现Enter是从内容辅助/自动完成列表中选择项目的热键非常烦人.特别是在没有行尾分号的PyDev中,按下新行的输入将改为给我在自动完成列表中选择的任何内容.

Tab是一个更好的选择热键,因为我不太可能想要一个标签中线.

有没有机会在Eclipse中改变它?

使用CDT,PDT和PyDev,但对与Eclipse相关的任何解决方案感兴趣.

eclipse hotkeys pydev

12
推荐指数
1
解决办法
2万
查看次数

Wiki的方法 - 数据库混合

我需要一个数据库,其中一个(或多个)字段的行为类似于wiki.我希望wiki的自由格式内容创建方面受到数据库严格语义结构的支持.

具体来说,我需要这个数据库字段来保存维基样式标记,跟踪多用户更改,允许还原等...

我是从几个方向来到这里的:

  • 通过将此字段指向来自单独wiki系统的页面,将Wiki维护到数据库中.
  • 围绕wiki构建数据库(为结构化数据创建每页额外字段).
  • 或者使用我自己的系统从头开始构建它以跟踪此字段中的更改(鉴于那里有多少wiki软件,这真的有必要吗?)

有没有人有任何经验或洞察力来接近这个建设?或者,任何人都可以指向一个框架,让我在路上?

我已经研究了像TikiWiki和TWiki这样的结构化wiki,但我不清楚如何完成我想要的东西.

database wiki

10
推荐指数
2
解决办法
721
查看次数

sql boolean truth test:零或null

有没有办法用一个相等运算符测试0和NULL?

我意识到我能做到这一点:

WHERE field = 0 OR field IS NULL

但如果这样可行,我的生活将会轻松一百倍:

WHERE field IN (0, NULL)

(顺便说一句,为什么不起作用?)

我还读过在SELECT语句中将NULL转换为0(使用COALESCE).我正在使用的框架也会令人不愉快.

意识到这是奇怪的具体,但有没有办法用一个WHERE谓词测试0和NULL?

mysql

10
推荐指数
2
解决办法
4290
查看次数

在线协作架构设计(利用谷歌文档?)

我正在寻找一个在线的协作数据库架构设计师.应用程序专门针对MySQL,但通用数据库设计师也很好.它可以处理修订(变更历史)很重要.

这看起来很酷,我可以在服务器上托管它 - 但看起来它不会处理多用户:http: //ondras.zarovi.cz/sql/demo/

目前,我们正在谷歌文档/电子表格上进行大量的设计协作.有没有人使用谷歌电子表格进行架构设计有什么成功?即使只有一个用于绘制线条/连接的小工具,我也可能会给Google Docs一个机会.

sql schema google-docs database-schema

8
推荐指数
1
解决办法
4382
查看次数

你喜欢在哪里拆分长线?

对于手动包装长线,您选择破线的个人启发式是什么?

假设这条线太长,你可能在哪里打破它,它的优先顺序是什么?

double var = GetContext()->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)


大多数人同意每行分离参数:

double var = GetContext()->CalculateValue(element,
                                          10.0);
Run Code Online (Sandbox Code Playgroud)


有没有人打破开幕式?

double var = GetContext()->CalculateValue(
                                 element, 10.0);
Run Code Online (Sandbox Code Playgroud)


但是如何解除引用运算符(或.):

double var = GetContext()
                 ->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)

或者你会:

double var = GetContext()->
                 CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)


赋值运算符有什么不同?

double var = 
    GetContext()->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)

要么

double var
    = GetContext()->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)

还有其他人?


如果您的系统是程序性的,您可以这样回答:

  1. 逗号中的参数名称
  2. 在a ->.运营商之前
  3. 在赋值运算符之后

或者只是发布一些示例代码!
如果您可以在学术上证明您的决定权,那么奖励积分.

c++ whitespace coding-style line-breaks

8
推荐指数
1
解决办法
3572
查看次数

Git默认文件(第一次拉后忽略)

你会如何在git中设置这个场景:

我的源码有一个设置文件,其中包含配置设置,如数据库连接凭证等...(这是一个Drupal源码,我指的是settings.php)

当开发人员克隆源时,他们需要进入并更改特定于其环境的设置.当然,这些变化不应该被推回原点.同时我希望他们能够使用这个默认模板(因为大多数模板都不会被更改).

所以.gitignore在这里不起作用,因为我想要它们的第一个克隆.我是否需要教导每个新开发者git update-index --assume-unchanged

是不是有一个更明智的方式来做到这一点?

git

8
推荐指数
1
解决办法
882
查看次数

为嵌套的 ScriptableObjects 构建编辑器以在纸牌游戏中组合能力

我正在构建一款纸牌游戏,我希望有一个干净的纸牌能力架构。我有一个带有卡片属性的 CardData ScriptableObject。我希望将卡牌的能力组合在一起来描述卡牌的作用,例如一张名为DrawAndHealCard的卡牌,它可以抽 2 张卡牌并在使用时恢复 5 点生命值。

我立即意识到这意味着我需要为 CardAbility 的每个变体提供具体资产。因此 DrawAndHealCard 引用了两个资源:DrawCards2HealPlayer5。这太荒谬了,我希望所有数据都感觉像是在一个 DrawAndHealCard 上。

所以我了解到AssetDatabase.AddObjectToAsset(),这似乎是正确的想法,我可以拥有作为 CardData 资产的子资产的能力,而不必处理所有这些单独资产的组织。所以现在我正在尝试建立一个Editor来管理这个问题,这很痛苦。

我读过很多关于 Unity 序列化、SO、编辑器脚本等的内容……在这方面严重碰壁,即将降级到架构上感觉不那么优雅的东西。如果有更好的方法来做到这一点,我也愿意接受有关完全不同路线的建议。

下面的代码被精简了,但这是我想要弄清楚的要点。我现在所处的位置似乎onAddCallback正确添加了子资产,但onRemoveCallback没有删除它。不过,我的“清除所有能力”按钮确实有效。我找不到关于这些东西的任何好的文档或指南,所以我目前很迷失。

// CardData.cs
[CreateAssetMenu(fileName = "CardData", menuName = "Card Game/CardData", order = 1)]
public class CardData : ScriptableObject
{
    public Sprite image;
    public string description;

    public CardAbility[] onPlayed;
}

// CardAbility.cs
public class CardAbility : ScriptableObject
{
    public abstract void Resolve();
}

// DrawCards.cs …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine unity3d-editor

8
推荐指数
1
解决办法
4733
查看次数