获取介于 0 和 1 之间的位置值的算法
Algorithm for getting position value between 0 and 1
所以我正在制作某种 2d 物理引擎(是的,我知道很难从头开始制作物理引擎),我需要一些帮助。
我需要一个算法来说明在屏幕上的哪个位置绘制多边形的顶点,它应该给出一个介于 0 和 1 之间的数字,0 是可能的最小位置 (0),1 是可能的最大位置 ( window 宽度或高度(1920 或 1080))。
我给每个多边形这些变量:
// = comment
x = [a number wetween 0 and 1]
y = [allso a number between 0 and 1]
width = [between 0 and 1]
height = [between 0 and 1]
vertices = [ // This makes a triangle
0, 1, // bottom left of a "box" created at [x] * [window width], [y] * [window height] with the width of [width] * [window width] and height [height] * [window height]
1, 1, // bottom right of the "box"
0.5, 0 // top middle
]
如何在屏幕上的哪个位置(以 0-1 格式)绘制顶点?
如果我对你的问题的理解正确,你想设置相对于框边界的顶点并将它们转换为像素坐标。这可以按如下方式完成:
translate(x) = (vertex_x * box_width + box_x_start) * pixel_width
translate(y) = (vertex_y * box_height + box_y_start) * pixel_height
哦,我明白了。这是 [x or y] + ([width or height] * [vertice])]
.
所以我正在制作某种 2d 物理引擎(是的,我知道很难从头开始制作物理引擎),我需要一些帮助。
我需要一个算法来说明在屏幕上的哪个位置绘制多边形的顶点,它应该给出一个介于 0 和 1 之间的数字,0 是可能的最小位置 (0),1 是可能的最大位置 ( window 宽度或高度(1920 或 1080))。
我给每个多边形这些变量:
// = comment
x = [a number wetween 0 and 1]
y = [allso a number between 0 and 1]
width = [between 0 and 1]
height = [between 0 and 1]
vertices = [ // This makes a triangle
0, 1, // bottom left of a "box" created at [x] * [window width], [y] * [window height] with the width of [width] * [window width] and height [height] * [window height]
1, 1, // bottom right of the "box"
0.5, 0 // top middle
]
如何在屏幕上的哪个位置(以 0-1 格式)绘制顶点?
如果我对你的问题的理解正确,你想设置相对于框边界的顶点并将它们转换为像素坐标。这可以按如下方式完成:
translate(x) = (vertex_x * box_width + box_x_start) * pixel_width
translate(y) = (vertex_y * box_height + box_y_start) * pixel_height
哦,我明白了。这是 [x or y] + ([width or height] * [vertice])]
.