我正在寻找具有固定轴为铰链旋转的矩形的正向的数学或算法计算。 正如你可以在下面的图片中看到。
我有4个矩形的顶点位置(x,y)和原产地是矩形的中心,因此所需的算法将投射我原来形状的顶点形成所要求的形状顶点。 (请参见下图)
我知道它很容易与3D库做到这一点,但我需要与2D图形的高级语言像.NET或Java或东西没有任何3D或互补的图书馆这样做。
请帮我带任何想法或基准或比所有源代码或算法更好。
在此先感谢您质量的时间。
我正在寻找具有固定轴为铰链旋转的矩形的正向的数学或算法计算。 正如你可以在下面的图片中看到。
我有4个矩形的顶点位置(x,y)和原产地是矩形的中心,因此所需的算法将投射我原来形状的顶点形成所要求的形状顶点。 (请参见下图)
我知道它很容易与3D库做到这一点,但我需要与2D图形的高级语言像.NET或Java或东西没有任何3D或互补的图书馆这样做。
请帮我带任何想法或基准或比所有源代码或算法更好。
在此先感谢您质量的时间。
总结以上我的评论:
从我的经验,有两个层面的工作的时候,我发现了一个名为奇妙的工具巨大成功处理 。 处理是Java编程语言的一个扩展,在任何可视化专门针对,从数据结构来恐吓物理模拟。 从你提供的帮助的图形,我假设你想在任何给定的时间绕点或轴一个结构。 看看功能丰富的API参考,处理报价(我是新用户,不幸的是我不能链接两个以上的项目,将会把链接下面API参考)。 他们有旋转和变换点周围独特的功能。 但是,它不旋转的结构围绕上述点,而是旋转了整个屏幕,一切都包含围绕点。 例如,如果你想绕原点(0,0)通过45度的一切,这将是简单的:
void setup()
{
size(200, 200); // Set the size of the screen to 200 x 200 pixels
background(255); // Set the background to white
smooth(); // Smooth the edges of the rectangles
fill(192); // Fill the rectangle with a light gray
noStroke(); // No black border on rectangle
rect(40, 40, 40, 40); // Create an equilateral rectangle (square) that is 40 x 40 pixels at the point (40,40)
pushMatrix(); //Let the compiler know that you will be modifying the Matrix
rotate(radians(45)); // Rotate the screen about the origin (by default) 45 degrees clockwise
fill(0); // Color the following rectangle black
rect(40, 40, 40, 40); // Draw an equivalent rectangle as the last one, only at the new modified screen coordinates
popMatrix(); // Let the compiler know you are done modifying the matrix
}
上面的代码将创建两个相同的正方形,一个在点(40,40)和一个在约原点顺时针45度。
有一个非常详细的教程,在那里,可以发现这里这解释了详细得多的一切。 我真的希望这会有所帮助。 祝一切顺利! API参考:processing.org/reference/