Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#抗混叠算法_C#_Algorithm_Antialiasing - Fatal编程技术网

C#抗混叠算法

C#抗混叠算法,c#,algorithm,antialiasing,C#,Algorithm,Antialiasing,我想用C#编写自己的抗锯齿算法。我的画只有两种颜色;黑白相间的 在Wikipedia()上,我发现了以下伪解码: Define function PlotAntiAliasedPoint ( number x, number y ) For roundedx = floor ( x ) to ceil ( x ) do For roundedy = floor ( y ) to ceil ( y ) do percent_x = 1 - ab

我想用C#编写自己的抗锯齿算法。我的画只有两种颜色;黑白相间的

在Wikipedia()上,我发现了以下伪解码:

Define function PlotAntiAliasedPoint ( number x, number y )
    For roundedx = floor ( x ) to ceil ( x ) do
         For roundedy = floor ( y ) to ceil ( y ) do
              percent_x = 1 - abs ( x - roundedx )
              percent_y = 1 - abs ( y - roundedy )
              percent = percent_x * percent_y
              DrawPixel ( coordinates roundedx, roundedy, color percent (range 0-1) )
如何在C#中实现此伪代码?

private void plot抗锯齿点(十进制x,十进制y)
{

对于(var rordDex=数学.Lead(x);runDeX)它看起来很自圆其说。您不需要特别了解RoDeDX= Lead x(x)到CeIL(x)do/C++ >的代码< > >它只是一个普通的<代码> < /Cyto>循环,就像您在Python或java或JavaScript或C或C++中看到的,或者……实际上是大多数语言。(int roundedx=Math.Floor(x);roundedx我认为维基百科上的文章缺少一些关于变量的信息。不清楚什么是x和y以及为什么它们是十进制的。乍一看,(x,y)是否是图像上的一个点,例如(1024 x 768)我认为x是一个介于0和1024之间的整数,y是一个介于0和768之间的整数,舍入是没有意义的。所以我不明白为什么这个问题有负面评价。我可以理解为什么有些人(包括我自己)在理解这个伪码算法时有问题。
private void PlotAntiAliasedPoint(decimal x, decimal y)
{
  for (var roundedx = Math.Floor(x); roundedx <= Math.Ceiling(x); roundedx++)
  {
    for (var roundedy = Math.Floor(y); roundedy <= Math.Ceiling(y); roundedy++)
    {
      var percent_x = 1 - Math.Abs(x - roundedx);
      var percent_y = 1 - Math.Abs(y - roundedy);
      var percent = percent_x*percent_y;
      //DrawPixel(coordinates roundedx, roundedy, color percent(range 0 - 1))
    }
  }
}