- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
好的,所以我在过去的几个小时里一直在阅读,我已经设法使用以下矩阵计算让鼠标拖动在 x 轴上工作,但在 y 轴上没有运气:在哪里newX = 新的鼠标 X 坐标previousX = 上次更新时的鼠标 X 坐标位置 = 相机位置mvMatrix = 模型 View 矩阵或'世界矩阵'
angle = 0.01*(newX-previousX);
rM = mat4.create();
mat4.identity(rM);
rM[0] = Math.cos(angle);
rM[2] = Math.sin(angle);
rM[8] = -Math.sin(angle);
rM[10] = Math.cos(angle);
mat4.multiplyVec3(
rM,
position,
position
)
*注意这使用了 glMatrix 库 (http://code.google.com/p/glmatrix/)
同时也是为了始终面向位置0,0,0
mat4.lookAt(
position,
vec3.create([0, 0, 0]),
vec3.create([position[0], position[1]+1, position[2]]),
mvMatrix
);
我从 http://en.wikipedia.org/wiki/Rotation_matrix 得到矩阵我使用了“基本旋转”和 Ry 下的矩阵
我确信以前有人这样做过,我们将不胜感激。
干杯,乔希
最佳答案
假设您想要一个自由移动的相机,Z 轴为垂直 - 每一帧,您可以执行如下操作:
mat4.identity(viewMatrix); mat4.translate(viewMatrix, [x,y,z]); mat4.rotate(viewMatrix, degToRad(90-pitch), [-1, 0, 0]); mat4.rotate(viewMatrix, degToRad(yaw), [0, 0, 1]); mat4.multiply(viewMatrix,modelMatrix,modelViewMatrix);
degToRad 将度数转换为弧度。然后将modelViewMatrix和投影矩阵传递给顶点着色器,可以使用:
attribute vec3 aVertexPosition; uniform mat4 modelViewMatrix; uniform mat4 projectionMatrix; gl_Position = projectionMatrix* modelViewMatrix* vec4(aVertexPosition, 1.0);
关于javascript - 如何在 webgl 中围绕 mousedrag 中的场景旋转(模拟相机在某个位置周围移动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5512127/
@Override public Shape getShape() { final Rectangle2D.Double result = new Rectangle2D.Do
我们目前正在修复一个项目,该项目必须在下周完成,所以我们的时间已经不多了(别担心,我想说的是我们没有时间浪费时间)我们所有的代码并重新开始......)。 我们有一个 JPanel (="page")
我创建了一个 Java 应用程序来添加/删除并在 JPanel 上显示随机数量的点。每次拖放都可以移动点。为了撤消最后的操作,我缓冲了这些点。 我的问题:如果通过“mouseDragged”移动一个点
我如何知道从 mouseDragged 事件中按下的按钮? 我在 mouseDragged() 中遇到问题,因为接收到的 MouseEvent 为 getButton() 返回 0。我对鼠标位置没有问
拖动鼠标后释放鼠标时是否应该调用 mouseReleased() 事件? 我需要调用 mouseReleased() 来重置 mouseDragged() 中使用的一些变量,但它似乎从未被调用。 最佳
我正在构建一个文本编辑器,并尝试添加使用行号边距选择行的功能。我当前的方法是使用 mouseDragged 来更新所选行。当进行缓慢的鼠标移动时,这工作得很好,但是当进行更快的移动时,选择无法跟上并且
所以我使用 knob.js 创建两个表盘,一个在另一个里面。外表盘代表一本书的累积评分,即所有评分的平均值。这个外层表盘有 data-readOnly="true" 并且它的值在这些表盘的公共(pub
我正在尝试制作一个 SpriteKit 游戏,玩家可以在其中拖动 Sprite 组,但我不知道如何让 Sprite 跟随鼠标光标。使用 SpriteKit 样板,我得到了这个: 以下是我如何移动“He
我有 2 个 NSView 子类,它们是公共(public) super View 的 subview 。它们不重叠,并且都拦截鼠标拖动的调用。当我从一个子类拖动到另一个子类时,即使我在整个屏幕上拖动
我会直接提出问题。如何为我的应用程序实现一个系统,让我在按住鼠标左键的同时为下面显示的这些矩形着色?当释放时,它会停止着色。我在互联网上搜索,但我仍然无法理解这些 MouseEvents 是如何工作的
我有一个程序,可以通过单击和拖动在屏幕上移动图像。唯一的问题是,当我单击图像并开始在面板上拖动它时,图像首先跳转到鼠标光标的位置。如何防止这种情况发生,以便无论我单击图像的何处,图像都会简单地移动?我
谁能告诉我如何将位置 X 和 Y 返回到我的 WindowController NSTextField(testTextX 和 testTextY)? 我以编程方式创建了一个 windowContro
如何通过 mouseDragged 在 JPanel 上进行铅笔绘图? 我有一个 JPanel,我想在其中使用鼠标进行绘制,因此每当我在该 JPanel 上拖动鼠标时,都会为每个 (x,y) 绘制一个
完成创建自定义滚动条,问题是: addMouseMotionListener(new MouseMotionAdapter() { @Override public void mous
我已经编写了如下定义的 MouseListener,这样我就可以移动 JButton 来重新排序 JPanel 中的组件。 JPanel 位于 JScrollPane 中,因此当添加多个组件时,它们可
我正在尝试弄清楚如何在我的事件中访问使用 paintComponent 绘制的不同图像(在作业中不允许使用 JLabels)。 拖动时,我只想通过鼠标拖动移动一个图像,而且我似乎无法使用 e.getS
我目前正在将一个应用程序(或更准确地说,一个 VST 插件)从 Windows 移植到 OSX。我对 OSX 编程有点陌生,但我使用的是通过 HICocoaCreateView 添加到 Carbon
当我拖动鼠标时,绘制或设置 JPanel 大小时出现问题,我设置的单击位置和大小取决于拖动位置(X 和 Y)绘制可调整大小的矩形(JPanel)。 private void panelMouseDra
我正在尝试为 JTable 编写自定义的拖放行为,但无法接收 MOUSE_DRAGGED 事件。我想问题是 native DnD 操作消耗了事件(如 mouseDragged 的 javadoc 中所
我正在创建一个程序,您可以在其中在面板上绘制(线条、椭圆形或矩形)并指定颜色、宽度、填充等。我有一个实现 MouseMotionListener 和 MouseListener 的 JPanel 类。
我是一名优秀的程序员,十分优秀!