Opengl 如何绘制两个等距移动点?

Opengl 如何绘制两个等距移动点?,opengl,graphics,coordinates,Opengl,Graphics,Coordinates,假设一个曲面有两个点在曲面上移动(形成各种直线和曲线),同时遵守以下条件 这两个点之间始终保持恒定的C距离 每个点都有自己的速度和方向向量。当然,这两个参数将根据条件1受到限制。 例如,如果点1的速度为0,而点2正在移动,则会形成一个以点1为中心的圆形 我无法在编程构造中表达这些条件。有人能帮我吗 我正在使用OpenGL,但即使是一个伪代码也可以 vec3 center; while(1): vec3 centerDirection = ... center += cent

假设一个曲面有两个点在曲面上移动(形成各种直线和曲线),同时遵守以下条件

  • 这两个点之间始终保持恒定的C距离
  • 每个点都有自己的速度和方向向量。当然,这两个参数将根据条件1受到限制。 例如,如果点1的速度为0,而点2正在移动,则会形成一个以点1为中心的圆形 我无法在编程构造中表达这些条件。有人能帮我吗

    我正在使用OpenGL,但即使是一个伪代码也可以

    vec3 center;
    
    
    
    while(1):
        vec3 centerDirection = ...
        center += centerDirection
        float angle = ...
        vec3 dir(cos(angle), 0, sin(angle))
        vec3 p1 = center + (C/2) * dir
        vec3 p2 = center - (C/2) * dir
        draw p1
        draw p2
    
    这是一个解决方案,移动圆心并确保p1和p2是两个完全相反的点 另一个解决方案:

    while 1:
        p1 += random
        p2 += random
        delta = p1-p2
        delta.normalize()
        p2 = p1 + C * delta
    
    i、 e你限制p2,而不是两点

    这是一个解决方案,移动圆心并确保p1和p2是两个完全相反的点 另一个解决方案:

    while 1:
        p1 += random
        p2 += random
        delta = p1-p2
        delta.normalize()
        p2 = p1 + C * delta
    

    i、 您可以约束p2,而不是两个点。

    在openGL中我实现的如下所示

    绘制两点(-SPAN,0,+SPAN,0)//x轴上的两点

    然后我旋转坐标系,在上面两个位置画两个点


    简单

    在openGL中我实现的如下

    绘制两点(-SPAN,0,+SPAN,0)//x轴上的两点

    然后我旋转坐标系,在上面两个位置画两个点


    简单

    您需要进一步指定您的条件。从这个例子中,我了解到应该应用另外两条规则:1)没有拖动2)速度优先于方向(点将尝试保持其速度,即使它意味着改变方向)。对吗?你对例子2有把握吗。?在物理模拟中,这将导致第一个点在第二个点围绕它旋转时开始翻滚-如果它们的相对质量大约相等,它们将在向给定方向移动时开始彼此旋转。如果初始移动点的质量更大,第一个移动点将开始绕第二个移动点旋转。想象一个机器人有三个轮胎,后面有两个汽车轮胎,前面有一个脚轮。假设这两个机动轮胎的速度可以独立控制。我想写一个程序来跟踪它们在平面上的运动,你需要详细说明你的条件。从这个例子中,我了解到应该应用另外两条规则:1)没有拖动2)速度优先于方向(点将尝试保持其速度,即使它意味着改变方向)。对吗?你对例子2有把握吗。?在物理模拟中,这将导致第一个点在第二个点围绕它旋转时开始翻滚-如果它们的相对质量大约相等,它们将在向给定方向移动时开始彼此旋转。如果初始移动点的质量更大,第一个移动点将开始绕第二个移动点旋转。想象一个机器人有三个轮胎,后面有两个汽车轮胎,前面有一个脚轮。假设这两个机动轮胎的速度可以独立控制。我想写一个程序,在平面上追踪它们的运动。