Динамикалық симуляция және физикалық қозғалтқыштар негіздері
Dynamical simulation
Динамикалық модельдеу: физикалық жүйелерді (қозғалыс, соқтығысу) компьютерде сандық түрде ұсқару. Анимация, өнеркәсіп, ойындарда қолданылады. Физика қозғалтқыштары.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Динамикалық модельдеу, есептеу физикасында, әдетте үш өлшемде Ньютонның динамика заңдарына немесе оларға жуықталған нұсқаларына сәйкес еркін қозғалатын денелер жүйесін симуляциялау болып табылады. Динамикалық модельдеу компьютерлік анимацияда аниматорларға шынайы қозғалыс жасауға көмектесу үшін, өнеркәсіптік дизайн саласында (мысалы, қақтығыстарды сынаудың алғашқы кезеңінде модельдеу үшін) және бейне ойындарда қолданылады. Дене қозғалысы уақыт бойынша интеграциялау әдістері арқылы есептеледі.
Dynamical simulation, in computational physics, is the simulation of systems of objects that are free to move, usually in three dimensions according to Newton's laws of dynamics, or approximations thereof. Dynamical simulation is used in computer animation to assist animators to produce realistic motion, in industrial design (for example to simulate crashes as an early step in crash testing), and in video games. Body movement is calculated using time integration methods.
Физика қозғалтқыштары
Компьютерлік ғылымда физикалық қозғалтқыш деп аталатын бағдарлама кеңістіктегі объектілердің мінез-құлқының моделін жасау үшін қолданылады. Бұл қозғалтқыштар түрлі физикалық әсерлерге көптеген денелердің қалай әрекет ететінін симуляциялауға мүмкіндік береді. Олар физика туралы ештеңе білмей, динамикалық симуляцияларды жасау үшін де пайдаланылады. Физикалық қозғалтқыштар бейне ойындар мен кино индустриясында кеңінен қолданылады, бірақ барлық физикалық қозғалтқыштар бірдей емес. Олар көбінесе нақты уақыт режимі мен жоғары дәлдікке бөлінеді, бірақ бұл жалғыз нұсқалар емес. Көптеген нақты уақыт физикалық қозғалтқыштар дәл болмайды және нақты әлемнің ең қарапайым жуықтауын ғана ұсынады, ал жоғары дәлдікті қозғалтқыштар күнделікті қолдану үшін тым баяу болады. Физикалық қозғалтқыштардың қалай құрылатынын түсіну үшін физиканың негізгі білімдері қажет. Физикалық қозғалтқыштар классикалық механикада сипатталған әлемнің нақты мінез-құлқына негізделген. Қозғалтқыштар әдетте қазіргі заманғы механиканы (қараңыз, салыстырмалылық теориясы және кванттық механика) ескермейді, өйткені көптеген визуализациялар салыстырмалы түрде баяу қозғалатын үлкен денелермен жұмыс істейді, бірақ ең күрделі қозғалтқыштар қазіргі заманғы және классикалық механика үшін де есептеулер жасайды. Динамикалық симуляцияларда қолданылатын модельдер осы симуляциялардың қаншалықты дәл болатынын анықтайды.
In computer science, a program called a physics engine is used to model the behaviors of objects in space. These engines allow simulation of the way bodies of many types are affected by a variety of physical stimuli. They are also used to create Dynamical simulations without having to know anything about physics. Physics engines are used throughout the video game and movie industry, but not all physics engines are alike. They are generally broken into real time and the high precision, but these are not the only options. Most real time physics engines are inaccurate and yield only the barest approximation of the real world, whereas most high precision engines are far too slow for use in everyday applications. To understand how these Physics engines are built, a basic understanding of physics is required. Physics engines are based on the actual behaviors of the world as described by classical mechanics. Engines do not typically account for Modern Mechanics (see Theory of relativity and quantum mechanics) because most visualization deals with large bodies moving relatively slowly, but the most complicated engines perform calculations for Modern Mechanics as well as Classical. The models used in Dynamical simulations determine how accurate these simulations are.
Бөлшектердің үлгісі
Физикалық қозғалтқыштарда қолданылатын алғашқы модель – бөлшектер деп аталатын, шекті массасы бар, өте кішкентай объектілердің қозғалысын басқарады. Бұл теңдеу Ньютонның екінші заңы (Ньютон заңдарын қараңыз) немесе күштің анықтамасы деп аталады және ол барлық қозғалысты анықтайтын негізгі қағида болып табылады:
The first model which may be used in physics engines governs the motion of infinitesimal objects with finite mass called “particles.” This equation, called Newton’s Second law (see Newton's laws) or the definition of force, is the fundamental behavior governing all motion:
Бұл теңдеу бізге бөлшектердің мінез-құлқысын толыққанды модельдеуге мүмкіндік береді, бірақ көптеген симуляциялар үшін бұл жеткіліксіз, себебі ол қатаң денелердің айналу қозғалысын ескермейді. Бұл физикалық қозғалтқышта қолданылатын ең қарапайым модель және ол ерте бейне ойындарда кеңінен қолданылған.
This equation will allow us to fully model the behavior of particles, but this is not sufficient for most simulations because it does not account for the rotational motion of rigid bodies. This is the simplest model that can be used in a physics engine and was used extensively in early video games.
Инерциялық модель
Нақты әлемдегі денелер күштер әсер еткенде деформацияланады, сондықтан оларды "жұмсақ" деп атаймыз, бірақ көбінесе деформация қозғалысқа қарағанда өте аз болады және оны модельдеу қиын, сондықтан көптеген физикалық қозғалтқыштар деформацияны ескермейді. Деформацияланбайды деп есептелетін дене – қатты дене деп аталады. Қатты дене динамикасы нысанның пішіні, мөлшері немесе массасы өзгермейтін, бірақ бағыты мен орны өзгере алатын қозғалысын зерттейді. Бұрыштық энергия мен импульсті ескеру үшін күштің нысанға қалай әсер ететінін момент арқылы сипаттау қажет, ал нысанның массасының таралуын инерция тензоры арқылы есепке алу керек. Біз осы күрделі өзара әрекеттесулерді күштің анықтамасына ұқсас теңдеумен сипаттаймыз:
Bodies in the real world deform as forces are applied to them, so we call them “soft,” but often the deformation is negligibly small compared to the motion, and it is very complicated to model, so most physics engines ignore deformation. A body that is assumed to be non deformable is called a rigid body. Rigid body dynamics deals with the motion of objects that cannot change shape, size, or mass but can change orientation and position. To account for rotational energy and momentum, we must describe how force is applied to the object using a moment, and account for the mass distribution of the object using an inertia tensor. We describe these complex interactions with an equation somewhat similar to the definition of force above:
мұндағы – орталық инерция тензоры, – бұрыштық жылдамдық векторы, ал – массалық орталыққа қатысты j-інші сыртқы күштің моменті. Инерция тензоры берілген нысандағы массаның әрбір бөлшегінің нысанның массалық орталығына қатысты орнын сипаттайды. Бұл нысанға әсер ететін күштерге байланысты нысанның қалай айналатынын анықтауға мүмкіндік береді. Бұл бұрыштық қозғалыс бұрыштық жылдамдық векторымен өлшенеді. Релятивистік жылдамдықтан аспаса (Релятивистік динамиканы қараңыз), бұл модель барлық маңызды мінез-құлықты дәл симуляциялайды. Бұл әдіс физикалық қозғалтқыштан әрбір көрсеткілікті уақытта алты қарапайым дифференциалдық теңдеуді шешуді талап етеді, бұл қазіргі заманғы компьютерлер үшін оңай міндет.
where is the central inertia tensor, is the angular velocity vector, and is the moment of the jth external force about the mass center. The inertia tensor describes the location of each particle of mass in a given object in relation to the object's center of mass. This allows us to determine how an object will rotate dependent on the forces applied to it. This angular motion is quantified by the angular velocity vector. As long as we stay below relativistic speeds (see Relativistic dynamics), this model will accurately simulate all relevant behavior. This method requires the Physics engine to solve six ordinary differential equations at every instant we want to render, which is a simple task for modern computers.