gpt4 book ai didi

java - "Drawing"由控制台应用程序中的字符组成的填充椭圆

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:09 26 4
gpt4 key购买 nike

我想将给定的字符绘制到控制台应用程序中,形成一个椭圆。

我不知道如何解决的问题是,一旦我知道角度和半径(使用 Sin 和 Cos 函数),我就只知道在哪里绘制字符,但我可能会留下空白。

它更复杂,因为我想“绘制”一个填充的椭圆,而不仅仅是边框。

我该怎么做?

我想要的方法是这样的:

DrawEllipse(char ch, int centerX, int centerY, int width, int height)

只是一个想法:我可能会在椭圆的矩形区域中编写一个带有内循环的循环,并确定某个位置是在椭圆区域的内部还是外部。

最佳答案

这将是一个合理的近似值。

public static void DrawEllipse( char c, int centerX, int centerY, int width, int height )
{
for( int i = 0; i < width; i++ )
{
int dx = i - width / 2;
int x = centerX + dx;

int h = (int) Math.Round( height * Math.Sqrt( width * width / 4.0 - dx * dx ) / width );
for( int dy = 1; dy <= h; dy++ )
{
Console.SetCursorPosition( x, centerY + dy );
Console.Write( c );
Console.SetCursorPosition( x, centerY - dy );
Console.Write( c );
}

if( h >= 0 )
{
Console.SetCursorPosition( x, centerY );
Console.Write( c );
}
}
}

关于java - "Drawing"由控制台应用程序中的字符组成的填充椭圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41743852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com