Tag: rotation

C#directx sprite origin

当我的Sprite旋转原点固定在窗口的左上角时我有这个问题(与sprite.Draw和sprite.Draw2D相同)无论哪种方式,如果我改变旋转中心它仍然在左上角。 我需要精灵绕其Z轴旋转。 编辑:我试过这个: hereMatrix pm = Matrix.Translation(_playerPos.X + 8, _playerPos.Y + 8, 0); sprite.Transform = Matrix.RotationZ(_angle) * pm; sprite.Draw(playerTexture, textureSize, new Vector3(8, 8, 0), new Vector3(_playerPos.X, _playerPos.Y, 0), Color.White); 但它似乎不太好用……

围绕另一个点旋转一个点

我有一个绘制特定图形的任务。 作为这项任务的一部分,我需要在45度旋转一些点。 我已经花了2天时间试图计算出一个公式,但却无法做到正确。 我一直在寻找这个地方,包括这个特定的网站,我已经非常接近,但我仍然不在那里。 这是:我需要绘制4个不同的点 我有一个特定的公式来计算位置,这超出了问题的范围,但这是我得到的结果: int radius = 576; int diameter = radius * 2; Point blueA = new Point(561, 273); Point greenB = new Point(273, 561); Point yellowC = new Point (849, 561); Point redD = new Point (561, 849); 现在我需要将这个点旋转45度。 我使用以下代码来实现它: double rotationAngle = 45; double rotationRadians = rotationAngle * (Math.PI / […]