Tag: 3d

在Java中绘制3Dfunction和点

我只需要3D中的function图,表面上有一些点。 我怎样才能实现它? 起初我尝试了jzy3d,但事实certificate这对于这样一个基本任务来说太费力了(特别是因为jzy3d缺少代码示例和JOGL的依赖可能很麻烦)。 所以我尝试了Java Surface Plot和function表面部分 – 它是完美的。 但是可以添加(x,y,z)点吗? 我猜不会。 在这种情况下,我可以使用其他库吗? 我知道这个问题可能会让人感到偏离主题,但这样一个简单的绘图是一个基本的function, 这个答案已经有2年了,所以……也许现在有更好的东西了吗?

Java3d读取3d对象的每个多边形

我正在使用Java3d( VERSION 1.6 ),我试图从任何对象读取所有多边形。 我使用以下代码加载了一个对象: private BranchGroup loadObj(String p) { BranchGroup objRoot = new BranchGroup(); TransformGroup tg = new TransformGroup(); Transform3D t3d = new Transform3D(); t3d.setScale(0.3); Matrix4d matrix = new Matrix4d(); t3d.get(matrix); try { Scene s = null; ObjectFile f = new ObjectFile (); String basepath = new File(p).getAbsolutePath(); System.out.println(basepath); f.setBasePath(basepath); f.setFlags (0); s = […]

在javafx 8中剥皮自定义3D立方体

我试图通过使用以下代码将一个皮肤添加到一个立方体,但皮肤根本不起作用。 我测试了它是否会添加到一个默认的立方体,它会(但重复每一面的完整图像,而不是环绕它,这就是为什么我要制作一个自定义的立方体,以防止这种情况)。 任何帮助将不胜感激。 private void buildGraphics() { Image dieImage = new Image(getClass().getResourceAsStream(“images/die.gif”)); PhongMaterial material = new PhongMaterial(); material.setDiffuseMap(dieImage); material.setSpecularColor(Color.RED); float hw = 100/2f; float hh = 100/2f; float hd = 100/2f; float points[] = { hw, hh, hd, hw, hh, -hd, hw, -hh, hd, hw, -hh, -hd, -hw, hh, hd, -hw, hh, -hd, -hw, -hh, […]

在OpenGL中获取X,Y和Z轴上的弧度相机旋转?

我正在尝试在OpenGL中的各个轴上获取相机旋转(但具体使用Java,LWJGL和jME)。 相机对象允许我将方向作为Vector3f,但这似乎不能用于获得分量旋转; 每个轴显示与另一个轴相关联。 我发现带有偏移的角度分量toAngleAxis是一个快速的黑客,但在大多数情况下无法正常工作。 不幸的是,我不太擅长数学,否则我可能已经解决了这个问题:)再次,我只需要X,Y和Z轴分量和弧度,从0弧度到2 PI弧度。 有人可以帮忙吗? 克里斯,先生干杯谢谢

libGDX:3d动画无效

我使用Blender和fbxconv创建了一个.g3db动画文件。 现在,我的libGDX项目源代码看起来像这样: public class test implements ApplicationListener { // … public ModelInstance fred public AnimationController animationController; public void create () { modelBatch = new ModelBatch(); // … assets = new AssetManager(); assets.load(“data/fred.g3db”, Model.class); loading = true; } private void doneLoading() { Model fredData = assets.get(“data/fred.g3db”, Model.class); fred = new ModelInstance(fredData); animationController = new AnimationController(fred); animationController.animate(fred.animations.get(0).id, […]

了解Libgdx中的3D模型和节点

我试图更好地理解Libgdx中的Model和它们的Node层次结构。 据我所知, Model由许多子Node ,它也可以包含其他Node 。 每个节点都有一个描述其位置的Vector3 translation , Vector3 scale ,描述其比例和描述其旋转的Quaternion rotation旋转,所有这些都相对于父Node或Model 。 Matrix4 gloabalTransform描述的相同,但相对于他们所处的世界。 现在,如果我想到像Garrys Mod这样的游戏,那么Player的模型可以动态地移动模型的一部分(例如,如果他们在死后躺在边缘上,他们的上半身可以挂在墙上),我只能想一想,他们在源代码中修改了运行时的单个Node 。 现在我的问题: 我的假设是否正确? 我是否有可能在Blender创建Node (假设1 Node是左下腿,1 Node是左上腿……)并在运行时通过使用(例如) modelInstance.getNode(“leftLowerLeg”).translation.set(Vector3 position)来获取和更改它们modelInstance.getNode(“leftLowerLeg”).translation.set(Vector3 position) ,或者它们是自动创建和命名的,具体取决于形状,facecount ……? 非常感谢!

任何人都知道如何在Android中实现Unfold(这是iphone中的应用程序)的效果?

我该如何实现这种效果? 任何建议对我有帮助:)

在3d中查找2个任意立方体的交集

所以,我想找出一个函数,它允许你确定两个任意旋转和大小的立方体是否相交。 如果立方体的旋转不是任意的(但锁定到特定轴),则交叉点很简单; 通过检查它们的边界来检查它们是否在所有三个维度中交叉,以确定它们是否在所有三个维度中相交或相互在一起。 如果它们交叉或仅在两个内,它们不相交。 此方法可用于确定任意立方体是否是交集的候选对象,使用它们的最高/最低x,y和z来创建外边界。 这是第一步。 理论上,根据这些信息,我们可以分辨出它们彼此之间的“侧面”,这意味着我们可以从交叉点消除一些四边形(边)。 但是,我不能假设我们有这些信息,因为立方体的旋转可能使得难以简单地确定。 我的想法是取每对四边形,找到它们的平面的交点,然后确定该线是否与每对边的至少一个边相交。 如果任何一对边具有与其任何边相交的交线,则四边形相交。 如果没有相交,则两个立方体不相交。 然后,我们可以确定第二个立方体上的交叉点的深度,其中平面相交线与其边缘相交。 然而,这只是推测性的。 有没有更好,更有效的方法来确定这两个立方体的交集? 我可以想到许多不同的方法来做到这一点,我也可以说它们在所需的计算量方面可能非常不同。 我目前正在使用Java,但C / C ++解决方案也很酷(我可以移植它们); 即使是伪问题,因为它可能是个大问题。

Android OpenGLES 2从触摸坐标中拾取光线,取消计算略微偏离计算

我试图通过交叉射线测试实现基于触摸坐标的对象拾取。 我无法找到有关将触摸坐标转换为世界中使用的坐标系以构建此光线的信息。 到目前为止,我的理解是应用于场景中每个顶点的矩阵是: projectionMatrix * viewMatrix * modelMatrix 这是我的过程,用于反转该过程,试图在场景中找到光线的端点以及我的绘图循环,以防我只是错误地应用不同的矩阵: public float[] getMouseRayProjection(float touchX, float touchY, float windowWidth, float windowHeight, float[] modelView, float[] projection) { float[] rayDirection = new float[4]; float normalizedX = 2 * touchX/windowWidth – 1; float normalizedY = 1 – 2*touchY/windowHeight; float[] unviewMatrix = new float[16]; float[] viewMatrix = new float[16]; Matrix.multiplyMM(viewMatrix, 0, […]

如何在LWJGL中渲染3D立方体?

我无法在网上找到关于在轻量级Java游戏库中渲染3D立方体的好教程! 我一直在学习LWJGL一段时间了。 我知道如何绘制2d对象。 有人能帮帮我吗?