Guest User

Untitled

a guest
Jul 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. void RaySchiessen( float SchnittWinkel )
  2. {
  3.  
  4. // DEBUG ->
  5. float KreisMittelPunktX = 250.f;
  6. float KreisMittelPunktY = 250.f;
  7. float KreisRadius = 100.f;
  8. // <- DEBUG
  9.  
  10. float PunktX = 1.f;
  11. float PunktY = sqrt( pow( PunktX / cos(SchnittWinkel), 2 ) + pow( PunktX, 2 ) );
  12.  
  13. float GeradenSteigung = PunktY / PunktX;
  14. std::cout << "GeradenSteigung: " << GeradenSteigung << std::endl;
  15.  
  16. // walk along ray
  17.  
  18. for( int i = 0; i <= WindowSizeX; i++ )
  19. {
  20. float GeradePunktX = (float)i;
  21. float GeradePunktY = GeradenSteigung * GeradePunktX;
  22.  
  23. App.Draw( sf::Shape::Rectangle( GeradePunktX, GeradePunktY, GeradePunktX + 1, GeradePunktY + 1, sf::Color( 255, 255, 255, 255 )) );
  24.  
  25. if( std::sqrt( std::pow( GeradePunktY - KreisMittelPunktY, 2 ) + pow( GeradePunktX - KreisMittelPunktX, 2 ) ) <= KreisRadius )
  26. {
  27. App.Draw( sf::Shape::Rectangle( GeradePunktX - 2, GeradePunktY - 2, GeradePunktX + 2, GeradePunktY + 2, sf::Color( 255, 255, 255, 255 )) );
  28. break;
  29. }
  30. }
  31. }
Add Comment
Please, Sign In to add comment