mirror of
https://github.com/zhigang1992/PerspectiveTransform.git
synced 2026-01-12 22:49:33 +08:00
refactor matrix constants
This commit is contained in:
@@ -10,21 +10,21 @@ import QuartzCore
|
||||
import simd
|
||||
|
||||
extension CATransform3D {
|
||||
static let addColumn : float4x3 = {
|
||||
var m = float4x3(diagonal:float3(1,1,0))
|
||||
m[3,2] = 1
|
||||
return m
|
||||
}()
|
||||
|
||||
static let addRow : float3x4 = {
|
||||
var m = float3x4(diagonal:float3(1,1,0))
|
||||
m[2,3] = 1
|
||||
return m
|
||||
}()
|
||||
|
||||
init(_ m: float3x3) {
|
||||
var addColumn = float4x3()
|
||||
addColumn[0,0] = 1
|
||||
addColumn[1,1] = 1
|
||||
addColumn[3,2] = 1
|
||||
|
||||
var addRow = float3x4()
|
||||
addRow[0,0] = 1
|
||||
addRow[1,1] = 1
|
||||
addRow[2,3] = 1
|
||||
|
||||
var result = addRow * m * addColumn
|
||||
|
||||
var result = CATransform3D.addRow * m * CATransform3D.addColumn
|
||||
result[2,2] = 1
|
||||
|
||||
self.init(result)
|
||||
}
|
||||
}
|
||||
|
||||
1
Pod/add-column.txt
Normal file
1
Pod/add-column.txt
Normal file
@@ -0,0 +1 @@
|
||||
\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}=\begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix}\times \begin{bmatrix} 1 & 1 & 0 & 1 \end{bmatrix}
|
||||
Reference in New Issue
Block a user