首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C++中画一个带星星的圆?

在C++中画一个带星星的圆可以通过使用图形库来实现,比如使用OpenGL或者SFML等库。下面是一个使用SFML库绘制带星星的圆的示例代码:

代码语言:cpp
复制
#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "Star Circle");

    sf::CircleShape circle(200);
    circle.setFillColor(sf::Color::Transparent);
    circle.setOutlineThickness(2);
    circle.setOutlineColor(sf::Color::White);
    circle.setPosition(300, 200);

    sf::ConvexShape star;
    star.setPointCount(5);
    star.setPoint(0, sf::Vector2f(0, -50));
    star.setPoint(1, sf::Vector2f(14, -20));
    star.setPoint(2, sf::Vector2f(47, -15));
    star.setPoint(3, sf::Vector2f(23, 7));
    star.setPoint(4, sf::Vector2f(29, 40));
    star.setFillColor(sf::Color::White);
    star.setOutlineThickness(2);
    star.setOutlineColor(sf::Color::White);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();

        // 绘制圆
        window.draw(circle);

        // 绘制星星
        for (int i = 0; i < 360; i += 30)
        {
            star.setPosition(400 + 200 * cos(i * 3.14159 / 180), 300 + 200 * sin(i * 3.14159 / 180));
            window.draw(star);
        }

        window.display();
    }

    return 0;
}

这段代码使用了SFML库来创建一个窗口,并在窗口中绘制了一个半径为200的圆,然后在圆的周围绘制了一些星星。星星的位置通过计算得到,使用了三角函数来确定星星的坐标。你可以根据需要调整圆的位置、大小以及星星的数量和位置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

教小朋友了解 C++ 的循环结构

准备好进入C++的循环结构奇妙世界了吗?循环结构就像魔法石一样神奇,让我们来一起探索吧! 想象一下,你是一位勇敢的探险家,身处在一个神秘的迷宫里。你需要走过一个又一个的房间,才能找到宝藏的出口。...不断输入你的选择,直到你不想玩为止。小猴子会很开心地和你一起玩,直到你们决定停下来! 循环嵌套 想象一下,你是一名小小的画家,正在画一个美丽的星空。...让我们一起用C++的魔法来画星星吧! #include int main() { int rows; // 让我们画一个美丽的星空!...<< std::endl; return 0; } 运行这段代码,你将看到一个逐渐增多的星星图案,就像是在画一个美丽的星空!而且,你还可以通过输入行数来控制星星的数量哦!...现在你已经学会了C++的循环结构了,就像是掌握了一把魔法魔杖,可以用它来创造更多有趣的事情!继续努力,你们将成为真正的魔法大师!加油! ---- 带小宝探索神奇编程世界!

23830

Python中的高级turtle(海龟)作图(续)

现在我们尝试用海龟画一个黄色的圆,我们要用100%的红色和绿色颜料,不能使用蓝色: 效果如下: >>> t.color(1,1,0) ##100%的红色,100%的绿色,0%的蓝色 >>> t.begin_fill...,blue) t.begin_fill() t.circle(50) t.end_fill() 我们可以只用绿色来画一个很亮的绿色的圆,如图A: >>> mycircle(0,1,0...) 也可以用一半的绿色(0.5)来画一个深绿色的圆,如图B: >>> mycircle(0,0.5,0) A: ?                            ...: >>> mysquare(50,True) 接着画一个没有填色的正方形: >>> mysquare(150,False) 七、画填好色的星星 现在我们要写一个mystar函数 >>> def mystar...要给星星画上轮廓,把颜色改成黑色并且不用填色再画一遍星星: >>> t.color(0,0,0) >>> mystar(120,False) 效果如下: ?

2.4K61
  • 原来3D感空间行星轨迹是这样画的

    来吧,这篇文章会从零和你一起学习如果画一个3D小球,如何绘制漫天的繁星、如何实现行星轨迹3D图 关键元素 一个旋转的3D球 漫天繁星,会眨眼睛那种哦 旋转的行星轨道 如何画一个3D球 3dball.gif...linear-gradient( 45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100% ); } 通过上面的代码,我们得到的是一个粉粉的圆...球就画好啦」 3dball.gif 再画一副漫天繁星的天空 ❝闭上眼睛回想一下你记忆中夜晚的天空,闪烁的星星是那么的平静,安详,像是一只只明亮的眼睛,又像一盏盏亮晶晶的银灯。..."); const canvasWidth = $body.offsetWidth; const canvasHeight = $body.offsetHeight; // 创建一个带自定义样式的...其实可以看成是一个正面的圆沿着X轴旋转了一定的角度,让其看起来比较有空间感 「第一步:先画出正面的圆」 .earch { transform-style

    1K20

    为什么都2022年了还有人用Java写GUI?

    如何在Java中创建形状 在Java中创建2D几何图形的第一步是向paint()函数提供Graphics参数。在paint(Graphics g)函数中,您可以调用特定2D对象的类。...以下部分描述了程序员如何使用Java绘制常见的几何图形。 如何在Java中画一条线 您可以使用drawLine(int x1,int y1,int x2,int y2)方法创建一条简单的直线。...此方法根据坐标(x,y)绘制具有给定宽度值和高度值的矩形,相对于容器对象: g.drawRect(100, 100, 40, 120); //矩形 上面的方法创建一个普通矩形(带尖边的矩形)。...,将得到以下输出: 如何在Java中绘制圆或曲线 Java中的drawArc(int x,int y,int width,int height,int startAngle,int arcAngle)...您可以使用各种整数值来查看使用drawOval()得到的形状。值得一提的是,如果您希望创建一个圆,宽度值应等于高度。

    2K30

    手把手教你基于Python实现简单绘图

    Graphics 中的主要角色,它可以在屏幕上移动并绘制图形。...常用的绘图命令包括:t.circle(radius):绘制一个圆,指定半径t.dot(size):绘制一个点,指定大小t.polygon(n, side_length):绘制一个正多边形,指定边数和边长控制海龟速度...从画一个小星星说起import turtle# 创建画布和海龟screen = turtle.Screen()t = turtle.Turtle()# 设置海龟的属性t.shape("turtle")t.color...for _ in range(5):开始一个循环,循环次数为 5 次,表示要画一个五角星。t.forward(100):海龟向前移动 100 个单位长度。...t.right(144):海龟右转 144 度,这样海龟的方向就变成了下一个顶点的方向画一个圣诞树import turtle# 创建画布和两只乌龟screen = turtle.Screen()screen.setup

    38710

    Power BI原生矩阵气泡图

    矩阵气泡图,其实就是矩阵(透视表)的升级版。下图显示了虚拟的几家店铺下半年的业绩,气泡大小表示业绩大小,气泡颜色表示业绩达成状态。比起普通矩阵来说,矩阵气泡图信息层次更加丰富。...如何在Power BI中制作?...准备好如下数据,写一个度量值,叫数据: 数据 = SUM('业绩表'[业绩]) 如果是传统矩阵,字段如下设置: 结果如下: 如果要呈现气泡图,需要对该度量值进行包装,包装后的度量值为: 矩阵气泡图...-- 画一个圆,半径最大为40像素,按数据大小变化而变化,颜色设置条件 --> 中即可正常显示。 示例对网格粗细进行了调整,如果读者想要同样的效果,调整值如下: 人靠衣装,矩阵的美可以靠DAX嵌入SVG。

    1.8K20

    中秋特别文章——css实现海上升明月

    效果预览 构思 我想做的就是海面上缓缓的升起一个月亮,天上有着星星,星星要会闪,月亮是从海面升起来的,就这么简单,那下面就一起来实现吧。 首先,我们来确定整体的画面构图,大概是这样子的。...height: 50%; background-image: linear-gradient(#0049b7, #00085f); } 接下来我们就要画月亮也很简单,直接画一个圆就行了...,但是画面还是太单调,我们可以给夜空加一些星星 添加星星的时候,我们给了一个随机的位置,之后又用animation动画给来了个一闪一闪的效果,但如果一起添加的话,所有的星星就会一起闪,效果不好,所以我们添加星星时候给了个定时器...,随机给个1秒以内的延迟,这样闪烁就有间隔了,也更符合常理。...,这里我们设计的是在月亮动画结束后祝福语再出来,所以给动画延时时间加了5秒,由于gif录制时长问题,本来摄像的文字一个一个出来就没有做,直接整体出来。

    24420

    Python生成高级圣诞树-代码案例剖析

    ():创建了一个Turtle对象,命名为circle。 circle.shape('圆'):设置circle的形状为圆。 circle.color('红色'):设置circle的颜色为红色。...left(126):向左旋转126度,为绘制星星的准备。 用for循环绘制五角星: forward(n/5):向前移动五分之一的分支长度。...right(126):向右旋转126度,为绘制树干的准备。 def drawlight()::定义画彩灯的方法。 如果随机数在范围0, 30中,设置彩灯颜色为'tomato',并画一个半径为6的圆。...如果随机数在范围0, 30中,设置彩灯颜色为'orange',并画一个半径为3的圆。 否则,设置颜色为'dark green',表示画空的树枝。...画一个半径为2的圆。 移动回原位置。 t.color("dark red","red"):定义字体颜色为深红色,填充颜色为红色。

    2.3K80

    王者荣耀吕布末日机甲皮肤优化了,我们来用css3给他写一个回城特效

    【代码块版】 由于动画效果是事先写好的,写文章的时候会重写截图一遍,所以重写过程中可能会对于部分代码进行优化,但基本不会有大的差异。...首先我们先来定义星星的样式,画一个小点点,再给她来一个一闪一闪的动画。...创建星星我们就使用简单的 createElement方法去创建一个div,然后给他一个屏幕内的随机定位,这样星星看起来才更加自然。...这里我们还用到了定时器,每一个星星都会给一个2秒内的随机时间,时间到了才会添加,这样做的目的是可以让星星闪烁的动画执行可以有个时间差,要不然所有星星一起闪,就没意思了,星星的数量方面,我用的是屏幕宽度除以...制作方法: 第一步:画一个圆,添加一个黄色的边框 第二步:使用clip-path:polygon属性进行裁剪 clip-path:polygon(0% 25%, 50% 50%, 0% 75%); -

    73820

    C#中使用OpenCvSharp4绘制直线、矩形、圆、文本

    C#中使用OpenCvSharp4绘制直线、矩形、圆、文本 继之前的Python中使用Opencv-python库绘制直线、矩形、圆、文本和VC++中使用OpenCV绘制直线、矩形、圆和文字,将之前的Python...和C++示例代码翻译成C#语言,很简单,还是借用OpenCvSharp4库中的Line、Rectangle、Circle、PutText,值得一提的是https://github.com/opencv/...一、OpenCvSharp4库 OpenCvSharp4库是一个基于.Net封装的OpenCV库,Github源代码地址为:https://github.com/shimat/opencvsharp,里面有关于...Windows下安装OpenCvSharp4库的描述,如下图所示: 二、C#中使用OpenCvSharp4绘制直线、矩形、圆、文本 1、使用VS2022创建一个C# .Net控制台程序,项目命名为OpenCVExample...height: {0}, width: {1}, channels: {2}", height, width, channels); // 在图像左上角原点(0,0)到右下角画一条绿色的直线

    1K00

    微信小程序|实现简单动态画布

    问题描述 大家都玩过游戏,有没有想过游戏中的人物是怎么动起来的?人物是由很多的图形构成的,我们需要画出这些图形然后再赋予时间,就可以让他动起来。那么如何在小程序上让简单的图动起来呢?...首先调用canvas组件,然后再对图形的属性进行设置:位置,线条,形状,颜色,时间等。如果要制作较复杂的图形还需要计算图形的起始和终止位置。下面通过一个圆的例子来介绍画布。...(1)在wxml中调用canvas组件 绑定手指点击事件bindtouchstart="btnclick" ?...图3.2 【注】这是一个静态截屏 结语 如果要画一个复杂的图形需要计算每个图形的坐标。用画布画图最重要的就是就是设置图形的属性。...上面只是简单介绍了一个动态的圆,如果是要画一个动态的游戏人物是很复杂的需要建模,精确计算位置,所以一个光鲜的游戏人物背后是会花费很多心血的。

    1.4K10

    机器学习算法之kd树

    4.2 最近领域的搜索 假设标记为星星的点是 test point, 绿色的点是找到的近似点,在回溯过程中,需要用到一个队列,存储需要回溯的点,在判断其他子节点空间中是否有可能有距离查询点更近的数据点时...为圆心,以 dist=0.141 为半径画一个圆,并不和超平面 y=4 相交,如上图,所以不必跳到结点 (5,4) 的右子空间去搜索,因为右子空间中不可能有更近样本点了。...于是再回溯至 (7,2) ,同理,以 (2.1,3.1) 为圆心,以 dist=0.141 为半径画一个圆并不和超平面 x=7 相交,所以也不用跳到结点 (7,2) 的右子空间去搜索。...为半径画一个圆与超平面 y=4 相交,所以需要跳到 (5,4) 的左子空间去搜索。...是否离 (2,4.5) 更近,计算得到距离为1.5,所以 nearest 更新为(2,3),dist 更新为(1.5) 回溯至 (7,2),同理,以 (2,4.5) 为圆心,以 dist=1.5 为半径画一个圆并不和超平面

    1.3K30

    欧拉公式

    世界上最伟大的十个公式: 欧拉公式、麦克斯韦方程组、牛顿第二定律、勾股定理、薛定谔方程、质能方程、德布罗意方程组、1+1=2、傅立叶变换、圆的周长公式。...欧拉公式的巧妙之处在于,它没有任何多余的内容,将数学中最基本的e、i、π放在了同一个式子中,同时加入了数学也是哲学中最重要的0和1,再以简单的加号相连。...虚数i=√−1 在复平面上画一个单位圆,单位圆上的点可以用三角函数来表示: 复平面上乘法的几何意义 欧拉公式与泰勒公式 欧拉公式:eiθ = cosθ + isinθ 欧拉公式的理解 我们可以把...eiθ看作通过单位圆的圆周运动来描述单位圆上的点,cosθ+isinθ通过复平面的坐标来描述单位圆上的点,是同一个点不同的描述方式,所以有eiθ=cosθ+isinθ。...我们来看看ei=ei×1如何在圆周上完成1弧度的圆周运动的: 2i的几何含义是什么?

    3.3K30

    opencv(4.5.3)-python(四)--绘图

    代码 在上述所有的函数中,你会看到一些常见的参数,如下所示。 • img : 你想绘制形状的图片 • color : 形状的颜色。对于BGR,以一个元组的形式传递,例如。(255,0,0)表示蓝色。...绘制直线 要画一条线,你需要传递线的起点和终点坐标。我们将创建一个黑色的图像,在上面画一条从左上角到右下角的蓝线。...这一次我们将在图像的右上角画一个绿色的矩形。 cv.rectangle(img,(384,0),(510,128),(0,255,0),3) 绘制圆 要画一个圆,你需要它的中心坐标和半径。...我们将在上面画的矩形内画一个圆。 cv.circle(img,(447,63), 63, (0,0,255), -1) cvtutorials.com:画圆语法中的-1表示这个圆表示被填充。...• 字体类型(查看cv.putText()文档以了解支持的字体)。 • 字体比例(指定字体的大小) • 常规的东西,如颜色、厚度、lineType等。

    89520

    VC++中使用OpenCV绘制直线、矩形、圆和文字

    VC++中使用OpenCV绘制直线、矩形、圆和文字 在VC++中使用OpenCV绘制直线、矩形、圆和文字非常简单,分别使用OpenCV中的line、rectangle、circle、putText这四个函数即可...具体可以参考OpenCV官方文档:https://docs.opencv.org/4.x/index.html 下面的代码展示了在VC++中如何使用OpenCV绘制直线、矩形、圆和文字 #include...高度512,宽度512,2^8即256色,3通道,颜色为黑色 int height = img.rows; int width = img.cols; // 在图像左上角原点(0,0)到右下角画一条绿色的直线...rectangle(img, cv::Point(0, 0), cv::Point(250, 350), cv::Scalar(0, 0, 255), 2); // 以(400,50)为中心,绘制半径为30的圆...直到用户按下按键结束 cv::destroyAllWindows(); // 销毁所有窗口 return 0; } Visual Studio运行结果如下图所示: 参考资料 LEARN OPENCV C+

    70600

    代码挑战画 魔法圣诞树

    ---- 二、魔法圣诞树 对于圣诞树,网上各像编程语言像python、css、java、c/c++都有见到过了,那么在绘图方面,还有一位实力强劲的语言,那就C#语言,它的GDI+技术也可以称的上是笑傲江湖...,但网上鲜见C#代码画的圣诞树,所以今天我就使用 C# 代码 来 展示一下 它的实力,挑战画一颗带魔法圣诞树:树会自动成长,树上挂件会不断变换,就像有魔法一样~ ---- 三、效果展示 ---- 四、...实现步骤 画圣诞树 画圣诞树的星星 画树左边线和右边线 画树上的小装饰挂件 画背景图 施魔法:让圣诞树动态生长,树上挂件不断变换 ---- 五、编码实现 画圣诞树 这是画整颗树的“一段”的方法: private...利用GDI+的路径(GraphicsPath)画了一颗小星星 // 画星星 Color[] starColors = new Color[] { Color.Yellow, Color.Cyan, ColorTranslator.FromHtml...,当然要配上圣诞老人的图片,这里也有一个小细节,如何把背景图片模糊化,这样才好突显树的效果,我这里是做了透明度处理: this.backImage = Image.FromFile("backgroud

    1.3K310
    领券