获取0到1之间位置值的算法

时间:2015-10-30 18:43:38

标签: algorithm polygon vector-graphics

所以我正在制作某种2d物理引擎(是的,我知道从头开始制作物理引擎很难)我需要帮助。

我需要一个算法来说明在屏幕上绘制多边形顶点的位置,它应该给出一个介于0和1之间的数字,0表示可能的最小位置(0),1表示可能的最大位置(窗口宽度)或高度(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格式)我应该绘制顶点?

2 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,你想要相对于框的边界设置顶点并将它们转换为像素坐标。这可以按如下方式完成:

translate(x) = (vertex_x * box_width + box_x_start) * pixel_width

translate(y) = (vertex_y * box_height + box_y_start) * pixel_height

答案 1 :(得分:0)

Oh, i got it now. It's [x or y] + ([width or height] * [vertice])].