如何在p5js中手动创建一个二维向量数组并用滑块控制它?
How to manually create an array of 2D vectors in p5js and control it with a slider?
我有一个函数分别获取向量的 x 和 y 值,比如 vector = (a,b)
,在这种情况下,x 值将是 vector.x
(产生一个数字 a
), 和 y 值 vector.y
(或 b
).
但是,我有一堆这样的向量,它们不遵循任何特定的模式,所以我想将它们手动输入到数组或矩阵中,例如array = [(a,b), (c,d), (e,f)]
,然后控制哪个向量的每个时刻都通过滑块提供给函数。
例如,向右滑动一步将激活矢量 (c,d)
,并且 c
和 d
都会被输入函数。
我知道数组可以输入为 [[a,b], [c,d], [e,f]]
并且我可以调用 e
例如 array[2][0]
,但是函数设置为使用语法 vector.x
和 vector.y
。我看到仅更改功能是多么容易,但我很好奇如何手动手动创建此向量,然后使用从 0
到 2
的滑块以整数增量控制它。
只需映射它们:
const array = [['a','b'], ['c','d'], ['e','f']]
const transformed = array.map(([x,y]) => ({x,y}))
console.log(transformed)
对于矢量对象:
const array = [['a','b'], ['c','d'], ['e','f']]
const transformed = array.map(([x,y]) => (createVector(x, y)))
console.log(transformed)
我有一个函数分别获取向量的 x 和 y 值,比如 vector = (a,b)
,在这种情况下,x 值将是 vector.x
(产生一个数字 a
), 和 y 值 vector.y
(或 b
).
但是,我有一堆这样的向量,它们不遵循任何特定的模式,所以我想将它们手动输入到数组或矩阵中,例如array = [(a,b), (c,d), (e,f)]
,然后控制哪个向量的每个时刻都通过滑块提供给函数。
例如,向右滑动一步将激活矢量 (c,d)
,并且 c
和 d
都会被输入函数。
我知道数组可以输入为 [[a,b], [c,d], [e,f]]
并且我可以调用 e
例如 array[2][0]
,但是函数设置为使用语法 vector.x
和 vector.y
。我看到仅更改功能是多么容易,但我很好奇如何手动手动创建此向量,然后使用从 0
到 2
的滑块以整数增量控制它。
只需映射它们:
const array = [['a','b'], ['c','d'], ['e','f']]
const transformed = array.map(([x,y]) => ({x,y}))
console.log(transformed)
对于矢量对象:
const array = [['a','b'], ['c','d'], ['e','f']]
const transformed = array.map(([x,y]) => (createVector(x, y)))
console.log(transformed)