So what would you use to measure the position of the rotor to precisely flip the required switches in the circuit?
Did you bother to read the application notes I linked? (One application note has just the theory, but from that you should be able figure out your own circuit anyways. THe other application note compares two possible methods with each having very clear advantages and disadvantages and levels of complexity depending on what you are looking for). The traditional 3-resistor virtual ground method is a very very simple circuit, then again so is the other method. The real trick is understanding the theory to make the MCU be able to interpret the circuit output properly.
Are you aware of how phases are actually arranged in a motor? A 3 phase motor doesn't just have 3 coils (like you see in a model whch is drawn for simplicity). You actually have many coils (in multiples of 3), but every coil is wired to one of the three phases to produce three groups of coils energizing one coil in that group energizes all the coils in the group. Sure, you could give each coil have it's own wire running out of the motor, but then you have a motor with 12 or more wires and the controller would be just as complex. WIth just 3 phases, you get the vast majority of the same performance with only a fraction of the complexity- it's a matter of diminishing returns as you add on more phases.
You don't actually need to know the rotor position. You only need to know which two phases are currently energized, which phase is not, the direction of rotation, and when the BEMF zero-cross occurs. WHen the zero cross occurs, it tells you when to commutate (energize new phases and denergize old ones). You know that the denergized phase must be the one that becomes energized, and in turn one of the energized phases must become denergized. You know which of the two currently energized phases to denergize from the direction of rotation (CCW is one of the energized phases that needs to be denergized, and CW is the other phase that needs to be denergized).
FOr example:
https://www.aerodesign.de/peter/2001/LRK350/LRK_in_action.gif
Notice that it doesn't matter the angle of the rotor? It only matters that the red (or blue) winding is the next to be energized.