- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
需要解决的问题:
看起来左边的直线比右边的高。我不想要那个。为什么会这样,我该如何解决?
所有行(记录)的长度是否相同。不确定,但看起来在 0.7853981633974483 弧度向外的那些更小
window.onload = function(){
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.translate(200,200);
for(var i = 0; i < 5; i++){
context.save()
context.rotate(Math.PI / 4 * i);
context.fillStyle = "red";
context.fillRect(0,0,70,3 )
context.restore()
}
}
<canvas id="canvas" width="400" height="400"></canvas>
编辑:我还想问您如何标记构成 Angular 这些切片。例如切片 1 得到“1”等等 1 2 3 4 5。它应该由顶点( Angular )定位
最佳答案
首先,长度都是一样的。如果出现不同,则可能是由于原点处的轻微重叠造成的错觉。
现在,事物不对齐的原因是由于旋转和矩形的性质。当您旋转 rect
时,旋转原点位于矩形的左上角。所以当旋转 180
度时,矩形的原点将在右下角。如果您加宽矩形并更改它们的颜色,则可以更明显地看到这一点。例如:
var cols = ['red', 'green', 'blue', 'yellow', 'purple'];
window.onload = function(){
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.translate(200,200);
for(var i = 0; i < 5; i++){
context.save();
context.rotate(Math.PI / 4 * i);
context.fillStyle = cols[i];
context.fillRect(0,0,70,30);
context.restore();
}
}
<canvas id="canvas" width="400" height="400"></canvas>
那么你如何解决这个问题?一种修复方法是在 y 轴上平移每个矩形,旋转后其宽度的一半。例如:
var cols = ['red', 'green', 'blue', 'black', 'purple'];
// the line width (technically rect height)
var width = 3;
var length = 70;
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.translate(200,200);
for(var i = 0; i < 5; i++){
var rotAmount = Math.PI / 4 * i;
context.save();
context.rotate(rotAmount);
context.translate(0, -(width / 2));
context.fillStyle = cols[i];
context.fillRect(0,0,length,width);
context.translate(length + 20, 0);
context.rotate(-rotAmount);
context.font="18px Verdana";
context.fillText(i+1,-5,5);
context.restore();
}
<canvas id="canvas" width="400" height="400"></canvas>
还添加了 fillText
根据@markE 的评论,让您开始绘制数字。
那么这是如何工作的呢?基本上在画完线之后,将轴移动到您希望每个数字所在的位置 (translate
),然后反向旋转轴,旋转量与您最初旋转线的量相同 (旋转
)。这会将数字旋转到其原始坐标系。
关于javascript - 当我使用弧度将半圆分成四个部分时,看起来我没有得到一条直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502928/
我如何将纬度和经度转换为度数/弧度?你们有任何公式或任何想法吗?我想在 MapKit 上显示它。谢谢...... 最佳答案 由于纬度和经度以度为单位,您可以使用以下公式转换为弧度,然后再转换为度: R
我希望能够告诉服务器我的模型的方向,以便它可以反过来将其发送回所有其他玩家。但是通过共享内存获取值(最坏情况下取字节值,最好情况下取整数)。 有没有一种数学方法可以检查我的模型的旋转,将其转换为偏离默
我想将角度从弧度转换为度数。我知道 Matlab 2014 有一个内置函数可以执行此操作,但在我的特定情况下该函数还不够好。基本上,角度 pi/2 是 90 度,-pi/2 也是 90 度,但是我需要
如何获取 UIView 的当前角度/旋转/弧度? 最佳答案 你可以这样做...... CGFloat radians = atan2f(yourView.transform.b, yourView.t
我正在使用 Python 和 Numpy/Scipy 进行一些数字滤波工作。 我正在使用 scipy.signal.iirdesign 生成我的滤波器系数,但它需要我不熟悉的格式的滤波器通带系数 wp
我是一名优秀的程序员,十分优秀!