我知道这是一个非常开放的问题.我已经对FFmpeg进行了一些初步阅读,但现在需要一些指导.
input.mov.overlay.wov.output.mov).谢谢 - C.
ffmpeg -i input.mov -i overlay.mov -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18 output.mov
Run Code Online (Sandbox Code Playgroud)
然而,这几乎可行:
input.mov&overlay.mov)长度相同,叠加也会缩短.0:00.哪些是最成熟,最受支持的编写图形程序的解决方案?
我一直在使用C++和OpenGL/GLUT,但我想尝试一种更灵活和更具表现力的方法.
Ruby和Processing?Python和OGRE?什么事情对你有用?
我想使用Processing在服务器端渲染可视化(无头,没有GUI).处理草图是静态的(即没有动画),因此我只需要抓住第一帧,并且我希望按需将此结果提供给我们的Web应用程序的用户.
我在processing.org论坛上搜索了一下,并且有人建议Processing不会无头启动.我见过的唯一一个涉及推出无头X11显示器的黑客:
Xvfb :2 &
export DISPLAY=":2"
./myapp
killall -9 Xvfb
Run Code Online (Sandbox Code Playgroud)
..这对我们不起作用,因为我们希望有一个纯Java解决方案,并且无法始终保证服务器端的X渲染器.
我如何在纯Java中执行此操作?
java processing data-visualization server-side image-processing
我正在使用一些javascript来允许用户使用以下命令动态加载素描到click元素:
Processing.loadSketchFromSources('canvas_id',['sketch.pde']);
如果我将Processing.loadSketchFromSources(...)调用第二个(或第三个......)时间,它会将第二个(或第三个......).pde文件加载到画布上,这正是我所期望的.
我希望用户能够单击另一个链接来加载不同的草图,有效地卸载前一个草图.有没有我可以调用的方法(或者我可以使用的技术)来检查Processing是否有另一个草图运行,如果有,请告诉它先卸载它?
是否有某种Processing.unloadSketch()方法我忽略了?我可以简单地删除画布DOM对象并重新创建它,但是当我需要针时,(1)似乎使用锤子,(2)它会导致我想避免的屏幕闪烁.
我不是JS专家,但我已经尽力查看processing.js源代码,看看其他功能可能存在,但我还是碰壁了.我想也许我可以看看Processing.Sketches.length来查看是否已经加载了某些东西,但只是将它从阵列弹出似乎不起作用(不认为它会).
我正在使用ProcessingJS 1.3.6.
我正在制作一个用户玩家在屏幕上放置圆圈的游戏.重要的是圆圈永远不会重叠,所以我需要从光标中找出最近的可能自由点.我找到了圆形打包算法,但它们似乎不适合我的问题.我也在过去为盒子(这里)解决了类似的问题,但是用圆圈,我似乎无法弄明白.
我想出了当它与一个圆相交时,或者甚至当涉及两个时,我如何找到最近的自由位置.但是,我找不到一个可以处理任何排列中具有任意数量圆圈的复杂情况的稳健算法.
问题的精确描述:我有一个2D空间,任意数量的非交叉圆,都具有相同的半径(虽然这可能无关紧要).我想找到下一个圆的位置,使其不与任何其他圆相交,并且哪个中心[x,y]最接近指定位置[x,y].
任何类型的建议(参考,方法或(Java)库).
ps如果解决方案包括确保圆圈保持在特定的边界框内(即显示),则奖励积分.
我的最终解决方案:(根据David Wallace的建议)
请注意,这不能很好地完成,但在我的情况下,用户正在拖动屏幕上的新圆圈就足够了.它适用于大多数情况下,有些情况下没有,通常当有很多圆圈非常接近时,新圆圈只停留在最后一个位置(这是有效的).然后,用户可以决定进一步拖动它,并且在他想要新圆圈的位置更精确.
我想将我的一个Processing草图导出为gif格式,并使用extrapixel的Gif动画库(http://extrapixel.github.io/gif-animation/)来实现.
我能够导出正确数量的帧,但它们都显示为空.
任何想法为什么会这样?
import gifAnimation.*;
GifMaker gifExport;
float angle = 0.1;
void setup() {
size(500, 500);
smooth();
noStroke();
background(0);
frameRate(12);
gifExport = new GifMaker(this, "spin rect sine growth.gif");
gifExport.setRepeat(0); // make it an "endless" animation
gifExport.setTransparent(255); // make white the transparent color -- match browser bg color
}
void draw() {
float size = map(sin(angle),-1,1,0,height);
rectMode(CENTER);
translate(width/2, height/2);
rotate(angle);
noStroke();
fill(255,255);
rect(0,0, size, size);
angle += 0.0523 ;
noStroke();
fill( 0, 15);
rect(0, 0, width, height);
gifExport.setDelay(0); //maybe …Run Code Online (Sandbox Code Playgroud) 我用P5.js创建的简单游戏包括一个球,该球在重力作用下掉落并在地面反弹。我想在球触地时为其添加“压缩”动画,以使其看起来更逼真。
我该如何做而又不会显得怪异?
代码是这样的:
function Ball() {
this.diameter = 50;
this.v_speed = 0;
this.gravity = 0.2;
this.starty = height / 2 - 100;
this.endy = height - this.diameter / 2;
this.ypos = this.starty;
this.xpos = width / 2;
this.update = function() {
this.v_speed = this.v_speed + this.gravity;
this.ypos = this.ypos + this.v_speed;
if (this.ypos >= this.endy) {
this.ypos = this.endy;
this.v_speed *= -1.0; // change direction
this.v_speed = this.v_speed * 0.9;
if (Math.abs(this.v_speed) < 0.5) {
this.ypos = this.starty;
}
} …Run Code Online (Sandbox Code Playgroud)我在自己的Mac上运行了jupyter-notebook,并插入了caylsto-processing库,因此我可以在浏览器选项卡的笔记本中运行处理脚本。但是我试图能够在活页夹中全部运行,以便我可以在上课时与学生共享我的处理脚本。我创建了一个Github存储库,并将其链接到活页夹,该活页夹可以构建和启动,但是唯一可用的内核是python 3。
我已经读到我可以包含一堆配置文件,但是我是其中的新手,而且我看不到任何引入calysto处理内核的示例,因此我不确定如何进行。
我的活页夹和带有处理脚本的jupyter-notebook的屏幕快照-但是,当您单击内核时,它显示的唯一内核是python:

任何帮助,将不胜感激。
我有这个 p5.js 代码片段:
let x = 10;
let y = Math.floor(Math.random()*201);
let x2 = 190;
let y2 = 200 - Math.floor(Math.random()*201);
function setup() {
createCanvas(200, 200);
}
function draw() {
clear();
y = Math.floor(Math.random()*201);
y2 = 200 - Math.floor(Math.random()*201);
line(10, y, 190, y2);
} Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/p5.js"></script>Run Code Online (Sandbox Code Playgroud)
我想让它自动运行一次,然后每次按下按钮时都会运行一次。
我在这里主要关心的是“只运行一次”位,所以如果有人可以帮助我解决这个问题,那就太好了。
但是我无法添加渐变,以便线条表示所述信息并在两种颜色之间随机给出这种随机颜色。这是我尝试过的。
int steps = 10;
noFill();
//stroke(#5A38FA, 50);
strokeWeight(1);
for(int i=0; i<steps; i++) {
strokeWeight(1);
noFill();
stroke(lerpColor(#31B5E8, #F0E62E, (float)i/steps));
bezier(locationX, locationY, locationX+random(15, 50), locationY+random(13,50), customerLocationX+random(15, 30), customerLocationY+random(15, 70), customerLocationX, customerLocationY);
}
Run Code Online (Sandbox Code Playgroud)