1. 程式人生 > >Android | Vuforia 模型平移、旋轉、放縮

Android | Vuforia 模型平移、旋轉、放縮

找到ImageTargetRenderer.java中如下資料:

Matrix.translateM(modelViewMatrix, 0, 0.0f, 0.0f, 
                    OBJECT_SCALE_FLOAT);
Matrix.rotateM(modelViewMatrix, 0, 
                   ROTATION_ANGLE_DEGREES, 1.0f, 0.0f, 0.0f);
Matrix.scaleM(modelViewMatrix, 0, 
           OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT);


1)translate指平移操作,第一個0代表偏移量,後面三個浮點型資料分別代表x, y, z軸
我們將座標值作如下修改:

Matrix.translateM(modelViewMatrix, 0, 100.0f, 200.0f,
                    OBJECT_SCALE_FLOAT);

效果圖:
這裡寫圖片描述


2)scale指尺寸操作,第一個0代表縮放因子,後面三個資料分別代表x, y, z軸
我們將OBJECT_SCALE_FLOAT值進行修改(在程式碼前面部分修改):

Matrix.scaleM(modelViewMatrix, 0, 
           OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT);

效果圖:
這裡寫圖片描述
我們的banana從中央移到了右上角


3)rotate指旋轉操作,第一個0代表偏移量,第二個90.0f代表旋轉角度,後面的三個引數依次為按x, y, z軸旋轉
程式碼作如下修改:

Matrix.rotateM(modelViewMatrix, 0, 90.0f, 1.0f, 0, 0);

效果圖:
這裡寫圖片描述


  這裡對模型的資料引數直接進行修改,其實也可以將模型的平移、選擇、放縮的操作與對觸控式螢幕的手勢操作進行link,比如單指拖動實現旋轉,雙指拖動實現平移,雙指分開實現放縮等

相關推薦

Android | Vuforia 模型平移旋轉

找到ImageTargetRenderer.java中如下資料: Matrix.translateM(modelViewMatrix, 0, 0.0f, 0.0f, OBJECT_SCALE_FLOAT); Mat

Android 繪圖基礎:Bitmap(點陣圖)與Matrix(矩陣)實現圖片5種操作(平移旋轉錯切對稱)

Android的Matrix利用數學原理實現圖片平移、旋轉等操作詳解   很慶幸自己的線性代數學的還可以,理解Matrix的矩陣變換完全沒有問題。Matrix矩陣實現圖片的平移旋轉等操作涉及到線性代數問題,感興趣它的具體實現的話可以參考一下上面的部落格,非常詳

Android OpenGLES2.0(十)——OpenGL中的平移旋轉

在前面的部落格中,所有的例子都是一個物件,類似繪製圓錐繪製圓柱,我們都是傳入一個引數,然後去控制那個圓面的位置,如果我們要繪製幾個個正方形,它的位置、大小、方向都是不相同的,按照那種方式該多麻煩啊。所以我們需要更好的辦法——矩陣變換。 什麼是矩陣 其實在

Matlab 圖像平移旋轉鏡像

more msh ret 結果 src end 初始 求解 http 今天學習了用Matlab實現對圖像的基本操作。在Matlab中,圖像是按照二維矩陣的形式表示的。所以對圖像的操作就是對矩陣的操作。 對圖像進行縮放、平移、旋轉,都可以轉化為矩陣的運算。 關於變換矩陣的構

基本動畫復合動畫設置 平移旋轉透明度 編碼實現 xml實現

sca ons new rpo 頂點 進行 clas imageview abs public class VAActivity extends Activity { private ImageView iv_animation; private Tex

屬性動畫---平移旋轉漸變組合

佈局—5個按鈕,一個ImageView 平移 private void transAnimator() { ObjectAnimator objectAnimator = new ObjectAnimator().ofFloat(image,

線性代數——矩陣解釋平移旋轉

參考部落格: 線性代數:理解齊次座標 https://blog.csdn.net/yinhun2012/article/details/79566148 線性代數:矩陣變換圖形(二維平移縮放旋轉) https://blog.csdn.net/yinhun2012/article/de

vtkPolyData 的空間變換(平移旋轉

vtkPolydata的空間變化主要基於vtkTransform與vtkTransformPolyDataFilter兩個類實現,示例程式碼如下: vtkSmartPointer<vtkTr

檢視的平移旋轉等操作(transform)

override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from

OpenGL入門示例8——圖形平移旋轉

#include<GL/glut.h> #include <windows.h> static GLfloat spin=0.0; //旋轉量 static GLfloat move=0.0; //平移量 static GLfloat

opengl繪製桌子(平移旋轉

主要儀器裝置 VisualStudio C++2015 Windows10環境 Glut壓縮包 Ex2工程 操作方法和實驗步驟 1.繪製立方體 桌子由立方體組成,我們可以通過繪製六個面來構造一個立方體。六個面的繪製需要八個頂點的引數,而每個頂點均有x,y,z三個引數,如

matlab 影象幾何變換 平移旋轉

1、縮放 該函式用於對影象做縮放處理。在matlab的命令視窗中輸入doc imresize或者help imresize即可獲得該函式的幫助資訊 呼叫格式 B = imresize(A, m) 返回的影象B的長寬是影象A的長寬的m倍,即縮放影象。 m大於1,則放大影象;

android Matrix類控制圖片 View的移動旋轉錯切

對圖片或View元件的處理需要使用到Matrix類,Matrix是一個3 x 3的矩陣工具類,它對圖片或圖片或View元件的處理分為 Matrix旋轉等操作主要針對圖片的X軸Y軸上面的操作 四個基本型別: 1、Translate————平移變換 2、Scale————縮放變換

計算機圖形與OpenGL學習五(二維幾何變換1.平移旋轉)

二維幾何變換(平移、旋轉、縮放)本章涉及數學變換比較多,程式碼是次要的,數學理論可自己推導一下。【二維平移】通過將二維量加到一個點的座標上來生成一個新的座標位置,可以實現一次平移。將平移距離加到原始座標上獲得一個新的座標,實現一個二維位置的平移。為平移向量,使用列向量來表示各

怎樣實現通過Animate硬編碼實現簡單的平移旋轉及透明度動畫過程

以下只列出主要程式碼: [java] private ImageView scanLight; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta

iOS transform(平移旋轉

一、平移 //平移 [UIView animateWithDuration:0.5 animations:^{ //使用Make,它是相對於最原始的位置做的形變. //self.imageV.tr

MFC空間幾何變換之影象平移映象旋轉

一. 影象平移        前一篇文章講述了影象點運算(基於畫素的影象變換),這篇文章講述的是影象幾何變換:在不改變影象內容的情況下對影象畫素進行空間幾何變換的處理方式。         點運算對單幅影象做處理,不改變畫素的空間位置;代數運算對多幅影象做處理,也不

二維圖形學的變換-平移旋轉 OpenGL

這裡實現的是多點畫多邊形,然後把這個多邊形進行二維的變換。 首先,多點畫多邊形,為了方便起見,我直接呼叫了Opengl的庫函式。其次,就是如何進行多邊形的二維變換。在這裡我有兩種方法。第一種是直接根據數學三角等公式推斷得到結果。第二種方法是用矩陣相乘的方法。 先講第一種:

ios-day18-08(使用CABasicAnimation實現對UIView的平移旋轉)

// // JLViewController.m // 06-核心動畫 // // Created by XinYou on 15-4-2. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import "JLViewControll

unity通過滑鼠操作攝像機圍繞主角旋轉上下移動

 控制攝像機的程式碼如下: using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 攝像機控制器. 將該指令碼掛載到Camera