小编bar*_*ter的帖子

使用SVG渐变"自然地"着色三角形

我有3个点H1,H2和H3,其中每个Hi具有100%的饱和度和值,只有色调变化.换句话说,这些是"彩虹"颜色.

我想使用SVG的渐变功能"自然地"为三角形着色.换句话说,接近H1的点应该具有色调H1,着色应该是连续的等等.

这个问题定义明确吗?真的有这种(独特的?)着色吗?

轻微:我不认为色调"环绕".换句话说,色调.995和.003之间的颜色是.499,而不是.999.

如果这个问题有解决方案,可以使用Delaunay三角测量法将它扩展为"自然"为平面上任何一组彩色点的凸包上色吗?

math svg

7
推荐指数
3
解决办法
1787
查看次数

安全的只读sqlite3数据库

我想给我的网站用户任意只读访问SQLite3数据库,而不让他们写入数据库或做任何其他损害.怎么样?

使db文件只读有一点帮助,但"ATTACH",".load"和".output"等命令允许人们读/写其他文件,这些文件可能不受保护.

当然,如果我知道所有这些命令,我​​只会过滤它们,但我最担心的是我没有想过的命令.

我曾尝试简单地改变sqlite3的源代码以禁止写入,但这比它看起来更难:即使SELECT语句似乎做了一些内部的INSERTS/etc.

注意: 我已经考虑过DOS攻击,并且会将cputime限制为5s或者其他什么.我主要担心的是文件损坏/"黑客攻击",而不是DOS.

chroot()可能有用,但看起来很极端.

思考?

编辑:哇,3年多前我真的问过这个吗?

从那以后,我实际上写了一个程序来做这件事.

我认为这是相当安全的(但我可能是错的).

这是一个示例查询.

sqlite security

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

使用VLC注释视频

当使用VLC观看视频时,我有时想要"标记"特定点(或范围)并添加文本注释以供日后参考.

我意识到我可以运行一个文字处理器,输入"filename.mov,第二个2:17,注意:等等等等等,但是有更简单的方法吗?我想用"右键单击,菜单项,键入注释"来自动记录文件名和时间.

如果没有,我是否可以至少为特定位置添加书签,以便我可以稍后再回过头来弄清楚我发现的内容如此迷人?

annotations bookmarks vlc

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

自由时间戳音频转录(语音到文本)?

是否有任何免费服务/程序可以将音频转录为文本并保留时间戳?

我要转录:

这是VoiceBase的演示链接

(419个诈骗者之间16米的谈话;诈骗者说重口音,所以我不抱怨转录的质量).

Voicebase会转录它,但转录是一个单独的测试块,并没有带时间戳.

我还尝试了谷歌语音"技巧"(将文件记录到语音邮件中,让Google一次转录3分钟),但是,转录再次是单个文本块,而不是时间戳.

我知道狮身人面像,但无法让它发挥作用.

我意识到我可以使用字幕编辑器来创建手动转录,但我正在寻找一种自动化解决方案.

理想情况下,我想采用带时间戳的机器转录并手动编辑它.

speech-recognition

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

求解形式p [n,m] == p [n,m-2] + p [n-1,m-1] + p [n-2,m]的重现

我正试图解决(找到一个封闭形式的解决方案)这个(风险赔率计算器)递归关系:

p[n,m] == 2890/7776*p[n,m-2] + 2611/7776*p[n-1,m-1] + 2275/7776*p[n-2,m],
p[n,1] == 855/1296 + 441/1296*p[n-1,1],
p[3,m] == 295/1296*p[3,m-2] + 420/1296*p[2,m-1],
p[2,m] == 55/216,
p[1,m] == 0
Run Code Online (Sandbox Code Playgroud)

Mathematica的RSolve函数不起作用(我确定我使用了正确的语法,因为我在http://reference.wolfram.com/mathematica/ref/RSolve.html上遵循了两个变量的例子 ).

事实上,RSolve甚至不会解决这个"更简单"的递归:

p[n,m] == p[n,m-2] + p[n-1,m-1] + p[n-2,m],
p[0,m] == 1,
p[1,m] == 1,
p[n,1] == 1,
p[n,0] == 1
Run Code Online (Sandbox Code Playgroud)

解决这种类型的递归关系是否存在根本性的困难,或者Mathematica是否存在片状?

我正在使用的确切示例:

RSolve[{
p[n,m] == p[n,m-2] + p[n-1,m-1] + p[n-2,m], 
p[0,m] == 1, 
p[1,m] == 1, 
p[n,1] == 1, 
p[n,0] == 1 
}, p[n,m], {n,m}]
Run Code Online (Sandbox Code Playgroud)

返回值与我的输入相同,直到一些数字杂耍.

在doc页面上,它位于"Scope"下,然后是"Partial Difference Equations"

recursion wolfram-mathematica

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

使用ImageMagick裁剪并缩放SVG到PNG,无像素化

我有一个包含许多多边形的SVG:

https://github.com/barrycarter/bcapps/blob/master/sample-data/current-temps.svg

看起来有点像这样:

在此输入图像描述

裁剪此项并转换为PNG可以正常工作:

convert -crop 100x100+200+150 current-temps.svg /tmp/exhb2.png
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,裁剪和缩放失败:

convert -crop 100x100+200+150 -scale 1000x750 current-temps.svg /tmp/exhb3.png
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在裁剪之前如何让ImageMagick"放大"SVG?

(我意识到ImageMagick只能读取,而不是写入SVG格式,但它仍然能够做我想要的吗?)

编辑/解决:

谢谢,robermorales.

inkscape -z -e out4.png -w 1000 -h 1000 -a 200:200:400:400 current-temps.svg 
Run Code Online (Sandbox Code Playgroud)

(例如)像魅力一样工作.

我也意识到复制SVG,调整变换线:

<g transform="scale(3,3) rotate(-90) translate(-90,180)"> 
Run Code Online (Sandbox Code Playgroud)

然后转换为PNG是另一种解决方案.

imagemagick

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

使用twitter流API跟踪多个主题标签

当我访问(w /适当的凭据):

https://stream.twitter.com/1/statuses/filter.json?lang=en&track=#help '

我得到了我想要的东西:带有#help主题标签的无休止的推文流.

然而,

https://stream.twitter.com/1/statuses/filter.json?lang=en&track=#help,#perl

产生错误

索引70处片段中的非法字符:https: //stream.twitter.com/1/statuses/filter.json?lang = en&track =#help,#perl

这似乎是'#perl'中的'#'.怎么修?

作为参考,这很好用:

https://stream.twitter.com/1/statuses/filter.json?lang=en&track=perl,#help

虽然这不是:

https://stream.twitter.com/1/statuses/filter.json?lang=en&track=perl,#help,#ruby

是否有规则不会跟踪多个主题标签,或者我在做一些更根本错误的事情?我应该通过跟踪'#标签'跟踪'#hashtag'吗?

twitter

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

networkx:有效地找到有向图中的绝对最长路径

我希望networkx在我的有向无环图中找到绝对最长的路径.

我知道Bellman-Ford,所以我否定了我的图表长度.问题:networkx的bellman_ford()需要一个源节点.我想找到 绝对最长的路径(或否定后的最短路径),而不是给定节点的最长路径.

当然,我可以在图中的每个节点上运行bellman_ford()并进行排序,但是有更高效的方法吗?

从我读过的内容(例如,http: //en.wikipedia.org/wiki/Longest_path_problem)我意识到实际上可能没有更有效的方法,但是想知道是否有人有任何想法(和/或已证明P = NP(笑)).

编辑:我的图中的所有边长都是+1(否定后为-1),因此只需访问大多数节点的方法也可以.通常,当然不可能访问所有节点.

编辑:好的,我刚刚意识到我可以添加一个额外的节点,它只是连接到图中的每个其他节点,然后从该节点运行bellman_ford.还有其他建议吗?

networkx

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

Mathematica插值[]在范围外时保持不变

我想通过在输入超出范围时用恒定值替换外推来“修改” Mathematica的Interpolation []函数(在一维中)。

换句话说,如果插值域为[1,20]且f [1] == 7和f [20] == 12,我想要:

f[x] = 7 for x<=1 
f[x] = 12 for x>=20 
f[x] = Interpolation[...] 
Run Code Online (Sandbox Code Playgroud)

但是,这失败了:

(* interpolation w cutoff *) 
interpcut[r_] := Module[{s, minpair, maxpair}, 

(* sort array by x coord *) 
s = Sort[r, #1[[1]] < #2[[1]] &]; 

(* find min x value and corresponding y value *) 
minpair = s[[1]]; 

(* ditto for max x value *) 
maxpair = s[[-1]]; 

(* return the pure function representing cutoff interpolation *) …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

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

Perl中的对称和传递自定义单位转换

我已经定义了以下自定义单位(伪代码):

unix_days = unix_seconds/86400; 
nasa_seconds = unix_seconds - 946728000; 
Run Code Online (Sandbox Code Playgroud)

这让我直接转换unix_secondsunix_days或转换 unix_secondsnasa_seconds.

但是,如果 不编写另一个公式,我无法直接转换unix_days回来unix_seconds.

同样,如果不编写其他公式,我无法转换nasa_secondsunix_days.

是否有一个聪明的Perl子例程或包,让我这样做而无需编写其他功能?更具体地说,一个自定义单位转换包:

  • 可以神经单位转换函数的逆.例如,相反的f(x)=x/86400g(y)=y*86400.

  • 可以根据需要应用传递性.例如,如果unix_seconds = nasa_seconds + 946728000(通过功能逆)unix_days = unix_seconds/86400,我们可以将它们组合起来直接转换nasa_secondsunix_days.

如果需要,我可以用不寻常的方式编写我的转换公式.例如,Celsius到Fahrenheit可以写成:

C to F: *1.8 +32 
Run Code Online (Sandbox Code Playgroud)

这种形式很容易反转:只需按照后面的步骤反过来,即:

F to C: -32 /1.8 
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?

perl unit-conversion

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