Я изучаю простую физику для двумерных игр, и мне нужна помощь в симуляции, которую я пытаюсь сделать.
У меня есть планка, которая упадет на неподвижный шар в земле, xaml ниже:
<Canvas Background="CornflowerBlue">
<Rectangle Name="bar" Width="200" Height="20" Fill="Cornsilk" Canvas.Left="250" Canvas.Top="50" />
<Ellipse Name="ball" Height="50" Width="50" Fill="PaleGreen" Canvas.Left="380" Canvas.Top="250" />
</Canvas>
У меня есть все расчеты, чтобы смоделировать падение стержня под действием силы тяжести, но мне действительно нужна помощь: когда стержень ударит по мячу, одна сторона будет лежать на земле, а другая - на мяче, может быть в значительной степени представлен с xaml:
<Canvas Background="CornflowerBlue">
<Rectangle Name="bar" Width="200" Height="20" Fill="Cornsilk" Canvas.Left="250" Canvas.Top="246.675" RenderTransformOrigin="0.5,0.5" >
<Rectangle.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-18.897"/>
<TranslateTransform/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
<Ellipse Name="ball" Height="50" Width="50" Fill="PaleGreen" Canvas.Left="380" Canvas.Top="250" />
</Canvas>
И я не знаю, как заставить левую сторону штанги удариться о землю, в то время как левая сторона будет над мячом с точки зрения физики.
Я знаю, что есть замечательный физический движок, такой как Farseen, но я просто хочу понять, как он будет работать в этом случае.
Я знаю, как получить Y бара на основе времени, поэтому я продолжаю проверять его, пока он не столкнется с мячом, но что потом?
Спасибо!