我想知道如何计算显示层的最小尺寸,以便它总是掩盖它的画布而不管它的旋转.
下图描绘了一个尺寸为1280宽x 800高的画布(黑色矩形).
中心对齐和居中对齐,使画布完全覆盖0度(图像1)和90度(图像2),渐变显示层已按比例从1280宽度x 800高度(相同尺寸的画布)调整大小)到2048宽x 1280高度,使原始最小长度与画布的最大长度相匹配.但是,如图3所示,使用这个基本的比例调整逻辑,某些角度不会完全覆盖画布.
如何确定渐变显示图层的最小尺寸(不超出),以便在中心对齐和居中对齐时,无论角度如何,它都将始终覆盖画布?

在我找到一个CSS解决方案的过程中,为了避免图像,我想要一个带有角度的均匀彩色元素,我偶然发现了这个简单的例子:http://dabblet.com/gist/1780333.这个工作正常,即使在最新的IE浏览器中,只有Safari完全颠倒它,把它放到最后而不是开头并且部分转向角度,至少在我的实时网站中它并不一致.当然,我对所有浏览器版本都有相同的值.
任何人都知道为什么会如此以及可以做什么 - 或者是没有图像的替代解决方案来提出元素的左侧角度?
我想在 JS 中获得一个三角形的角度。
计算对向/相邻后,如何使用切线得出角度的度数?

我正在设计一个需要检查设备方向的应用程序(方位角,俯仰和滚动).我使用以下代码来实现此目的:
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
gravityMatrix = event.values.clone();// Fill gravityMatrix with accelerometer values
else if(event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
geomagneticMatrix = event.values.clone();// Fill geomagneticMatrix with magnetic-field sensor values
if(gravityMatrix != null && geomagneticMatrix != null){
RMatrix = new float[16];
IMatrix = new float[16];
SensorManager.getRotationMatrix(RMatrix, IMatrix, gravityMatrix, geomagneticMatrix);// Retrieve RMatrix, necessary for the getOrientation method
SensorManager.getOrientation(RMatrix, orientation);// Get the current orientation of the device
}
}
Run Code Online (Sandbox Code Playgroud)
现在我可以从'orientation'float []获得方位角,俯仰和滚动值.方位角和滚动值的一切都很好(它返回正确的角度),但是当我打印音高值(方向[1])时,我总是检索PI/2和-PI/2之间的角度.我不明白为什么?我无法检索大于PI/2或小于-PI/2的角度.只要我有+的角度 - PI/2和我一直在我的旋转设备(三星Galaxy S2)的角度突然减小它达到了PI/2的值之后.
任何人都可以解释为什么俯仰角表现得如此不寻常?
提前致谢!
android angle motion-detection device-orientation android-sensors
我这里有一个小提琴。我要问的是太空船必须面向运动的方向,因为不这样做是没有意义的。无论如何,我认为我遇到的问题是找到一个角度,并在船以不同方式移动时让船旋转该角度。
function draw () { //Create and animates
var angle = Math.atan2(clickedChords.y - player.y, clickedChords.x - player.x);
ctx.clearRect(0,0,canvas.width,canvas.height);
ctx.fillStyle= 'white';
ctx.beginPath();
//Creates crossHair/nav marker
ctx.arc(clickedChords.x,clickedChords.y,3,0,360);
ctx.rect(clickedChords.x - 8,clickedChords.y - 1,16,2);
ctx.fill();
ctx.drawImage(ships.blueBeginers,player.x-15,player.y-15);
player.x += Math.cos(angle);
player.y += Math.sin(angle);
requestAnimationFrame(draw); //God
}
draw();
Run Code Online (Sandbox Code Playgroud)
我在翻译图像然后从图像中间旋转时遇到问题。这可能很简单,但我被卡住了。
感谢你们对我的帮助。
我正在制作一个类似于 goemetry wars 的简单 2d Java 游戏。我目前正在对玩家的射击进行编程。
我有一个由鼠标位置指定的目标点。现在我想添加一点随机化,让拍摄角度有一个随机偏移。我目前正在直接将点转换为向量。我的想法是将向量转换为角度,将随机化应用于该角度,然后将角度转换回向量(给定向量的长度)。
我不知道如何将角度转换回向量。我不需要代码,它基本上只是一个关于数学的问题。如果有更好的方法来随机拍摄,我也很想听听!我不能将随机化应用于这一点,因为除了鼠标之外还有其他东西可以设置它。
我有一些代码滥用Double的方式与String被滥用作为无类型类型的goto的方式大致相同.Double以这种方式使用会导致许多细微和/或隐藏的问题,通常会导致有害的运行时错误.这就是现在两种方法的样子:
object Geospatial {
def calculateDistance(
coordinate1Longitude: Double,
coordinate1Latitude: Double,
coordinate2Longitude: Double,
coordinate2Latitude: Double
): (Double, Double, Double) = {
//code encapsulated here only works with meters and radians
//returns (distance in meters, initial bearing in zero-based radians, final bearing in zero-based radians)
???
}
def calculateCoordinate(
coordinate1Longitude: Double,
coordinate1Latitude: Double,
angle: Double,
distance: Double
): (Double, Double) = {
//code encapsulated here only works with meters and radians
//returns angle in …Run Code Online (Sandbox Code Playgroud) 所以我正在用C++编写一个游戏,目前我正在研究一个'指南针',但是我对矢量数学有一些问题.
好的,所以你可以看到2D的位置A开始于(4, 4),但是我想A沿着45度角移动直到2D位置到达(16, 16),所以基本上在A开始的地方和结束的地方之间有12个距离.我的问题是我如何计算这个?
在我正在开发的程序中,我有一个三角形的对象(玩家),并且该三角形应该始终面向鼠标旋转。鉴于这两点,我尝试了在网上找到的不同方程,但它们似乎都不起作用或至少执行得足够好。
delta_x = cursor.X - pos.X;
delta_y = cursor.Y - pos.Y;
cursorAngle = (float)Math.Atan2(delta_y, delta_x) * (float)(180 / Math.PI);
Run Code Online (Sandbox Code Playgroud)
这是我发现的最有效的公式,但它仍然不够好,因为它只以特定的角度或距离面向鼠标。Cursor.X和.Y是鼠标的坐标,pos.X和.Y是玩家的坐标。
我想计算两个 System.Numerics.Vector3 之间的角度,但我找不到任何函数。Google 仅查找 2d 点的结果。我想在c#中实现这个。