Solve Angle C: Is it Between A & B?

  • Context: Undergrad 
  • Thread starter Thread starter Narf the Mouse
  • Start date Start date
  • Tags Tags
    Angle Mathematical
Click For Summary
SUMMARY

The discussion focuses on solving the angle C problem in a line of sight (LOS) algorithm for roguelike games, specifically addressing angles between 45 and 225 degrees. The challenge arises from the need to handle both clockwise and counter-clockwise angles within the same equation to maintain consistency. The user has implemented a partial solution by dividing the problem into two halves but seeks a comprehensive solution that avoids rewriting the entire algorithm to accommodate 90-degree increments.

PREREQUISITES
  • Understanding of line of sight algorithms in game development
  • Familiarity with angular measurements in degrees
  • Knowledge of programming concepts related to angle manipulation
  • Experience with roguelike game mechanics
NEXT STEPS
  • Research advanced techniques for angle normalization in programming
  • Explore optimization strategies for line of sight algorithms
  • Learn about handling angular ranges in game development
  • Investigate existing libraries or frameworks that simplify angle calculations
USEFUL FOR

Game developers, particularly those working on roguelike games, programmers optimizing line of sight algorithms, and anyone interested in angular calculations in game mechanics.

Narf the Mouse
Messages
11
Reaction score
0
...including cases such as between 45 and 225 degrees and between 225 and 45 degrees going the other way.

Which, for programmatical reasons, must all be handled in the same equation.

It's either that, or I re-work my roguelikes' LOS aglorithm to handle everything in 90 degree increments.

Save me a bunch of re-writing?

Thanks.
 
Mathematics news on Phys.org


No idea what you are asking for.

x > 45 and x < 225 does the trick.
 


Narf the Mouse said:
...including cases such as between 45 and 225 degrees and between 225 and 45 degrees going the other way.

Which, for programmatical reasons, must all be handled in the same equation.

It's either that, or I re-work my roguelikes' LOS aglorithm to handle everything in 90 degree increments.

Save me a bunch of re-writing?

Thanks.

Please Explain your problem clearly.
 


How are you "given" the angle?
 


More clearly, it's for a line of sight algorithm for a roguelike. If the algorithm encounters a blocking tile, it generates a blocking angle range - minimum and maximum - produced by said tile. Thereafter, anything which is entirely obscured by said angle - Anything whos corner and middle angles are all inside the blocking angle range - Is naturally not visible.

I also compile all intersecting blocking angles, so as to reduce overhead.

The problem comes with a blocking angle from, say, 45 to 225 or vice-versa, by way of 0/360 instead of 180. That is to say, clockwise from 45 to 225. The algorith tends to think that 45 to 225, counter-clockwise, is blocked.

The conflict comes because the same algorithm must be used for all angles to obtain consistent results.

I've hacked a solution by spitting it into two halves, but I've been unable to find a complete solution on google.
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
Replies
1
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
5
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
Replies
2
Views
3K
Replies
3
Views
1K
  • · Replies 31 ·
2
Replies
31
Views
3K
  • · Replies 20 ·
Replies
20
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K