Report
This commit is contained in:
19
Report/uml/transform-compose-algorithm.puml
Normal file
19
Report/uml/transform-compose-algorithm.puml
Normal file
@@ -0,0 +1,19 @@
|
||||
@startuml
|
||||
title Алгоритм композиции трансформаций (parent * local)
|
||||
|
||||
start
|
||||
:Input parent transform:\nP(tx,ty,angle,sx,sy,opacity);
|
||||
:Input local transform:\nL(tx,ty,angle,sx,sy,opacity);
|
||||
|
||||
:Scale local position by parent scale:\nlx' = L.tx * P.sx\nly' = L.ty * P.sy;
|
||||
:Rotate by parent angle:\nrx = cos(P.a)*lx' - sin(P.a)*ly'\nry = sin(P.a)*lx' + cos(P.a)*ly';
|
||||
:Translate by parent position:\nW.tx = P.tx + rx\nW.ty = P.ty + ry;
|
||||
|
||||
:Compose angle:\nW.angle = P.angle + L.angle;
|
||||
:Compose scale:\nW.sx = P.sx * L.sx\nW.sy = P.sy * L.sy;
|
||||
:Compose opacity:\nW.opacity = P.opacity * L.opacity;
|
||||
|
||||
:Return world transform W;
|
||||
stop
|
||||
|
||||
@enduml
|
||||
Reference in New Issue
Block a user