相关疑难解决方法(0)

Bezier曲线的OpenGL坐标

基本上,我需要从OpenGL中的Bezier曲线实现中获取所有坐标.具体来说,我需要坐标沿着弯曲的轨迹路径在我的场景中移动球体对象(棒球).这就是我用来绘制曲线的方法:

GL2 gl = drawable.getGL().getGL2();    
float ctrlpoints[][] = new float[][]{
            {0.0f, 0.0f, 60f},
            {0.0f, 3.0f, 45.0f},
            {0.0f, 2.0f, 15.0f},
            {0.0f, 1.0f, 0f}};
    FloatBuffer ctrlpointBuf = FloatBuffer.allocate(ctrlpoints[0].length * ctrlpoints.length);
        for (int i = 0; i < ctrlpoints.length; i++) {
            for (int j = 0; j < 3; j++) {
                ctrlpointBuf.put(ctrlpoints[i][j]);
            }
        }
        ctrlpointBuf.rewind();

        gl.glMap1f(GL2.GL_MAP1_VERTEX_3, 0.0f, 1.0f, 3, numControlPoints, ctrlpointBuf);
        gl.glEnable(GL2.GL_MAP1_VERTEX_3);

        gl.glColor3f(1.0f, 1.0f, 1.0f);
        gl.glBegin(GL2.GL_LINE_STRIP);
        for (int i = 0; i <= 30; i++) {
            gl.glEvalCoord1f((float) i / (float) 30.0);
        }
        gl.glEnd(); …
Run Code Online (Sandbox Code Playgroud)

opengl bezier coordinates

5
推荐指数
1
解决办法
2万
查看次数

如何找到定义贝塞尔曲线的数学函数

我试图实现贝塞尔曲线和线段交叉测试.我搜索到的最接近的事情是采用贝塞尔曲线(为简单起见,将其限制为三个控制点)找到生成该曲线的数学函数并将其放在原点上.然后,使用线段的函数作为另一个函数,让它们相等并求解方程.

许多消息来源陈述上述解决方案(除非我误解了它们),我的问题是我无法找到计算生成贝塞尔曲线的数学函数的方法.

哦,请指出我是否完全偏离找到交叉点.

language-agnostic math bezier

4
推荐指数
1
解决办法
5934
查看次数

标签 统计

bezier ×2

coordinates ×1

language-agnostic ×1

math ×1

opengl ×1