0
我想知道,如何将坐标转换为绘制数学函数的窗体中心。 我已经试过- > TranslateTransform(x,y) on 图形对象,这个工程,但只在坐标的四分之一。我应该如何在窗体上绘制数学函数?编程C++很长,但WinForms和绘图是新的4我。图形绘制VC++
我想知道,如何将坐标转换为绘制数学函数的窗体中心。 我已经试过- > TranslateTransform(x,y) on 图形对象,这个工程,但只在坐标的四分之一。我应该如何在窗体上绘制数学函数?编程C++很长,但WinForms和绘图是新的4我。图形绘制VC++
非常不清楚“四分之一坐标”可能意味着什么。要得到一个笛卡尔坐标系统,其中心坐标为0,0,负坐标系映射到窗体或控件的左下角,您必须使用ScaleTransform()来反转Y轴,并且将TranslateTransform()将原点转移到中心。像这样:
protected:
virtual void OnPaint(PaintEventArgs^ e) override {
e->Graphics->ScaleTransform(1, -1);
e->Graphics->TranslateTransform(this->ClientSize.Width/2, -this->ClientSize.Height/2);
e->Graphics->DrawLine(Pens::Black, -20, -20, 20, 20);
__super::OnPaint(e);
}
这画出了从左下到右上的界限。
谢谢!这比我想象的更简单。“坐标的四分之一”表示笛卡尔坐标系的象限,抱歉英语不好。它会显示图形发生在所有四个象限吗?(如罪(x)); – 2010-10-31 13:51:20