gpt4 book ai didi

java - 使用 libgdx 绘制曲线

转载 作者:行者123 更新时间:2023-11-30 07:54:40 27 4
gpt4 key购买 nike

我正在使用 libgdx 尝试使用此 doc 绘制一些曲线.

但是当我渲染时,它只是一条直线,你知道为什么它不弯曲吗?

我假设 myCatmull.valueAt 应该填充曲线上的正确点。

public class IABezier {

Vector2[] points = new Vector2[100];

public IABezier() {

Vector2[] dataSet = new Vector2[2];
dataSet[0] = new Vector2(10.0f, 10.0f);
dataSet[1] = new Vector2(20.0f, 20.0f);

CatmullRomSpline < Vector2 > myCatmull = new CatmullRomSpline < Vector2 > (dataSet, true);
for (int i = 0; i < 100; ++i) {

points[i] = new Vector2();
myCatmull.valueAt(points[i], ((float) i) / ((float) 100 - 1));
}
}

public void draw(ShapeRenderer sRenderer) {

sRenderer.begin(ShapeType.Line);
sRenderer.identity();
for (int i = 0; i < 100 - 1; ++i) {

sRenderer.line(points[i], points[i + 1]);
}
sRenderer.end();
}
}

渲染..

screenshot

最佳答案

一个catmullrom spline需要至少四个 sample 。因此,您必须添加更多样本才能查看实际曲线。

    Vector2[] dataSet = new Vector2[6];
dataSet[0] = new Vector2(10.0f, 10.0f);
dataSet[1] = new Vector2(20.0f, 20.0f);
dataSet[2] = new Vector2(20.0f, 10.0f);
dataSet[3] = new Vector2(10.0f, 20.0f);
dataSet[4] = new Vector2(15.0f, 15.0f);
dataSet[5] = new Vector2(25.0f, 25.0f);

Here's an example which you can copy, paste and run .

关于java - 使用 libgdx 绘制曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32828985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com