给定一个x,y点数组,如何按顺时针顺序(围绕它们的整体平均中心点)对该数组的点进行排序?我的目标是将点传递给线创建函数,以最终看起来相当"坚实"的东西,尽可能凸起,没有相交的线.
为了它的价值,我正在使用Lua,但任何伪代码都会受到赞赏.非常感谢您的帮助!
更新:作为参考,这是基于Ciamej优秀答案的Lua代码(忽略我的"app"前缀):
function appSortPointsClockwise(points)
local centerPoint = appGetCenterPointOfPoints(points)
app.pointsCenterPoint = centerPoint
table.sort(points, appGetIsLess)
return points
end
function appGetIsLess(a, b)
local center = app.pointsCenterPoint
if a.x >= 0 and b.x < 0 then return true
elseif a.x == 0 and b.x == 0 then return a.y > b.y
end
local det = (a.x - center.x) * (b.y - center.y) - (b.x - center.x) * (a.y - center.y)
if det < 0 then return true
elseif det > 0 then …Run Code Online (Sandbox Code Playgroud) 在新的iTunes Connect应用程序管理界面中 - 我认为它最近发生了变化,但我可能错了 - 如何编辑本地化(已批准和现场)iPhone应用程序的屏幕截图?
不幸的是,网络上传表格有一个错误,实际上需要以相反的顺序提供屏幕截图(我以正确的顺序提供它们,这意味着Apple扭转了它们,现在他们最终错了).StackOverflow也在这里提到.我只设法编辑美国版本中的4个屏幕截图,但不是我的本地化版本,而是在旧界面中.谢谢!
在JavaScript中,如何编写一个函数将给定的[编辑:正整数 ]数字(低于1000亿)转换为3个字母的缩写 - 其中0-9和az/AZ计为字母,但是点(因为它在许多比例字体中如此微小)不会,并且在字母限制方面会被忽略?
这个问题与这个有用的线程有关,但它不一样; 例如,那个函数将转向例如"123456 - > 1.23k"("123.5k"是5个字母)我正在寻找做"123456 - > 0.1m"("0 [.] 1m"为3个字母的东西).例如,这将是希望函数的输出(左原始,右理想返回值):
0 "0"
12 "12"
123 "123"
1234 "1.2k"
12345 "12k"
123456 "0.1m"
1234567 "1.2m"
12345678 "12m"
123456789 "0.1b"
1234567899 "1.2b"
12345678999 "12b"
Run Code Online (Sandbox Code Playgroud)
谢谢!
更新:谢谢!在做出以下修改时,答案在于并按照要求运作:
function abbreviateNumber(value) {
var newValue = value;
if (value >= 1000) {
var suffixes = ["", "k", "m", "b","t"];
var suffixNum = Math.floor( (""+value).length/3 );
var shortValue = '';
for (var precision = 2; precision >= 1; precision--) { …Run Code Online (Sandbox Code Playgroud) 背景:我有一个HTML页面,可以让您扩展某些内容.由于只需要加载页面的一小部分进行此类扩展,因此通过JavaScript完成,而不是通过指向新的URL/HTML页面.然而,作为奖励,用户能够永久链接到这样的扩展部分,即向其他人发送诸如的URL
并为其他用户立即打开"foobar"类别.这使用parent.location.hash ='foobar',因此该部分很好.
现在的问题是:当用户在页面上关闭此类别时,我想再次清空URL片段,即将http://example.com/#foobar转到http://example.com/以更新永久链接显示.但是,这样做parent.location.hash = ''会导致重新加载整个页面(例如在Firefox 3中),我想避免这种情况.使用window.location.href = '/#'不会触发页面重新加载,但会在URL中留下一些看起来不太好看的"#"符号.那么在流行的浏览器中有没有一种方法可以删除包含"#"符号的URL锚点,而不会触发页面刷新?
假设用户拥有像Chrome这样的现代浏览器并启用必要的HTML5摄像头设置(这样getUserMedia可行),如何使用JavaScript检测网络摄像头中显示的特定预定义对象?
例如,基于HTML5/JS的人脸检测工作得很好,我看到了另一个手检测演示(这在这里效果不好;我可能做错了).训练相机检测(开发者)选择的其他对象的必要步骤是什么?说,我希望凸轮识别红笔的位置; 或者可能是最黑暗的物体; 或者也许黑色的iPhone挥动着相机等.
谢谢!
我有一个相当简单的鸟瞰2D游戏,塔精灵通过射击子弹来防御传入的移动精灵.我的问题:如果子弹总是具有相同的定义速度,我如何计算子弹到达其移动目标所需的子弹速度?
我正在使用JavaScript并拥有这些精灵变量(以及其他):sprite.x,sprite.y,sprite.width,sprite.height,sprite.speedX(即velocity),sprite.speedY ...所以我有对象originSprite,targetSprite和bulletSprite都具有这些类型的值,我需要设置正确的bulletSprite速度值.
可能它看起来不错,子弹将从originSprite的外部开始(或者一些定义的半径,虽然我猜起始于originSprite中心也可以工作),但它的子弹中心会尝试击中targetSprite的中心或者所以.请注意,这个世界上没有引力或任何东西.(也许我应该使用角度和速度来获得我的精灵变量,但是现在我正在使用speedX和speedY ...)
非常感谢!
我想得到一个简单的Python"hello world"网页脚本,可以在Windows Vista/Apache上运行,但可以使用不同的墙.我正在使用WAMP.我已安装mod_python并且模块显示,但我不太确定我应该在http.conf中做什么(像AddHandler mod_python .py之类的东西要么把我带到一个未找到的文件,要么是禁止的,或模块访问http://localhost/myfolder/index.py时未找到错误.我可以mod_python.publisher上班,但我"想要"这个/需要这个吗?
有人可以帮忙吗?
谢谢!
在Unity中,如何在黑暗中阻止我的3D文本"发光"?
例如,我正在使用下面的着色器代码,但文本比其他东西更明亮/自发光.更改为"Lighting On"会消除光晕,但也会消除材质颜色,并变为黑色.
怎么解决这个?非常感谢!
Shader "GUI/3D Text Shader - Cull Back" {
Properties {
_MainTex ("Font Texture", 2D) = "white" {}
_Color ("Text Color", Color) = (1,1,1,1)
}
SubShader {
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
Lighting Off Cull Back ZWrite Off Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass {
Color [_Color]
SetTexture [_MainTex] {
combine primary, texture * primary
}
}
}
Run Code Online (Sandbox Code Playgroud) 鉴于Unity和C#中的网格(它本身是通过合并更简单的基础网格实时创建的),我们怎么能在运行时将它变成一个平滑的,几乎像布料网格版本一样?不完全凸起的版本,但更圆润,柔化锋利的边缘,桥接深的间隙等.理想情况下,当"平滑角度"法线设置应用于导入的对象时,曲面也会如此.谢谢!
*网格设置由人员及其具体事先预知.它的所有基本形状部分(在我们合并它们之前)都是已知的.如果有助于解决方案的话,基础部件也可以保持未合并状态,如果有一个运行时解决方案可以快速应用包装器mash,即使基本部件随时间改变其变换,但是静态一次性转换,这将是非常好的也会很棒.
(一些相关的关键字可能是:行进立方体算法和元球,骨骼上方的皮肤,网格过滤器转换,平滑着色器,软化,顶点细分.)