多角度3d模型旋转算法

最近仿真软件的进度是利用生成的大量3d模型,进行多角度的模型截图,用于构建神经网络做模型识别作用,因此为了构建神经网络,我们需要不同角度的大量的模型图片,因此我们需要实现多角度的3d模型旋转算法。

package casc.cast.c504.I2P;

import java.awt.AWTException;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class rotation {
	public static void rotate(int x, int y ) throws Exception {
		Robot r = null;
		try {
			r = new Robot();
		} catch (AWTException e) {
			e.printStackTrace();
		}
		if (r != null) {

	//		r.mouseWheel(5);        //鼠标滑轮进行模型放大
		//	Robot robot = new Robot();
			r.mouseMove(700, 600); //初试控制鼠标的位置
			r.mousePress(InputEvent.BUTTON1_MASK);//点击鼠标左键
			r.mouseMove(700+x, 600+y);
			r.mouseRelease(InputEvent.BUTTON1_MASK);//放下鼠标左键
	//		r.mouseWheel(-4);
			r.mouseMove(700, 600);//返回鼠标初试位置
			Thread.sleep(3000L);

			
		}
	}
	
	public static void main(String[] args) throws Exception {
		rotate(10,10);
	}

}

我们的旋转算法主要是利用robot方法,控制鼠标的点击以及移动,因为我们利用轻量级查看器Autodest FBX Review导入obj模型,此时我们选择最简单的旋转方式,通过鼠标的上下移动可以达到控制模型的旋转,但缺点是不够精确,无法具体控制旋转的角度,只能通过不断的测试移动的距离,基本确定360度的移动距离。

Autodest FBX Review:https://blog.csdn.net/YuanKY214/article/details/83178069
多角度3d模型旋转算法_第1张图片

你可能感兴趣的:(仿真软件)