Crowds are part of our everyday experience; nevertheless, in virtual worlds they are still relatively rare. In this thesis we explore the challenges of bringing crowds into interactive virtual environments and the possible applications of real-time interactive crowds, for example, in the domains of virtual heritage and training systems. We address several topics including real-time generation of higher-level behaviors, lower-level motion control for many characters, management of variety, integration of crowds into virtual environments, interaction with virtual crowds and authoring of scenarios. In comparison with the other crowd modeling approaches, we focus on more complex behaviors of many agents in dynamic environments with possible user interaction. In our system a crowd is modeled as a collection of individuals which react to the environment, to other agents and to real human participants of the simulation and can have very different behaviors, both for one agent in different situations, and for many agents in the same situation. We emphasize the importance of variety as one of the most distinguishing features of the crowd simulations; we introduce the notion of levels-of-variety. We address as well the question of how to author crowd scenes in an efficient way. We introduce a novel approach to create complex scenes involving thousands of animated individuals in a simple and intuitive way. By employing a brush metaphor, analogous to the tools used in image manipulation programs, we can distribute, modify and control crowd members in real-time with immediate visual feedback. We demonstrate the validity of our behavior simulation approach with several case studies, where we use our crowd system to manage crowd behaviour in a virtual reality training system and virtual heritage reconstruction. The potential of our authoring approach is shown by authoring a scenario of a virtual audience in a theater and a scenario of a pedestrian crowd in a city.