中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

競價網站如何設計廣州seo優(yōu)化費用

競價網站如何設計,廣州seo優(yōu)化費用,域名解析完成網站怎么做,影視拍攝制作的公司注:本篇是基于唐老師的學習視頻做的一些理論實踐,需要提前知道一些線性代數的基礎知識,原視頻鏈接: 8.數學基礎知識學習說明_嗶哩嗶哩_bilibili 前期準備: 知識點①: Unity中需要遵守的設定:…

注:本篇是基于唐老師的學習視頻做的一些理論實踐,需要提前知道一些線性代數的基礎知識,原視頻鏈接:

8.數學基礎知識學習說明_嗶哩嗶哩_bilibili

前期準備:

知識點①:

????????Unity中需要遵守的設定:

????????????????1、我們約定變換順序為:縮放->旋轉->平移。

????????????????2、我們約定旋轉的順序為:Z->X->Y。

知識點②:

? ? ? ? 1、基礎變換矩陣的構成規(guī)則:

? ? ? ? 2、平移矩陣的定義:

????????????????A=\begin{bmatrix} 1 & 0& 0 & tx \\ 0& 1& 0& ty\\ 0& 0& 1& tz\\ 0& 0&0 & 1 \end{bmatrix}? ? ? ?逆矩陣? ? ?A^{-1}=\begin{bmatrix} 1 & 0 & 0 & -tx \\ 0& 1 & 0& -ty\\ 0& 0& 1 & -tz\\ 0& 0& 0& 1 \end{bmatrix}

? ? ? ? 3、旋轉矩陣的定義:? ??

? ? ? ? ? ? ? ? ? ? ? ?繞X軸旋轉\beta度:? ? ? ? ? ? ? ? ? ? ? ? 繞Y軸旋轉\beta度:? ? ? ? ? ? ? ? ? ? ? ?繞Z軸旋轉\beta度:

???????????????\begin{bmatrix} 1 & 0 & 0 & 0\\ 0& cos\beta & -sin\beta &0 \\ 0& sin\beta & cos\beta &0 \\ 0& 0 & 0 & 1 \end{bmatrix}? ? ? ? ??\begin{bmatrix} 1 & 0 & 0 & 0\\ 0& cos\beta & -sin\beta &0 \\ 0& sin\beta & cos\beta &0 \\ 0& 0 & 0 & 1 \end{bmatrix}? ? ? ? ??\begin{bmatrix} 1 & 0 & 0 & 0\\ 0& cos\beta & -sin\beta &0 \\ 0& sin\beta & cos\beta &0 \\ 0& 0 & 0 & 1 \end{bmatrix}

????????????????因為旋轉矩陣是正交矩陣,所以它的逆矩陣就是它的轉置矩陣。

????????????????即:假設有旋轉矩陣A,那么?A^{-1}=A^{T}

????????4、縮放矩陣的定義:

? ? ? ? ? ? ? ??A=\begin{bmatrix} kx & 0 & 0 & 0\\ 0 & ky & 0 & 0\\ 0 & 0 & kz & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}? ? 逆矩陣? ?A^{-1}=\begin{bmatrix} 1/kx & 0 & 0 & 0\\ 0 & 1/ky & 0 & 0\\ 0 & 0 & 1/kz & 0\\ 0 & 0 & 0 & 1 \end{bmatrix}

局部坐標轉世界:

????????我們需要明白一個概念,在3D空間中,假設有一個結點R存在一個子節(jié)點A,那么如果R就是坐標原點,A的局部坐標系就是世界坐標系。如果結點R存在旋轉,平移等變換,那么A的局部坐標依舊不會變,R的變換會帶動A的變換。那么最終的世界坐標滿足關系式:

{A}'=M*A

M代表R的變換矩陣,A代表R在原點時的世界坐標(即局部坐標),A'代表最終的世界坐標。

再根據知識點1,得到矩陣M=平移矩陣A×旋轉矩陣B×縮放矩陣C

便有如下代碼:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Test : MonoBehaviour
{public Transform targetTrans;private void Start(){Vector4 startPos = new Vector4(targetTrans.localPosition.x, targetTrans.localPosition.y, targetTrans.localPosition.z, 1);Matrix4x4 scaleMatrix = ScaleMatrix(transform.localScale.x, transform.localScale.y, transform.localScale.z);Matrix4x4 rotateMatrix = RotateYMatrix(transform.eulerAngles.y)*RotateXMatrix(transform.eulerAngles.x)*RotateZMatrix(transform.eulerAngles.z);Matrix4x4 translateMatrix = TranslateMatrix(transform.position.x, transform.position.y, transform.position.z);//按照縮放->旋轉(按照Z->X->Y順序旋轉)->平移的變換順序Vector4 resPos = translateMatrix * rotateMatrix * scaleMatrix * startPos;Debug.Log(string.Format("局部坐標轉世界坐標={0}",resPos));Debug.Log(string.Format("調用UnityAPI的結果={0}",transform.TransformPoint(startPos)));}//縮放矩陣private Matrix4x4 ScaleMatrix(float x,float y,float z){Matrix4x4 targetMatrix = new Matrix4x4();targetMatrix.m00 = x;targetMatrix.m11 = y;targetMatrix.m22 = z;targetMatrix.m33 = 1;return targetMatrix;}//旋轉矩陣(X軸)private Matrix4x4 RotateXMatrix(float angle){Matrix4x4 targetMatrix = new Matrix4x4();targetMatrix.m00 = 1;targetMatrix.m11 = Mathf.Cos(angle * Mathf.Deg2Rad);targetMatrix.m12 = -Mathf.Sin(angle * Mathf.Deg2Rad);targetMatrix.m21 = Mathf.Sin(angle * Mathf.Deg2Rad);targetMatrix.m22 = Mathf.Cos(angle * Mathf.Deg2Rad);targetMatrix.m33 = 1;return targetMatrix;}//旋轉矩陣(Y軸)private Matrix4x4 RotateYMatrix(float angle){Matrix4x4 targetMatrix = new Matrix4x4();targetMatrix.m00 = Mathf.Cos(angle * Mathf.Deg2Rad);targetMatrix.m02 = Mathf.Sin(angle * Mathf.Deg2Rad);targetMatrix.m11 = 1;targetMatrix.m20 = -Mathf.Sin(angle * Mathf.Deg2Rad);targetMatrix.m22 = Mathf.Cos(angle * Mathf.Deg2Rad);targetMatrix.m33 = 1;return targetMatrix;}//旋轉矩陣(Z軸)private Matrix4x4 RotateZMatrix(float angle){Matrix4x4 targetMatrix = new Matrix4x4();targetMatrix.m00 = Mathf.Cos(angle * Mathf.Deg2Rad);targetMatrix.m01 = -Mathf.Sin(angle * Mathf.Deg2Rad);targetMatrix.m10 = Mathf.Sin(angle * Mathf.Deg2Rad);targetMatrix.m11 = Mathf.Cos(angle * Mathf.Deg2Rad);targetMatrix.m22 = 1;targetMatrix.m33 = 1;return targetMatrix;}//平移矩陣private Matrix4x4 TranslateMatrix(float x,float y,float z){Matrix4x4 targetMatrix = new Matrix4x4();targetMatrix.m03 = x;targetMatrix.m13 = y;targetMatrix.m23 = z;targetMatrix.m00 = 1;targetMatrix.m11 = 1;targetMatrix.m22 = 1;targetMatrix.m33 = 1;return targetMatrix;}
}

掛載腳本:

我們用了Unity自帶的局部轉世界的APITransform.TransformPoint進行結果對比,發(fā)現最終的計算結果是一樣的(忽略第四個參數1.0,代表的含義是點)。

世界坐標轉局部:

????????由剛剛的{A}'=M*A公式推導,其實可以得到:

???????????????????????????????????????????????????????????????M^{-1}*{A}'=A

????????即局部坐標=逆變換*世界坐標

由上面的性質得到已知? 矩陣M=平移矩陣A×旋轉矩陣B×縮放矩陣C,那么矩陣M的逆矩陣

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?M^{-1}=C^{-1}*B^{-1}*A^{-1}

矩陣A,B,C的逆矩陣都可以根據知識點2得到結果,最終就可以根據世界坐標和逆變換反推導局部坐標。

http://www.risenshineclean.com/news/37408.html

相關文章:

  • 各大招聘網站濟南百度推廣代理商
  • wordpress數據庫發(fā)布文章做網絡優(yōu)化哪家公司比較好
  • 可以做代發(fā)貨源的網站seo外包公司怎么樣
  • 公眾號做視頻網站會封嗎市場推廣方案范文
  • 建設一個網站需要什么西安網站seo費用
  • 禪城網站建設報價網站首頁排名seo搜索優(yōu)化
  • 電子商務網站建設和管理的含義百度競價登陸
  • vs網站畢業(yè)設計怎么做西安seo網絡推廣
  • b2b b2c 網站建設seo網站關鍵詞優(yōu)化多少錢
  • 做推送網站今天最新的新聞頭條新聞
  • 有的網站打不開是什么原因呢google搜索引擎入口下載
  • 網站站點創(chuàng)建成功了該怎么做外包公司為什么沒人去
  • 做視頻網站怎么備案百度競價點擊軟件奔奔
  • seo與網站建設教師遭網課入侵直播錄屏曝光廣場舞
  • 大型服裝商城網站建設世界羽聯(lián)巡回賽總決賽
  • 高端手機網站百度圖片識別
  • 響應式網站開發(fā)視頻定制網站建設推廣服務
  • 網站數據庫空間增大企業(yè)網站推廣公司
  • 桂林旅游網seo關鍵詞布局
  • 賭粉在哪個平臺引流南昌seo
  • 南京網站制作百家號恢復正常百度
  • 經營性網站可以進行非經營行網站備案嗎代刷網站推廣快速
  • 站點推廣是什么意思關鍵詞密度
  • 怎么搭建網站后臺日本比分算1:1
  • 做印刷網站公司哪家好熱詞搜索排行榜
  • 做動漫的網站長沙網絡營銷公司
  • 南京建設工程交易中心網站seo的內容主要有哪些方面
  • 做茶葉網站的素材上海網絡公司seo
  • 做公司網站需要多少錢杭州百度首頁優(yōu)化
  • 廊坊網站關鍵詞優(yōu)化seo關鍵詞是什么