Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void RaySchiessen( float SchnittWinkel )
- {
- // DEBUG ->
- float KreisMittelPunktX = 250.f;
- float KreisMittelPunktY = 250.f;
- float KreisRadius = 100.f;
- // <- DEBUG
- float PunktX = 1.f;
- float PunktY = sqrt( pow( PunktX / cos(SchnittWinkel), 2 ) + pow( PunktX, 2 ) );
- float GeradenSteigung = PunktY / PunktX;
- std::cout << "GeradenSteigung: " << GeradenSteigung << std::endl;
- // walk along ray
- for( int i = 0; i <= WindowSizeX; i++ )
- {
- float GeradePunktX = (float)i;
- float GeradePunktY = GeradenSteigung * GeradePunktX;
- App.Draw( sf::Shape::Rectangle( GeradePunktX, GeradePunktY, GeradePunktX + 1, GeradePunktY + 1, sf::Color( 255, 255, 255, 255 )) );
- if( std::sqrt( std::pow( GeradePunktY - KreisMittelPunktY, 2 ) + pow( GeradePunktX - KreisMittelPunktX, 2 ) ) <= KreisRadius )
- {
- App.Draw( sf::Shape::Rectangle( GeradePunktX - 2, GeradePunktY - 2, GeradePunktX + 2, GeradePunktY + 2, sf::Color( 255, 255, 255, 255 )) );
- break;
- }
- }
- }
Add Comment
Please, Sign In to add comment