小编eco*_*utu的帖子

地形的Perlin噪声生成

我正在尝试实现我在网上找到的一些源代码,使用Perlin Noise生成高度图.我已成功设法使用noise3函数获取高度图,第三个坐标是随机"种子",以允许随机高度贴图.

我的问题是产生的地形相当沉闷 - 我想要山脉,我正在滚动草原.我已经完成了对Perlin Noise的阅读(主要是在这里).由于源代码我发现显然没有考虑到可读性和我对Perlin Noise概念的一般掌握,我无法弄清楚我需要在代码中调整什么(幅度和频率?)到创造更加激烈的地形.

有关使用Perlin Noise,Perlin Noise,甚至更多可解码代码生成高度贴图的更多信息也将受到欢迎.

编辑:我理解(有点)Perlin Noise的工作原理,例如关于振幅和频率,我只是想知道在上面链接的代码中要改变哪些变量,这些变量用于这两个方面.

terrain perlin-noise

37
推荐指数
3
解决办法
5万
查看次数

ANDROID:如何在Android应用程序中获得root访问权限?

我正在开发我的第一个Android应用程序,我很好奇是否有任何"标准"方法来执行特权shell命令.我只能够找到这样做的一种方式,通过执行su,然后再追加我的命令stdin的的su过程.

DataOutputStream pOut = new DataOutputStream(p.getOutputStream());
DataInputStream pIn = new DataInputStream(p.getInputStream());

String rv = "";

// su must exit before its output can be read
pOut.writeBytes(cmd + "\nexit\n");
pOut.flush();

p.waitFor();

while (pIn.available() > 0)
    rv += pIn.readLine() + "\n";
Run Code Online (Sandbox Code Playgroud)

我已经读过关于包装特权(superuser)调用的内容JNI:这可能吗?如果是这样,一个人将如何完成它?除此之外,是否还有其他方式来调用特权指令Java

java android root

29
推荐指数
2
解决办法
6万
查看次数

Django - 为相关模型组合表单

是否有共同的方法/最佳实践/任何方法来组合跨多个相关模型的表格?

我想在同一页面上创建/编辑模型对象以及其他相关模型对象.基本上,能够创建/编辑一个模型实例和另一组与外键相关的模型实例.

我知道,这不是一个很好的解释.

class Person(models.Model):
    name = models.CharField(max_length=64, unique=True)

class PhoneNumber(models.Model):
    person = models.ForeignKey(Person)
    description = models.CharField(max_length=64, blank=True, null=True) 
    number = models.CharField(max_length=32, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我希望能够使用单个表单/页面创建/编辑一个人及其所有相关联的电话号码.

我在使用这个嵌套的表单示例之前已经完成了这个,但它似乎非常hackish.

django-forms

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

ANDROID:使用Java访问CIFS共享

我正在编写我的第一个Android应用程序,它或多或少将成为一个挂载点管理器.本地安装和NFS安装很容易,但我不知道如何去CIFS共享.

理想情况下,在选择主机后,将显示CIFS共享列表.至少,我应该能够输入CIFS URI /共享字符串并挂载它(例如://192.168.1.100/mount_point).我正在考虑EStrongs,您可以在其中选择主机,它将显示共享,然后您可以进一步探索.

我见过jCIFS(我认为这是Astro使用的),我在xda-developers上看到了cifs.ko模块的提及.还有其他标准方法吗?关于如何使用jCIFS或cifs.ko并一般地执行此操作的任何提示/建议?我宁愿不必获得root访问权限.

java smb android cifs

10
推荐指数
1
解决办法
4714
查看次数

创建临时变量以增强可读性

我想知道为在小范围内多次访问的值创建临时变量是否存在任何明显的缺点.

例如:

filep->waypt[rp->leg[j]].ID
Run Code Online (Sandbox Code Playgroud)

要么

(*(filep->route + filep->nroutes - 1))->number
Run Code Online (Sandbox Code Playgroud)

这些是最近一个项目的例子,我强迫自己避免几乎任何变量引用的简化,以便用C指针提高我的技能(这很痛苦).然而,习惯似乎坚持.我发现我尝试引入变量以简化代码(可读性和打字量)越多,就越难以记住每个新变量引用的内容.

我只是在教育环境中审查过我的代码,我想知道其他人更容易消化的内容以及性能权衡(如果有的话).

什么时候分配一个值的内存地址需要几个算术运算来计算它自己的变量start会导致性能问题?如果在循环中完成一次会有所作为吗?一次嵌套循环怎么样?如何在循环中为其自己的变量赋值,但是在内循环中访问它?

这会如何改变解释语言?用PHP说(请原谅语法错误,我是PHP的新手):

$employees[$i][$phone]['Home']['number'];
Run Code Online (Sandbox Code Playgroud)

VS

$home = $employees[$i][$phone]['Home']['number'];
Run Code Online (Sandbox Code Playgroud)

最后,如果它不是太主观(代码可读性不应该!),这被认为是编写可读代码的最佳实践?我编写尽可能自我记录的代码,但如果变量开始变得过于人为并被多次引用,我将为它们分配自己的变量.然而,这对我有用的原因可能是我已经习惯了自己的风格.

variables optimization

7
推荐指数
1
解决办法
1153
查看次数

3d遮挡剔除

我正在用C++/openGL编写类似静态3d块世界的Minecraft.我正在努力提高帧速率,到目前为止,我已经使用八叉树实现了截锥体剔除.这有帮助,但我仍然看到中等到坏的帧速率.下一步是通过更近的立方体来剔除从视点隐藏的立方体.但是,我无法找到很多关于如何实现这一目标的资源.

opengl 3d occlusion culling

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

重叠的立方体

我正在尝试确定两个立方体是否重叠.我已经阅读了重叠的矩形,但我不确定如何将其转换为第三维.

我的目标是生成一些随机定位和大小不重叠的立方体.

这些立方体在ax,y,z笛卡尔平面上表示.

geometry

6
推荐指数
2
解决办法
6817
查看次数

通过ajax加载JavaScript的好习惯方法

免责声明:我对AJAX很新!

我环顾四周,我不确定使用ajax加载javascript的方法.

我正在使用ajax来请求每个都需要6-10个简短方法的页面.总共可能有5-6个这样的页面,因此总共大约有35种以上的方法.

我更愿意访问需要加载的每个页面所需的javascript.

我见过几种方法,我不确定哪种方法最符合我的需要:

  1. 在头部包含一个空脚本元素,并通过操作src属性.DOM.

  2. 通过创建一个新的脚本元素.DOM并将其附加到document.body(这听起来与#1相同).

  3. jQuery(我已经在使用)有一个ajax getScript()方法.
  4. 我还没有读过任何关于它的内容,但是我可以只包含一个脚本元素作为ajax响应的一部分吗?

由于我是ajax和web开发的新手,我很好奇每种方法的起伏,以及我错过的任何方法.

一些问题是: - 是否会使用缓存副本,或者每次发出ajax请求时脚本都会下载.请注意,脚本将是静态的. - 浏览器兼容性.我使用Chrome,但此应用程序将用于IE> = 7以及Firefox的各个版本.

javascript ajax jquery dom

5
推荐指数
1
解决办法
4899
查看次数

AJAX后退按钮实现:它们如何工作?

我的页面到目前为止加载了一次,然后它就是那里的所有AJAX,宝贝:D.显然,后退/前进/重新加载/历史/书签会严重破坏它.我正在研究一些解决方案(我正在关注jQuery插件,也就是烧烤或地址),我很好奇它们是如何实现的.

所有我非常感兴趣的是后退/前进功能,因为这是一个真正的"应用程序",可供5-6人使用,以帮助协调他们的工作,不会形成或形成"网络文档".我试图阻止一般用户习惯的窗口操作习惯破坏我的应用程序.

到目前为止,我还没有遇到过多个状态可以进入另一个状态的情况,因此我的返回功能实现起来相当简单.但是,没有使用"返回"功能实现返回功能,只需通过"取消","返回"和其他按钮.

但我离题了...到目前为止,我真的很喜欢一个简单的URL片段标识符系统的概念,以允许向后/向前功能,我真的想避免在问题上抛出其他人的代码(这是我的第一个webapp和我'我试图尽可能地痛苦地做所有事情以便学习).

好吧,没有更多的离题......我从Content with Style的文章中得到了印象,我可以使用计时器来轮询我的窗口URL并触发相应的AJAX操作.

我有兴趣知道的是:

  1. 如果用于修复AJAX后退/前进破坏的常用插件使用类似的方法,如果没有,他们使用什么方法?
  2. 有什么优点.和利弊.轮询方法,以及任何替代方法.
  3. 我可以实现这些方法的简单版本来实现我的目标吗?(比如150行以下).
  4. 自己这样做是否值得?如果我实施这个,我会学到什么有价值的东西吗?我的(理论上)更简单的版本真的会比一个全面的插件少得多吗?

browser ajax

5
推荐指数
1
解决办法
223
查看次数