让ai写了一段夜空的代码,很轻易且完美的实现了,没有用默认的python,是因为h5不挑环境,有浏览器就能运行,只是简单演示的话,会显得更加友好。
但是这里要说的并不是这个夜空,虽然ai干不了太精细太复杂的重活,但如果只是如此的话,也显得太过于浅薄了,完全不能体现出它的笨事(划掉,是本事)。
所以我要求它写一段星空,不仅要求星星会闪烁,甚至偶尔还要有流星划过夜空,想想都很浪漫咧,本来没报什么希望,没想到!它真的!做到了!
其间只出现了两个小bug,一是没有设置背景色,导致页面上啥也没看不到,这个只要背景设成黑色就行了。二是流星头尾颠倒,看起来就像是宇宙范围内的大规模时空倒流(当然这不是我们想要的笑果……)
总的来说,良品率相当高!
下面直接上代码!使用方法:直接复制粘贴到文本编辑器中,然后另存为后缀为.html的文件,比如(星空.html),点击即可运行!
ps.注意,windows电脑可能会默认不显示扩展名,这时候你需要让扩展名显示出来,然后再设扩展名。否则你的真实文件名很有可能是这样的:星空.html.txt。
#ai聊天##chat?GPT##chatgpt到底有多牛#
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>当连绵的流星划过天际,那是山宗对你的无尽思念</title>
<style>
/* 隐藏滚动条 */
body {
margin: 0px;
overflow: hidden;
background-color:black;
}
</style>
</head>
<body>
<canvas id="myCanvas"></canvas>
<script>
// 定义变量
let canvas, context, screenW, screenH, stars=[], meteors=[];
// 定义常量
const FPS=50, numStars=2000;
window.onload=function () {
// 获取canvas
canvas=document.getElementById('myCanvas');
// 设置画布大小
screenW=canvas.width=window.innerWidth;
screenH=canvas.height=window.innerHeight;
// 获取canvas执行上下文
context=canvas.getContext('2d');
// 组件应用层
// 创建星星
for (let i=0; i < numStars; i++) {
stars.push({
x: Math.random() * screenW,
y: Math.random() * screenH,
radius: Math.random(),
alpha: Math.random(),
twinkleSpeed: Math.random() * 0.03 + 0.02
});
}
// 创建流星
setInterval(()=> {
let speed=Math.random() * 5 + 5;
meteors.push({
x: -100, // 起始x坐标
y: Math.random() * screenH, // 起始y坐标随机
length: Math.random() * 80 + 60, // 流星长度随机(60-140)
angle: Math.PI / 30 * Math.random() - Math.PI / 6, // 角度随机
speed: speed // 速度随机(5-10)
});
}, Math.random() * 500 + 600);
// 启动计时器
setInterval(update, 1000 / FPS);
}
// 更新
function update() {
// 清除画布
context.clearRect(0, 0, screenW, screenH);
// 画星星
for (let i=0; i < stars.length; i++) {
drawStar(stars[i]);
twinkle(stars[i]);
}
// 画流星
for (let i=0; i < meteors.length; i++) {
moveMeteor(meteors[i]);
drawMeteor(meteors[i]);
}
}
// 画星星
function drawStar(star) {
context.beginPath();
context.arc(star.x, star.y, star.radius, 0, 2 * Math.PI);
context.fillStyle=`rgba(255, 255, 255, ${star.alpha})`;
context.fill();
}
// 星星闪烁
function twinkle(star) {
star.alpha +=star.twinkleSpeed;
if (star.alpha <=0 || star.alpha >=1) {
star.twinkleSpeed *=-1;
}
}
// 移动流星
function moveMeteor(meteor) {
meteor.x +=Math.cos(meteor.angle) * meteor.speed;
meteor.y +=Math.sin(meteor.angle) * meteor.speed;
}
// 画流星
function drawMeteor(meteor) {
// 渐变色
let gradient=context.createLinearGradient(meteor.x, meteor.y, meteor.x + Math.cos(meteor.angle) * meteor.length, meteor.y + Math.sin(meteor.angle) * meteor.length);
gradient.addColorStop(1, 'rgba(255, 255, 255, 1)');
gradient.addColorStop(0, 'rgba(255, 255, 255, 0)');
context.beginPath();
// 线性渐变填充
context.strokeStyle=gradient;
context.lineCap='round';
context.lineWidth=2;
context.moveTo(meteor.x, meteor.y); // 开始坐标
context.lineTo(meteor.x + Math.cos(meteor.angle) * meteor.length, meteor.y + Math.sin(meteor.angle) * meteor.length); // 结束坐标
context.stroke();
}
</script>
</body>
</html>
为了保持小小的神秘感,就不放截图了,大家自己运行康康哟!
将熄灭永不能再回来。
Miguel Claro / TWAN / Dark Sky Alqueva / APOD
以每秒60千米的速度冲入地球大气层的后果是什么?这颗以灿烂银河为背景,毅然前行的流星知道答案。
2021年8月12日,摄影师Miguel Claro在葡萄牙的夜空中捕捉到了这颗隶属于英仙座流星雨的流星。这颗拥有彩色尾迹的流星,自右向左穿越了整个画面。
流星轨迹的起点在北半球夏季大三角中的天鹅座主星——天津四附近,终点在天鹰座主星——河鼓二(牛郎星)附近。流星在极短的时间内,以超越这两颗亮星的亮度划过了天空。
流星尾迹起始端是绿色的,这是英仙座流星的典型特征。英仙座流星是斯威芙特-塔特尔彗星的碎屑。由于这颗彗星的飞行速度相对于地球很快,所以所有英仙座流星冲入地球大气时,飞行速度都快得足以使流星体中的氧原子被激发,并在距离地面大约100千米的高空发出标志性的绿光。
流星在发出短暂的闪光后便被汽化,永远消失在夜空中。只有极少数体积很大的才会有未烧尽的残骸落到地面,成为陨石。
参考
Bright Meteor, Starry Sky
https://apod.nasa.gov/apod/ap210819.html
998年11月17日,意大利天文摄影师洛伦佐?洛瓦托(Lorenzo Lovato)拍摄的狮子座流星雨中四颗明亮的流星。
2020年8月12日晚,小编用长焦抓到的一颗流星,恰好位于画面正中央,像是夜空中的一把光剑。
流星:流星(Meteors),也被称作“shooting stars”。来自外层空间的尘埃颗粒闯入地球大气层与大气摩擦产生大量热,从而使尘埃颗粒气化,在该过程中产生的光迹划过长空。我们将大气层中的这种光现象称为“流星”(meteor),并将这种尘埃颗粒称为“流星体”(meteoroid)。
?大小:狮子座流星雨中大部分可见流星的体直径在1毫米到1厘米之间。在狮子座流星雨中,产生5等亮度流星(在黑暗的天空中用肉眼几乎看不到)的流星体直径约0.5毫米,质量仅有0.06毫克。
?速度:一个微小的流星体就足以产生可以在数百公里距离外也能看到的亮光,其原因在于流星体的高速度。在进入地球大气层时,狮子座流星雨中流星体的速度可高达每秒71公里,是棒球快投速度的2663倍。换句话来说,流星体在该速度下能够在3.8分钟内绕地球旋转一周!
?发光缘由:当流星体闯入地球大气层时,与大气中的大量分子相碰撞,颗粒外层被撞离母体。在碰撞过程中,一些空气分子发生电离。
当被离解的电子再次被原子俘获时便会产生发光现象。这与气体放电灯中的过程相同。
?流星的颜色:许多流星的颜色是由流星体的金属原子发出的光(蓝色,绿色和黄色)以及大气中的原子和分子发出的光(红色)引起的。大部分的狮子座流星颜色像钠灯燃烧时的色彩。一个流星的颜色是流星体的化学成分及反应温度的体现:钠原子发出橘黄色光,铁是黄色,镁是蓝绿色,钙为紫色,氮氧则是红色。
?声音:流星通常不会发出可以听见的声音。因此,如果没有被人看到的话,它就会悄无声息地一扫而过。但是对于那些非常亮的流星,可以注意它们发出的嘶嘶声。这些声音被认为是由于极低频(VLF)无线电波与局部环境相互作用所致。对于非常明亮的狮子座流星(被称为火流星,fireballs),有时会听到音爆。如果流星体的直径大于大气分子的平均自由程,则在流星体前边会产生大量的激波。偶然情况下,这些激波会深入到大气底层从而被我们听到。这种冲击波很少会渗透到大气中而被听到。
即使足以被我们听到,听起来也像远处发出的隆隆声。
左图显示了流星划过天空后,其轨迹上留下的明亮余辉。该图截取自彼得?詹尼斯肯斯(Peter Jenniskens)拍摄的UT火球视频(04:00:29)。右图显示了流星消失几分钟后,天文台穹顶上方天空中的久现流星余迹,该图由西班牙马洛卡天文台的乌玛团队拍摄。
?流星尾(Wake):流星头后面的短暂辉光。流星尾主要由中性氧原子的绿光引起。流星尾持续1至10秒。有时,“流星尾”一词也用于描述流星头正后方的区域。
?流星余辉(Afterglow)是火流星轨迹上金属原子(Na,Fe,Mg)发出的辉光。余辉仅持续几秒钟。
?久现流星余迹是火流星消失后,有时会在其穿过的路径上留下的云雾状的长带。在4到5等亮度流星体的情况下,久现流星余迹可以持续1-30分钟(通常为4-6分钟)。这些亮光来自金属原子的化学反应。久现流星余迹的持续时间足以对流星轨迹进行望远镜观测研究。高空风使久现流星余迹的形状变形。
哈雷彗星(周期彗星表编号:1P/Halley)彗核水汽和尘埃喷发。
流星从何而来:流星雨是由彗星的碎片引起的。
?流星体如何离开母彗星是一个亟待研究的问题。当彗星接近太阳时,冰蒸发,灰尘颗粒如喷泉般被喷出母体而进入彗星轨道。
?彗核是彗星中心的固体部分,由冰和尘埃(主要是尘埃)组成。图3是哈雷彗星(周期彗星表编号:1P/Halley)的彗核,由乔托号探测器(Giotto Satellite)拍摄于1986年。哈雷彗星的彗核比坦普尔-塔特尔(55p/tempel-tuttle)彗星大2-3倍。
?坦普尔-塔特尔(55p/tempel-tuttle)彗星是狮子座流星雨的母彗星。轨道如图4所示。
Yeomans等人于1996年绘制的坦普尔-塔特尔(55p/tempel-tuttle)彗星轨道。图中显示的是1998年2月28日,这颗彗星最近一次经过太阳时的行星位置。坦普尔-塔特尔彗星沿椭圆轨道每33.3年环绕太阳一周。右图展示了莫德拉天文台经4小时曝光拍摄的全天视野下的1998年11月17日狮子座流星雨大爆发。
彗星的经典图片,显示了尘埃彗尾和气体彗尾(有时也称离子彗尾)。
流星雨(METEOR SHOWER):一年中某些天的流星数量比平时要多,有许多的流星从天空中同一个辐射点发射出来,并且起源于同一颗彗星。狮子座流星雨就是如此。
流星体带(METEOROID STREAM):是彗星轨上中的尘埃云。当地球进入流星体带时,进入大气层的尘埃颗粒被大气加热,发出明亮的光。从地球上看,是短时间内无数尘埃颗粒以极高的速度划过天空下落,从而导致流星雨。
?辐射点(Radiant):流星雨中的所有流星仿佛是从天空同一处散开的,这个点就称为辐射点。狮子座流星雨的辐射点位于狮子座。辐射点是一种透视效果。流星从观测者的前后左右扫过天空,然而它们的反向延长线交汇一处,即辐射点。
?尘埃彗尾沿着彗星轨道方向分布。
?尘埃彗尾是由微小的尘埃颗粒(颗粒直径小于0.1毫米)组成,常称作“彗星尘”,能够散射太阳光。彗星尘不仅受太阳的引力作用(受彗核的引力极微小),而且还受太阳辐射压力的推斥作用。
?离子彗尾主要由气体离子组成,在太阳风的作用下,彗发的一些气体转变成离子,它不但受到太阳引力及辐射压力的作用而背向太阳运动,同时还受太阳风及其磁场的影响,所以相较于尘埃尾,离子尾更长,更直。此外,由于太阳风及其磁场的变化,离子尾可能会出现扭曲变形等现象。
?不同尘埃彗尾中的尘粒大小不同,受到太阳辐射压力的大小也不同,所以离开彗核的时间也不同。大颗粒仍保留在母彗星的周围形成尘埃彗发;小颗粒被太阳的辐射压力吹散,形成彗尾。剩余物质继续留在彗星轨道附近。然而即便是微小的喷发速度,也会引起微粒公转周期的大不同。因此,在下次彗星回归时,小微粒将滞后母体,而大颗粒将超前于母体。当地球穿过尘埃尾时,我们就有机会看到流星雨。
?当地球越过这种尘埃尾时,会产生“流星暴”(Meteor storm)。正式来说,流星风暴的速度必须高达每小时超过1000颗流星,或每秒1颗流星。
?狮子座流星雨平常年份流星数目并不多,只是每隔33年才有一次程度不等、规模较大的流星暴出现。狮子座流星雨在每年的11月13日至20日左右出现,极大期出现在11月17日。
参考:
https://leonid.arc.nasa.gov/meteor.html
*请认真填写需求信息,我们会在24小时内与您取得联系。