Can these addresses be derived from legacy private key?
There is no such thing as "legacy private key". There has always been 1 type of private key, which is a number from 1 to curve's n-1.
Any step by step instruction similar to
this, will be of great help.
https://bitcointalk.org/index.php?topic=4992632.0Step 0 for you would be to get the public key from private key as you would any other time (private key * G).