import Ġkotlin . math . sqrt Ċ Ċ data Ġclass ĠVector 3 ( val Ġx : ĠFloat , Ġval Ġy : ĠFloat , Ġval Ġz : ĠFloat ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnormalize ( v : ĠVector 3 ): ĠVector 3 Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġsqrt ( v . x Ġ* Ġv . x Ġ+ Ġv . y Ġ* Ġv . y Ġ+ Ġv . z Ġ* Ġv . z ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVector 3 ( v . x Ġ/ Ġlength , Ġv . y Ġ/ Ġlength , Ġv . z Ġ/ Ġlength ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdot Product ( lhs : ĠVector 3 , Ġrhs : ĠVector 3 ) Ġ= Ġlhs . x Ġ* Ġrhs . x Ġ+ Ġlhs . y Ġ* Ġrhs . y Ġ+ Ġlhs . z Ġ* Ġrhs . z ĊĠĠĠ Ġ} Ċ } Ċ