Threejs-创建一个星空和星系(二)-星系

使用Three.js创建星空和星系是一项有趣且富有挑战性的任务。这是一个简单的步骤指南,帮助你在Three.js中创建一个星空和星系的效果。

Threejs-创建一个星空和星系(二)-星系
3D模型在线预览提供多种低代码平台3D模型在线预览解决方案,实现了将多种3D模型格式无缝集成到低代码业务表单中。这意味着用户可以在不离开低代码平台的情况下,直接查看和操作3D模型,极大地提升了数据可视化的效果和用户交互体验。

星系

旋涡状星系大概长这样:

有几条悬臂,悬臂上星星的分布是越往外越稀释,星系中心星星密集,外围稀疏,大概就是这样一个特征。

1、创建由点组成的线

我们可以把悬臂看成是弯曲的线,这条线是由点组成的,调节线上点的分布来实现悬臂上星星的分布特征。这里用到了一些数学函数,来实现这些分布特征。
创建直线:

给点添加贴图

效果:得到了四条点组成的直线,且颜色和点的密集程度随着半径变化。

接下来给线添加弧度,也就是改变每个点的坐标,修改如下:

效果:

接着,让这些点分布在线的四周。给每个点加一个偏移距离,且距离线越远,点越稀疏,用到了一个数学函数,y=x^3,这个函数的曲线就是随着x的增大,y增大的越来越快,可以想象下那个曲线。用到这里就是值小的地方比较密集,大的地方就比较稀疏:

效果:

再加上前面的星空,效果如下:

Threejs-创建一个星空和星系 - 索引

Threejs-创建一个星空和星系(1)-星空

Threejs-创建一个星空和星系(2)-星系

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号