用C# 在面板上画以下图形.要求全代码计算要求用C#代码画出以下图形,外圆和内圆都是正圆,内圆大小相等,已知外圆直径和内圆的个数,要计算出内圆的直径和每个内圆的坐标.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 23:29:00
用C#在面板上画以下图形.要求全代码计算要求用C#代码画出以下图形,外圆和内圆都是正圆,内圆大小相等,已知外圆直径和内圆的个数,要计算出内圆的直径和每个内圆的坐标.用C#在面板上画以下图形.要求全代码
用C# 在面板上画以下图形.要求全代码计算要求用C#代码画出以下图形,外圆和内圆都是正圆,内圆大小相等,已知外圆直径和内圆的个数,要计算出内圆的直径和每个内圆的坐标.
用C# 在面板上画以下图形.要求全代码计算
要求用C#代码画出以下图形,外圆和内圆都是正圆,内圆大小相等,已知外圆直径和内圆的个数,要计算出内圆的直径和每个内圆的坐标.
用C# 在面板上画以下图形.要求全代码计算要求用C#代码画出以下图形,外圆和内圆都是正圆,内圆大小相等,已知外圆直径和内圆的个数,要计算出内圆的直径和每个内圆的坐标.
上面兄台是把坐标算出来画,我的是画了再算,差不多,他的题目要求坐标的时候比我的好,但是如果不求坐标,用坐标系旋转更好,因为那样没有矩形位置计算,粘贴运行不了,在构造里面加this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
因为这句是vs事件添加的时候 后台自己 加上的
public partial class Form1 : Form{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 外圆半径
/// </summary>
private float radius = 0;
/// <summary>
/// 内圆数量
/// </summary>
private uint circlesCount = 0;
/// <summary>
/// 重写了paint响应
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Paint(object sender, PaintEventArgs e)
{
if (radius > 0 && circlesCount > 0)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Black);
g.DrawEllipse(pen, 0, 0, radius * 2, radius * 2);
//获得小圆半径 r=R*sin(a/2)/[1+sin(a/2)] a为角度360.0f / circlesCount
//这个我不会算,百度出来的,一个扇形内最大圆半径
//而且函数要的是弧度,不是角度,还需要转换 弧度 = 角度 * PI / 180
float angle = 360.0f / circlesCount;
double radian = angle / 2 * Math.PI / 180f;
float innerRadius = (float)(radius * (Math.Sin(radian) / (1 + Math.Sin(radian))));
//内圆直径
float innerDiameter = innerRadius * 2;
PointF[] centers = new PointF[circlesCount];
//把坐标系原点放在外圆圆心
g.TranslateTransform(radius, radius);
//这里完全是为了你要的求坐标,否则没这么复杂的转换坐标点
for (int i = 0; i < circlesCount; i++)
{
//在当前坐标系最底部画一个圆
g.DrawEllipse(pen, 0 - innerRadius, radius - innerDiameter, innerDiameter, innerDiameter);
//这个圆当前坐标系的圆心
PointF[] center = { new PointF(0, radius - innerRadius) };
//转换坐标点
g.Transform.TransformPoints(center);
centers[i] = center[0];
//把坐标系偏转对应角度
g.RotateTransform(angle);
}
//刚好转弯以后坐标系又成正常正北,正东 坐标系,
//横纵坐标轴
pen.Color = Color.Blue;
g.DrawLine(pen, new PointF(0, -radius), new PointF(0, radius + 50));
g.DrawLine(pen, new PointF(-radius, 0), new PointF(radius + 50, 0));
//这样再转换一次坐标系就能得到正常0,0为圆心的坐标
g.ResetTransform();
g.TranslateTransform(-radius, -radius);
g.Transform.TransformPoints(centers);
g.ResetTransform();
String s = "";
for (int i = 0; i < circlesCount; i++)
{
s += String.Format("第{0}个坐标是:{1},{2}\r\n", i + 1, centers[i].X, centers[i].Y);
}
g.DrawString(s, new Font("宋体", 10), Brushes.Red, new Point((int)radius + 10, (int)radius * 2 + 10));
}
}
private void btnDraw_Click(object sender, EventArgs e)
{
radius = float.Parse(radiusTextbox.Text);
circlesCount = uint.Parse(circlesCountTextBox.Text);
this.Invalidate();
}
}
用C# 在面板上画以下图形.要求全代码计算要求用C#代码画出以下图形,外圆和内圆都是正圆,内圆大小相等,已知外圆直径和内圆的个数,要计算出内圆的直径和每个内圆的坐标.
C# 输入10个整数,要求输出其平均值、最大值、最小值,求代码、请用C#
如何用C#画出五角星的图形,求代码
C#三维坐标系在C#中怎么画三维坐标系啊,要左手坐标系,最好附上代码.
用VS 2005编写,怎么用C#循环语句在屏幕上用”*”打印输出等腰三角形的图形?如下图:****
还有一个题……在窗体上输出以下图形:就是一个倒放的 三角形(左) 和一个正放的三角形(右),用星号的就是这样的VB编程的代码哈
麻烦打印在面板上!
在c#代码里面加入 #region是什么意思呢?
c#怎么在字上画横线的代码怎么写?
c# 中的region 除了可以折叠代码还有什么用?
如何用C#画正弦函数图形
用c#做以下东西?概念,理论.
用C#语言编写,要求申明三角形类,继承图形抽象类,计算三角形的周长和面积!
C#画直线的代码!(和windows画图工具一样的效果*)我的代码不对,不是射线状,就是没有画的过程.怎么样实现在屏幕上一点,拖出一个可变的直线,像橡皮条,松开后确定的那种!private void Drawing_Mous
用c#分析二维平面上的点和圆,定义相应的类及关系,并创建对象进行测试如题把代码写出来
C# 表达式树是什么表达式树允许将Lambda表达式表现为数据结构,而不是可执行代码.表达式树在哪用?用来干什么的?
改进弧长法 判断点是否在多边形内 c#代码
橱柜的不锈钢面板是用什么胶粘在木板上的