代码是从 Discuz 中复制来的。效果是旋转扭曲图片。
旋转扭曲程度和 num4 这个随机数有关。
下面的 Sin、Cos 作什么用,不懂。懂的人能帮忙解释一下吗
图片中的字被旋转扭曲但还是能认的出。double num4 = 10; // num4是一个随机数 5-10,可正可负。
using (Bitmap bitmap2 = ((Bitmap)bitmap1.Clone())) // bitmap1 生成的是验证图片,里面有几个数字
{
for (int num5 = 0; num5 < this.height; num5++) // this.height 是 bitmap1 的高
{
for (int num6 = 0; num6 < this.width; num6++)
{
int num7 = num6 + ((int)(num4 * Math.Sin((3.1415926535897931 * num5) / 84)));
int num8 = num5 + ((int)(num4 * Math.Cos((3.1415926535897931 * num6) / 54))); if ((num7 < 0) || (num7 >= this.width)) num7 = 0;
if ((num8 < 0) || (num8 >= this.height)) num8 = 0; bitmap1.SetPixel(num6, num5, bitmap2.GetPixel(num7, num8));
}
}
}
旋转扭曲程度和 num4 这个随机数有关。
下面的 Sin、Cos 作什么用,不懂。懂的人能帮忙解释一下吗
图片中的字被旋转扭曲但还是能认的出。double num4 = 10; // num4是一个随机数 5-10,可正可负。
using (Bitmap bitmap2 = ((Bitmap)bitmap1.Clone())) // bitmap1 生成的是验证图片,里面有几个数字
{
for (int num5 = 0; num5 < this.height; num5++) // this.height 是 bitmap1 的高
{
for (int num6 = 0; num6 < this.width; num6++)
{
int num7 = num6 + ((int)(num4 * Math.Sin((3.1415926535897931 * num5) / 84)));
int num8 = num5 + ((int)(num4 * Math.Cos((3.1415926535897931 * num6) / 54))); if ((num7 < 0) || (num7 >= this.width)) num7 = 0;
if ((num8 < 0) || (num8 >= this.height)) num8 = 0; bitmap1.SetPixel(num6, num5, bitmap2.GetPixel(num7, num8));
}
}
}
古代说的“勾三股四弦五”中的“弦”,就是直角三角形中的斜边. 股就是人的大腿,长长的,古人称直角三角形中长的那个直角边为“股”。正放的直角三角形,应是大腿站直。
正弦是股与弦的比例,余弦是余下的那条直角边与弦的比例。
正弦=股长/弦长
勾股弦放到圆里。弦是圆周上两点连线。最大的弦是直径。 把直角三角形的弦放在直径上,股就是长的弦,即正弦,勾就是短的弦,即余下的弦——余弦。
按现代说法,正弦是直角三角形的对边与斜边之比。
现代正弦公式是
sine = 直角三角形的对边比斜边.
如图,斜边为r,对边为y,邻边为x。
斜边与邻边夹角a
sine=y/r
无论y>x或y<=x
无论a多大多小可以任意大小
正弦的最大值为1 最小值为-1
sin正弦,cos余弦等
3.1415926535897931是圆角率
3.1415926535897931是圆角率