You should consider that a principal component assumes the linear transformations of variables, but there are other non-linear dimensionality reduction techniques.
For me, one of the most interesting techniques is the t-SNE developed by Laurens van der Maaten, who says this:
Let’s see an example of how t-SNE is applied on our dataset. As usual, it is recommended that you fix a seed:
set.seed(1234)
We will need to use the Rtsne package. ...