第二次作业 用面向对象的思维设计相关类,从而实现直线与直线、直线与圆、直线与矩形的交点。 要求各给出每个案例的至少一个示例的程序
C#
namespace Fb
{
public class FB_2
{
// public static void Main(string[] args)
// {
// //说明:实例化图像后,传入Cac即可计算
// Line l1 = new Line(1, 1, -1);
// Line l2 = new Line(-2, 1, 0);
// Cir c1 = new Cir(0, 0, 1);
// Rec r1 = new Rec(1, -1, 2, 2);
// Console.WriteLine("直线与直线:");
// Cac cac1 = new Cac(l1, l2);
// Console.WriteLine("直线与圆:");
// Cac cac2 = new Cac(l1, c1);
// Console.WriteLine("直线与矩形:");
// Cac cac3 = new Cac(l1, r1);
// }
}
class MathGraph
{
public mathType mType;
}
class Line : MathGraph
{
public double A { get; set; }
public double B { get; set; }
public double C { get; set; }
public Line() { }
public Line(double a, double b, double c)
{
mType = mathType.line;
A = a;
B = b;
C = c;
}
}
class Cir : MathGraph
{
public Vector2D Center = new Vector2D();//圆心
public double R;//半径
public Cir() { }
public Cir(Vector2D center, double r)
{
mType = mathType.circle;
Center = center;
R = r;
}
public Cir(double x, double y, double r)
{
mType = mathType.circle;
Center.x = x;
C

这篇博客展示了如何使用C#编程实现直线与直线、直线与圆、直线与矩形交点的计算。通过定义MathGraph、Line、Cir、Rec和Cac等类,实现了面向对象的设计,包括直线平行、重合、无交点、一个交点或两个交点等不同情况的判断和计算。示例中给出了具体的交点坐标输出。

632

被折叠的 条评论
为什么被折叠?



