尝试用p5.js库移植我在javascript中所做的东西,该库具有2D向量的setMag函数
这是
如何在ROBLOX/lua中设置2D矢量的大小?
function particle:update(mouseX,mouseY)
local t=(Vector2.new(mouseX,mouseY)-(self.pos)).unit.setMag(self.acc)
self.thrust=t
self.vel = self.vel + self.thrust
if self.vel.magnitude>self.maxspeed then
下面的代码在一行中抛出一个错误:
let vectors
function setup() {
createCanvas(400,400);
vectors = [];
vectors.push(createVector(100,100));
vectors.push(createVector(100,0));
vectors.push(createVector(0,100));
let s = vectors.reduce(p5.Vector.add, createVector(0,0));//error!
console.log(s
我做了这个非常简单,完美工作的实现(还没有实现环境,但现在我并不担心)。这些函数应该是自我解释的。
/**
* Implements the classic Phong illumination Model using a reflected light
* vector.
*/
public class PhongIllumination implements IlluminationModel {
@RGBParam(r = 0, g = 0, b = 0)
public Vec3 ambient;
@RGBParam(r = 1, g = 1, b =
我正试图用p5.js编写一个程序,我的结果就快到了,但是我得到的最后一个矩形太大了。图像就是它应该看起来的样子。
function setup() {
createCanvas(400, 400);
background(255);
}
function draw() {
noLoop()
stroke(0)
strokeWeight(0.5)
let x = 50
let y = 300
let w = 20
let h = 20
blueRange = 255
greenRange = 127
for(let i = 0;i <= 10;i++
我目前正在使用p5.js进行一个项目。直到现在,我可以显示三维原语形状,如盒,球或圆柱。我在互联网上搜索,发现p5.js只接受.obj文件作为模型。因此,我尝试遵循编码列车的教程(),但结果是不同的。
我仍然尝试将教程中的代码放在我看来合乎逻辑的地方,但控制台上有一个错误。有关信息,我在http-server上运行我的项目,不需要只运行index.html文件。以下是代码:
let bottle;
function preload() {
bottle = loadModel('glass_bottle.obj');
}
function setup() {
我试图跟踪一个物体的位置,这样我就可以在p5.js中画出它后面的轨迹。
我使用translate()和rotate()函数在屏幕周围移动对象,为了绘制跟踪,我打算在每次更新后将对象的位置存储在一个数组中。我知道在处理3,the model X, Y and Z functions时有类似的要求,但据我所知,这些都还没有在javascript版本中实现。
甚至访问画布当前的转换矩阵都是有问题的,此时我正在考虑重新设计api的转换部分,直到添加了此功能。
因此,我的问题基本上是:在应用了一组转换之后,有没有办法确定屏幕(画布)坐标(0,0)?
我有一些球体,我想直接在x轴上移动,只有它们的y轴在正弦波的基础上变化(你知道上下方向的溜溜球模式)。它在2d中非常简单,但由于某种原因,在WEBGL中,sin函数的角度变化并不适用于this.y。
let particles = [];
let quantity = 20;
function setup() {
createCanvas(300, 300, WEBGL);
for (let i = 0; i < quantity; i++) {
let particle = new Particle();
particles.push(particle)
我正在做作业,当我在课堂上添加了一个析构函数时,遇到了一个问题。
来自外派:
该类将有一个析构函数,该析构函数显示一条消息,指示对象已“超出作用域”。
通过输出到一个rectangle对象,我在ofstream类中实现了这一点:
rectangle::~rectangle()
{
RectOutput << "Object with length " << length << " and width " << width << " is now out of scope."
我对JavaScript和P5.js库非常陌生,目前我正试图在嵌套循环中找到我的头绪。我试图同时迭代x位置和填充透明性,并且我已经使用了while循环,但是当我试图创建一个嵌套的for循环时,我会取消它。
下面是while循环:
function setup() {
createCanvas(500, 200);
}
function draw() {
//background colour
background(0,0,0);
let x = 20;
let alpha = 50;
while (x <= width){
fill(25
我正在制作一个非常基本的示例,它使用p5.js和一个带有WEBGL的画布
function setup(){
createCanvas(100, 100, WEBGL);
}
function draw(){
beginShape(POINTS);
vertex(0,0);
endShape();
}
这是完整的节目。当我运行这个程序时,我会得到以下错误
p5.js:31516 WebGL: INVALID_VALUE: enableVertexAttribArray: index out of rangep5.RendererGL._bindImmediat
有没有一种方法可以从一个旋转四元数和一个平移向量创建一个矩阵,而不首先将这两个矩阵转换成矩阵?
我现在正在做的(使用我自己的小数学库)是:
var rotation = new quat(...);
var translation = new vec3(...);
var rotationMatrix = new mat4(rotation);
var translationMatrix = new mat4(translation);
var matrix = mat4.product(translationMatrix, rotationMatrix);
相反,我想做以下几点:
var
我想用模拟游戏手柄以相同的最大恒定速度向任何方向移动我的角色。
通常情况下,对于8个方向的移动,我会根据方向类型将玩家的速度乘以一个常数。
ORTHOGONAL_SPEED = 2
DIAGONAL_SPEED = 1.414
我得到的是来自模拟输入的电流轴的小数。
joy1_axisDir1 = a number between -1(left) and 1(right)
joy1_axisDir2 = a number between -1(up) and 1(down)
这就是我现在在屏幕上移动角色的方法。
Lua代码:
if joy1_axisDir1 ~= 0 then
play