C# 如何绘制三角函数曲线

如题所述

好像没有画三角函数的方法似的!
我这里有一个自己写的代码,可能参数设计的不是很好看起来不是很像,不过意思应该达到了!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIN
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 61; i++)//绘制Y轴
{
Console.Write('-');
if (i == 60)
{
Console.WriteLine("> Y轴");
}
}
double Y;
double angle;
double radian;

char[,] SINS = new char[100, 61];
int[] huhao = new int[100];
for (int i = 0; i < 100; i++)
{
angle = i * 360 / 100;
radian = angle * Math.PI / 180;
Y = Math.Sin(radian);
huhao[i] = Convert.ToInt32(Y * 25);
//Console.WriteLine(Y);
}
for (int i = 0; i < 100; i++)
for (int j = 0; j < 61; j++)
{
SINS[i,j]='\0';
if (j == 31)
{
SINS[i, j] = '|';
}
}
for (int i = 0; i < 100; i++)
{
SINS[i, huhao[i] + 31] = '*';
}
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 61; j++)
{
Console.Write(SINS[i, j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-31
java的画正弦函数的画法是用一个算法,c#和java差不多,我只看过一点基本的语法.你学的挺快的,学c#了,我感觉也是用算法来画吧.
算法:
就是x从某一值开始到某一值,让后算出纵坐标,这个简单算出,直接是数学函数来算,,然后用一个循环一个个的点画在这个坐标上,这样就画出来了,不知道你说的是不是这样的图呀,如果要想发现不是很明显是断续的点,课用while循环,将循环增量变小,java里面用的是drawstring()函数,具体就不说了,c#里面还真没查,我想应该有函数是将两点间有直线连接,哈哈,这样也可以用循环,一个用点,一个用折线,只要精度高点,估计没什么差别,以后c#方面多交流交流吧!你试试吧,哈哈,你研究完了有空上网了,告诉我下
第2个回答  2020-04-20
好像没有画三角函数的方法似的!
我这里有一个自己写的代码,可能参数设计的不是很好看起来不是很像,不过意思应该达到了!
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
SIN
{
class
Program
{
static
void
Main(string[]
args)
{
for
(int
i
=
0;
i
<
61;
i++)//绘制Y轴
{
Console.Write('-');
if
(i
==
60)
{
Console.WriteLine(">
Y轴");
}
}
double
Y;
double
angle;
double
radian;
char[,]
SINS
=
new
char[100,
61];
int[]
huhao
=
new
int[100];
for
(int
i
=
0;
i
<
100;
i++)
{
angle
=
i
*
360
/
100;
radian
=
angle
*
Math.PI
/
180;
Y
=
Math.Sin(radian);
huhao[i]
=
Convert.ToInt32(Y
*
25);
//Console.WriteLine(Y);
}
for
(int
i
=
0;
i
<
100;
i++)
for
(int
j
=
0;
j
<
61;
j++)
{
SINS[i,j]='\0';
if
(j
==
31)
{
SINS[i,
j]
=
'|';
}
}
for
(int
i
=
0;
i
<
100;
i++)
{
SINS[i,
huhao[i]
+
31]
=
'*';
}
for
(int
i
=
0;
i
<
100;
i++)
{
for
(int
j
=
0;
j
<
61;
j++)
{
Console.Write(SINS[i,
j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
}
第3个回答  2009-10-31
请查阅 System.Drawing.Graphics 相关方法,例如曲线是System.Drawing.Graphics.DrawCurve()

C# 如何绘制三角函数曲线
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace SIN { class Program { static void Main(string[] args){ for (int i = 0; i < 61; i++)\/\/绘制Y轴 { Console.Write('-');if (i == 60){ Console.WriteLine("> Y轴");} } double Y...

相似回答