(Opengl 3) 如何在两个轴上的两点之间画一条线

问题描述

我想使用现代 Opengl 从点 xy1 绘制到点 xy2

我认为我能做到的最好方法是制作一个正方形并旋转和缩放它以形成一条线

我遇到的唯一问题是 x 轴和 y 轴都可用的缩放方式

I expected something like that

The real result

我一直在尝试很多事情,比如计算整个长度,然后像这样应用旋转来缩放

xscale = length * cos(rad);
yscale = length * sin(rad);

最接近我想要的东西

lengthx = endpointx - startpointy;
lengthy = endpointy - startpointy;
xscale = fabs(lengthx) * fabs(cos(rad));
yscale = fabs(lengthy ) * fabs(sin(rad));

它的问题是当我说时它只能在一个轴上工作

scale(xscale,1);

点是 (20,10) (30,10) 它会在 20 和 30 之间画一条线 但是当点是 (20,20) 时,它会从 (20,10) 到 (25,15) 画一条线

实现这一目标的最佳方法是什么?有更好的方法吗?我想为此制作一个纹理,但我认为它会浪费

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)