您可能知道,在c#中,平面的原点(0,0)是左上角.向右和/或向下被认为是+,而向左和/或向上是 - .与此相反的是常规数学协调系统:
(0,0)=飞机中部,上/右= +,下/左= - .
它有点反直觉,有时候很烦人,因为我们(多年来)使用常规数学坐标,你也必须重新计算坐标.
这是一个基本的设计缺陷吗?一段时间后你会习惯吗?哪些其他语言使用不同的coord系统,如c#?
我被困在这里了。我想在“看着”光标(的角度)时绘制眼睛。此外,它应该包含在更大的圆圈/象限内(就像眼球一样)。可悲的是,它只是不会在正确的位置/角度和每次鼠标移动时吸引我的注意力。它唯一要做的就是最初在 (0,0) 处绘制一个椭圆,但这不是我想要的。
我的想法是用毕达哥拉斯定理计算三角形的比率。然后在方法中应用正确的坐标(具有正确的比例)drawEllipse();。每次移动光标时都应重复此操作。
您可以检查我的图像以进行数学推理。

这是我的代码,请注意,面板是在设计器模式下制作的,该模式不包含在此代码中,但应该不是什么大问题:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace oogjes2
{
public partial class Form1 : Form
{
public int mousex;
public int mousey;
public Form1()
{
InitializeComponent();
panel1.Paint += paintpanel;
panel1.MouseMove += panel1_MouseMove;
}
//panel1 cover the screen from (0.0) and onwards,
void panel1_MouseMove(object sender, MouseEventArgs mea)
{
int mousex = mea.X;
int mousey = mea.Y;
}
void paintpanel(object obj, PaintEventArgs …Run Code Online (Sandbox Code Playgroud)