Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.
Posted 31 May 2010 - 12:52 PM
Posted 31 May 2010 - 06:13 PM
Quote:I'm not sure if Zipster already mentioned this, but one solution is to find the element of the line direction vector with the smallest magnitude (as Zipster mentioned), and then cross the direction vector with the cardinal basis vector ([1, 0, 0], [0, 1, 0], or [0, 0, 1]) that corresponds to this element. (This is the method I prefer for computing an arbitrary vector perpendicular to another vector, an operation commonly needed for billboarding, decals, and so forth.)
Original post by _swx_
Solving the dotproduct equation was my initial solution to the problem. I was hoping for a prettier solution, but I guess it'll have to do. Thanks for the interesting wikipedia link (Hary ball theorem) :)
Posted 01 June 2010 - 02:07 AM
Quote:
Original post by Zipster
Unfortunately, the hairy ball theorem tells us that you need conditional logic to make this process work for any given line direction, because there is no continuous function we can use.
Posted 01 June 2010 - 07:10 AM
Quote:
Original post by Emergent
So now, here's a way to get a continuous (albeit nonsmooth) nonvanishing vector field on RP^2: Since each point on RP^2 is identified with two points on the sphere, just take whichever of the two vectors (from the vector field) has larger norm.
Quote:
Have I missed something?
Posted 01 June 2010 - 10:38 AM
Quote:
A consequence of the hairy ball theorem is that any continuous function that maps a sphere into itself has either a fixed point or a point that maps onto its own antipodal point. This can be seen by transforming the function into a tangential vector field as follows.
Posted 15 August 2014 - 03:49 PM
If you rotate your direction vector twice (90° arround x-axis and 90° around y-axis) you get an arbitrary vector that is linearly independent of the direction vector. Then you retrieve a perpendicuar vector to those two vectors via cross product.
Or is there an error in reasoning for that method?
Edit: Oh yes there are cases where this fails -.- e.g. (1,0,-1) turned arround x-axis by 90° then turned arround y-axis by 90° results in the same vector. But can it still fail when turned by different angles like 30° and 60° ?
Edited by hageldave, 15 August 2014 - 04:17 PM.
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.
GameDev.net™, the GameDev.net logo, and GDNet™ are trademarks of GameDev.net, LLC.