| (1) | Function [W_3D_Obj] = Embedding (Obj, Msg,α, β, Key1, Key2, Key3) |
| (2) | //Obj : Original 3D object vertices, Msg : Secret grayscale image, Key1, Key2 and Key3: Encryption keys |
| (3) | //Control parameters: α ∈ [0, 0.5], β ∈ [1000, 9000] |
| (4) | Normalized Obj = Normalize(Obj) |
| (5) | [Vertex x, Vertex y, Vertex z] = Preprocessing(Normalized Obj, α) |
| (6) | Normalized Msg = Normalize(Msg) |
| (7) | Msg vector = Reshape to vector(Normalized Msg) |
| (8) | [Enc Msg1] = Encrypt(Msg vector, Key1) |
| (9) | [Enc Msg2] = Encrypt(Msg vector, Key2) |
| (10) | [Enc Msg3] = Encrypt(Msg vector, Key3) |
| (11) | for j = 1 to length(Msg vector) do |
| (12) | |
| (12) | Embed the Enc Msg value within the Coefficients values as the following equation system: |
| (13) | , |
| (14) | |
| (15) | end |
| (16) | W_3D_object = DeNormalize(Vertex x’, Vertex y’, Vertex z’) |
| (17) | return Watermarked 3D object W_3D_Obj |
| (18) | end |