首页
学习
活动
专区
工具
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++循环结构了,就像是掌握了一把魔法魔杖,可以用它来创造更多有趣事情!继续努力,你们将成为真正魔法大师!加油! ---- 小宝探索神奇编程世界!

14930

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.3K61

原来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

95420

为什么都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绘制或曲线 JavadrawArc(int x,int y,int width,int height,int startAngle,int arcAngle)...您可以使用各种整数值来查看使用drawOval()得到形状。值得一提是,如果您希望创建一,宽度值应等于高度。

1.8K30

Power BI原生矩阵气泡图

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

1.6K20

手把手教你基于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

25210

Android 实现角标的ImageView(微博,QQ消息提示)

角标绘制过程:用画笔量出一字符宽度作为角标背景半径(R),然后判断传入字符串总长度 如果只有一位字符:那么就以 R 为半径,画一,然后在写上数字 如果有两位以上字符,就不能单纯用一了...,用画笔测量字符串完整长度( len ),然后在右上角画一,在这个圆心左边 len 长度位置 作为圆心再画一,最后以这个两上下顶点(一共四)构成一矩形,进行填充 源码地址:https...super.onCreate(savedInstanceState); setContentView(R.layout.activity_cornerimage); //设置最后一图片加载进度为...SimpleCornerImageActivity.this, "角标被点击", Toast.LENGTH_SHORT).show(); } }); } 以上这篇Android 实现角标的...ImageView(微博,QQ消息提示)就是小编分享给大家全部内容了,希望能给大家一参考。

1.1K30

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

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

20820

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"):定义字体颜色为深红色,填充颜色为红色。

2K80

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

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

66020

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

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

1.2K10

欧拉公式

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

2.7K30

机器学习算法之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

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等。

86020

【机器学习】常见算法详解第2篇:KNN之kd树介绍(已分享,附代码)

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

20410
领券