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

Three.js入门案例(下)

关注初识Threejs与小编一起学习成长 在上一篇案例中实现了几何体-球体旋转效果,今天继续丰富这个案例效果,在球体周围添加光圈及旋转模块(图片+文字组成),均匀分布在球体周围,围绕着球体逆时针旋转...知识 1、基础线条材料、线条模型; 2、矩形平面模型; 3、射线拾取; 01 绘制光圈 围绕着球体绘制光圈。...在球体周围绘制可点击模块,我们这里使用默认图片与业务名称合并生成一张新图片,然后通过矩形平面模型、基础网孔材料设置纹理贴图方式。...} 在周期性渲染场景方法中添加: moons.rotation.y += Math.PI / 180 / delay * intc;//球体周围模块旋转 方可围绕球体旋转。...04 写在最后 至此这个案例结束了,在绘制周围模块方案不是很友好,要每个模块生成两种状态图片,大家也可以想想有没有更好解决方案,期待与您交流学习,快去动手实践吧~ 如果你对本文内容有任何建议,

2.6K21

什么是流形?

我们在地球周围空间似乎很平坦。如果环顾四周,看起来就像站在一个平坦二维表面上,这就是为什么最初很容易相信世界是平。所以,在局部,在球体任何一周围区域,看起来像R^2。...因此,在三维空间中,流形M是一个形状,从一个站在其表面的生物角度看,它看起来像一个 "平面"。 在这个流形一个 "邻域",一些映射将一个周围区域变得像一个开放空间。...这种在地球上任意一定义坐标的特点使球体成为流形。 有很多不是流形例子。例如,以一个正方体为例。虽然立方体面在局部像R^2,但在立方体四角有一个问题。...李群背后概念实际是相当简单。李群是描述平滑变换数学对象。例如,一个物体旋转对称群是一个李群,因为旋转一个 "平滑 "变换。所谓平滑,是指可以将一个物体旋转一丁点。...通俗地说,这意味着物体不是 "无限",就像普通开放空间。例如,一个球体是紧凑。另一方面,一条无限线,它本身就是一个流形,不是紧致

13310
您找到你想要的搜索结果了吗?
是的
没有找到

Unity基础教程-物体运动(十一)——滚动(Animated Sphere)

球体向前移动时,它会旋转,一旦完成360度旋转,同样就会再次接触地面。在这段时间里,相对于球原点做了一个圆周运动。因此,移动距离等于这个圆周长,也就是2π乘以球半径。 ?...(滚动和旋转) 这意味着我们需要知道球半径,半径取决于球体大小。让我们为其添加一个配置选项,选项必须为正,默认设置为0.5,与默认球体匹配。 ? ?...给它两个参数,第一个旋转轴,第二个是球旋转。用球局部轴替换重力路线,并用旋转轴替换重力。最后,将调整应用于球旋转并将其返回。 ? 如果对齐速度为正,则在UpdateBall中调用方法。...3.1 陡坡 当我们使用最后一个接触法线导出旋转轴时,球在空中滚动时就像在平坦地面上一样。即使球沿墙壁滑动,也会发生这种情况。 ?...但当不直接接触一个表面时,它旋转没有匹配表面,所以我们可以它以不同速度旋转。 为球空气旋转和游泳旋转添加单独配置选项。最低速度可能为零。

3.1K30

Unity基础教程-物体运动(七)——移动地面(Going for a Ride)

还可以编写自己playable graph并以此方式创建动画。或者我们可以依靠PhysX并对象响应外力和碰撞而移动。...如果选择对象还没有Animator组件,则窗口将显示一个按钮,以便你添加组件并立即为其创建新动画。 ?...下一个问题是我们如何将其纳入球体运动中。实际,当你从正在移动物体移到静止物体(反之亦然)时,需要补偿相对运动突然变化。这很费力,如果变化很大,可能会很困难。如果太大,最终会掉下去。...(忽略了平台旋转) 在旋转连接情况下,我们无法跟踪其位置,因为它不受旋转影响。因此需要追踪被连接物体局部空间中连接位置,因为有效地绕过了物体本地原点。 ?...我们支持所有复杂动画和脚本化运动,也支持在不受控制PhysX对象运动,但这会有一尴尬,就像在现实生活中在不稳定地面上行走一样

2K20

【visionOS】从零开始创建第一个visionOS程序

在身临其境体验中,使用ARKit将你内容与人周围环境整合起来。 在页面链接中探索新交互方式 人们可以通过看着一个元素并轻敲手指来选择它。他们还可以使用特定手势来缩放、拖动、缩放和旋转对象。...当你为visionOS构建应用程序时,SwiftUI是一个很好选择,因为它可以你完全访问visionOS功能。...系统将每个窗口放置在初始位置,并根据与应用程序进一步交互更新该位置。 将3D内容添加到应用程序中 为您visionOS应用程序添加深度和维度,并发现如何将您应用程序内容融入人周围环境。...当指定手势发生在实体时,SwiftUI执行提供闭包。 下面的示例将一个点击手势识别器添加到上一个示例中球体视图中。...在获得用户许可后,您还可以使用ARKit与沉浸式空间将内容整合到他们周围环境中。例如,您可以使用ARKit场景重建来获得家具和附近物体网格,并内容与网格进行交互。

70540

这项新发明登上Nature,会是马斯克最需要太空技术吗?

图|地球周围太空垃圾(来源:NASA) 因此,如何清理太空垃圾已然成为了一个非常迫切、但又十分棘手问题。 近日,美国犹他大学机械工程系 Jake J....研究人员为了测试该项技术,使用了一系列磁铁来移动水箱中塑料筏子铜球(这是模拟微重力下缓慢移动物体最好方法)。磁铁不仅使球体呈方形移动,而且还使球体旋转。...图|模拟微重力下铜球灵巧操作(来源:论文) 虽然这种利用磁流来操控太空中物体想法并不新鲜,但研究人员发现,以协调方式使用多个磁场源可以物体以六度运动,包括旋转它们。...图|六自由度位置和恒定方向控制(黑色线为移动轨迹)(来源:论文补充信息) Abbott 教授表示,“我们想要做是操纵它,不是仅仅把它推下去,而是像在地球那样操纵它。...康德墓碑铭文写道,“有两种东西,对它们思考越是深沉和持久,它们在心灵中唤起惊奇和敬畏就会越来越历久弥新,一个是我们头顶浩瀚灿烂星空,另一个就是我们心中崇高道德法则。”

33810

Cesium中用到图形技术——Horizon Culling

地平线针对球体剔除一个 如Ohlarik所述,出于水平剔除目的,我们可以为静态对象(例如地形图块)计算边界球,边界球是如此紧密以至于它仅仅是一个。...如果点在地平线以下,那么我们可以确保整个图块也在地平线以下。 我们新技术仅限于针对椭球体选出一个,因此我们假设此“遮挡”已被计算出来。 有关如何完成此操作详细信息,请参见后续博客文章。...从摄像机位置到所有地平线向量形成一个无限锥。 球体部分及其周围空间以灰色阴影表示代表地平线以下区域。从摄像机位置看不到阴影区域中任何。...如果值大于从观察者到椭球中心向量平方减一,则目标点在平面后面。不需要开平方或三角函数操作。 圆锥测试 如果目标点在视平面前面,那么目标点绝对不会被球体遮挡,此时工作完成了。...但是,如果它在视平面后方,能否被遮挡是不确定。如果目标点也在,视点与所有地平线连接而形成无限锥体内,则它被遮挡。如果它在那个圆锥体之外,那么它不会被遮挡。那么我们如何通过圆锥测试点呢?

1.8K20

地球是个球体,那宇宙是个啥?

一个是关于其几何形状:对诸如角度和面积之类物体进行精细局部测量。另一个关于他拓扑结构:如何将这些局部片段缝合在一起形成一个总体形状。...就像二维球体是普通三维空间中距离某个中心固定距离所有点集合一样,三维球体(或“三球”)是四维空间中距离某个中心固定距离所有点集合。 在三个球体生活与在平坦空间中生活感觉非常不同。...为了感受一下,想你您是一个生活在二维球体二维人。二维球体是整个宇宙,你无法看到或进入任何周围三维空间。在这个球形宇宙中,光沿着最短路径传播:大圆。对你来说,这些大圆圈感觉像直线。...那是因为从你身上散发出来光会一直围绕球体,直到它回到你身边为止。 这直接延续到三维空间中生活。三个球体每个都有一个相反,如果那里有一个物体,我们会将其视为整个背景,就好像它是天空一样。...双曲几何具有狭窄三角形和呈指数增长圆,感觉不像是适合我们周围空间几何形状。事实,正如我们已经看到那样,到目前为止,大多数宇宙学测量似乎都倾向于一个平坦宇宙。

96630

走进交互设计——感受生活中交互设计

通过时间轴可以进入到不同经度地区。当你靠近陶瓷馆时候,还可以通过客户端了解它历史。 ? 透明触摸屏   通过“透明触摸屏”,控制圆圈和旋转陶瓷,可以了解其背后故事,看细节和分享。 ?...属于整个校庆活动一个分支,其它还有百年清华数字博物馆、成果展和文史展,负责这个交互桌面展示系统设计和实现。...Teamlab 还设计过一个名为Message Pillar灯柱,通过特定手机APP可以看到灯柱周围环绕各种文字。...“resonating spheres”展览,设计了一些巨大发光球体,当有人触碰其中某个球体时候,这个球体感受到触碰,开始变换灯光颜色,并且发出这种颜色特有的音调。...即使球体之间看起来没什么联系,在一个球体发生了变化之后,另外球体仿佛也能“感受”到这种变换,也会随之改变颜色并发声。看起来就像是,球体球体之间,在隔空对话一样

2.7K80

现在做 Web 全景合适吗?

几何球体参数设置 上面其实有两个部分需要讲解一下 球体参数设置里面有三个属性值比较重要, API 格式为: 。...raidus: 设置球体半径,半径越大,视频在 canvas 绘制内容也会被放大,设置值合适就行。...在几何绘制时,通过坐标变换使 X 轴像素朝内,用户看起来不会存在 凸出放大效果。具体代码为: 。 UV 映射 上面只是简单介绍了一下代码,如果仅仅只是为了应用,那么这也就足够了。...但是,如果后面遇到优化问题,不知道更底层或者更细节内容的话,感觉很尴尬。在全景视频中,有两个非常重要: UV 映射 3D 移动 这里,我们主要探索一下 UV 映射细节。...φ 是和 z 轴正方向 ∂ 是和 x 轴正方向 p 是空间距离原点直线距离 计算公式为: 现在,如果应用到 Web 全景,我们可以知道几个已知条件: p:定义球体(SphereBufferGeometry

4.3K80

一文带你了解卷积网络中几何学

指南针为地球“每个”地点指定了一个矢量现象叫作(切线)矢量场。风也可以看作是矢量场,因为它为每一个指定了一个方向。特别把“每个”加上引号,是因为当你站在磁北极或磁南极时,指南针会出错。...事实,在球面的每一个非零连续矢量场上,它都会出错。球体磁场中必须有极地存在。这种现象叫毛球定理,因为跟梳理毛球必然产生漩毛涡情况很像: ?...在二维平面上,它是直截了当,我们可以把一些球内所有东西都放在补丁中心周围。这在某种程度上也适用于完美的球体。但在任意多个面?事情变得棘手。看看这个时髦流形: ?...它不是那么明显,因为它在飞机上。 矩阵乘以输入矢量并产生输出矢量。在这里,作者确定了第一个问题。矩阵仅针对中心定义。但是我们将它应用于附近场矢量,它们有自己奇怪属性。...这也可以配制成具有6级或C6环状基团作为其结构基团。 最后,提到我们地图是重叠。因此,如果我们想要在具有重叠区域移动卷积滤波器,我们基本使用来自不同映射值。我们如何处理这些值?

86610

“几何深度学习”受爱因斯坦启示:AI摆脱平面看到更高维度!

高通和阿姆斯特丹大学提出“规范等变卷积神经网络”成功突破了平面的限制,将CNN视觉能力提升了一个维度,AI站更高,看得更远。戳右边链接上 新智元小程序 了解更多!...但是,如果将卷积神经网络用于没有内置平面几何形状数据集(如3D计算机动画中使用不规则形状模型,或者自动驾驶汽车生成云来绘制周围环境),这种强大机器学习架构效果就要受到影响。...同样,两位摄影师从两个不同有利位置拍摄同一个对象照片会产生不同图像,但是这些图像可以彼此关联。量表等方差可确保物理学家现实模型保持一致,无论他们观测或测量单位如何变化。...Bronstein明白,要想超越欧几里德平面,需要重新构想一种基本计算程序程序首先使神经网络能高效实现2D图像识别。...在曲面上进行卷积(在几何学上称为“流形”),就像在地球拿着一小块半透明方格纸,然后试图准确地追踪格陵兰岛海岸线一样困难。

62440

Unity Mesh基础系列(四)mesh变形(制作一个弹力球)

为了获得平滑变形效果,球体应该包含相当数量顶点。球体网格大小设为20,半径设为1。 ? ?...3 Mesh 调节器输入 我们需要一些手段来控制mesh如何变形,这里就要用到用户输入,也就是交互。不管什么时候用户触碰了物体,都会给这个施加一个力。...而实际除以1加上距离平方。 ? 这可以确保当距离为零时候,力处于全力状态。否则,力就会在距离1地方达到最大强度,并且越靠近,它就会朝无穷远方向飞去。 ? (红色是改良后力衰减) ?...在,我们已经有了一个速度了,但还没有方向。这可以通过规范最开始使用法线向量来得到。然后我们可以把结果加到顶点速度上。 ? 4.2 移动顶点 顶点有速度之后,我们就可以移动它们了。...(不同缩放值,相同物理表现) 现在所有工作都完成了。在任意位置、旋转和均匀比例都能正常展示变形网格。请记住,这是一个简单和相对廉价视觉效果。这并不是一个软体物理模拟。

3.5K30

基础渲染系列(十九)——GPU实例(Instancing)

还有另一种组合绘图调用方法。被称为GPUinstancing 或几何instancing 。与动态批处理一样,此操作在运行时针对可见对象完成。这个想法是GPU一次性渲染同一网格多次。...首先我们来创建一个简单球体prefab,这里先设置为白色材质。 ? (白色球体预置) 要实例化此球体,先创建一个测试组件,组件会多次生成预制件并将其随机放置在球形区域内。...将使用它在半径为50球形范围内创建5000个球实例。 ? (测试对象) 将测试对象放置在原点处,将相机放置在(0,0,-100)处,可以确保看到整个球体。...实际所有5000个球体都在渲染,只是同一批中所有球体都位于同一位置。它们都使用批次中第一个转换矩阵。发生这种情况是因为现在一批中所有球体矩阵都作为数组发送到GPU。...在片段程序开头,使ID全局可用,就像在顶点程序一样。 ?

10.3K30

现在做 Web 全景合适吗?

上面代码中有两块需要注意一下,一个是 相机视野范围值,一个是几何球体相关参数设置。...几何球体参数设置 let geometry = new THREE.SphereBufferGeometry(400, 60, 60); // 在贴图时候,像素朝内(非常重要) geometry.scale...raidus: 设置球体半径,半径越大,视频在 canvas 绘制内容也会被放大,设置值合适就行。...在几何绘制时,通过坐标变换使 X 轴像素朝内,用户看起来不会存在 凸出放大效果。具体代码为: geometry.scale(-1,1,1)。...但是,如果后面遇到优化问题,不知道更底层或者更细节内容的话,感觉很尴尬。在全景视频中,有两个非常重要: UV 映射 3D 移动 这里,我们主要探索一下 UV 映射细节。

2.2K40

3D特征概述(2)

(2)对于输入云中每个Pi(i是迭代索引),收集具有半径rPi周围球体所有相邻。...(4)最后,计算补片主导方向,使其对法线周围旋转不变。...简短概述 (1)对于深度图像RI中每个关键Pi,对Pi周围所有邻居进行采样,并将它们转换为局部坐标系,其中Pi为O. (2)在图像块投射星形图案并计算每个光束下强度变化以获得光束分数。...工作原理: (1)迭代点云P中。 (2)对于输入云中每个Pi(i是迭代索引),收集具有半径rPi周围球体所有相邻。...当采样三个时,可以在迭代中计算另外两个距离。 (4) D2比率:还有另一个直方图,可以捕获位于表面和自由空间中每条线各部分之间比率。

1.5K50

GIS坐标系测绘原理:大地水准面基准面参考椭球体EPSGSRIWKT

大地水准面可以近似成一个规则成椭球体,但并不是完全规则,其形状接近一个扁率极小椭圆绕短轴旋转所形成规则椭球体,这个椭球体称为地球椭球体。 大地基准面是地球表面的第三极逼近。...只要确定了椭球基本参数,则大地坐标系和空间直角坐标系相对确定了,只是两种不同表达而矣,这两个坐标系是一一对应。...坐标系原点如何选址 为什么WGS84选地球质心作原点,而西安80选地表一个作原点?中国选大地原点有什么作用?为什么选在泾阳县永乐镇?既然作为原点,为什么经纬度不是0?...前面提到了,不同地区可能会使用不同参考椭球体,即使是使用相同球体,也可能会为了球体更好地吻合当地大地水准面,而调整椭球体方位,甚至大小。...这就需要使用不同大地测量系统(Geodetic datum)来标识。因此,对于地球一个位置来说,使用不同测量系统,得到坐标是不一样。我们在处理地理数据时,必须先确认数据所用测量系统。

3.6K11

Unity基础教程-物体运动(九)——游泳(Moving through and Floating in Water)

通过检查我们是否处于Water层触发区来做到这一。首先在MovingSphere中添加一个Water Mask,以及一个swimming材质,我们将使用它来显示它在水中。 ? ?...(Water mask 和swimming 材质设置) 然后添加一个InWater属性,属性指示球体是否在水中。...但那也表面球体已经完全浸入水中了,所以,如果射线没有击中任何东西的话,设置submergence 为1。 ?...接下来,创建一个CheckSwimming方法,方法返回我们是否正在游泳,如果是,则将地面接触计数设置为零,并使接触法线等于轴。 ?...(被推离之后变为悬浮状态) 问题存在原因是因为物体一部分仍然接触水。为了解决这个问题,当射线投射无法检查本身是否在水体积之内时,我们必须执行一个额外查询。

1.7K20

GIS三维可视化变得简单-投影坐标系统

,也就是使用基于 X,Y 值坐标系统来描述地球某个所处位置 到了这你可能会问投影坐标系统和之前地理坐标系统是什么关系呢?...,H 到投影坐标 X,Y,Z 映射方式 地图投影实质就是建立地球椭球表面上与地图平面上之间对应关系,将建立在球体地理坐标系下经纬度坐标,通过一种投影方法转为平面上直角坐标 地图投影用途...,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上图形投影到圆柱体,再把圆柱体展开,形成以一幅墨卡托投影世界地图,如下图 由于可显示任两正确方位,航海用途海图、航路图大部分都这种方式绘制...,这种投影中线型比例尺在图中任意一周围都保持不变,从而可以保持大陆轮廓投影后角度和形状不变(即等角),但墨卡托投影会使面积产生变形,极点(也就是南北极地区)比例甚至达到了无穷大 所以它并没完整展现了整个世界...,只不过它并不是切于经线圈,而是为椭圆柱横正轴割地球椭球体(穿地球而过),椭圆柱中心线位于椭球体赤道面上,且通过椭球体质点,从而将椭球体投影到椭圆柱,就像下面这个样子 这种投影是美国陆军工程兵测绘局于

1.1K20

动感光波发射!Unity AR开发之 3d 物体识别小记

识别成功会出现一个半透明长方体。 6 . 最后一步,将软件生成.od文件上传到官网(是通过从手机分享到QQ上传到电脑),然后下载package。...Enable Extended Tracking 当target离开摄像头但是附在target子物体还在时可以继续被跟踪到。看下图明白了: 6 ....但是这个球体离小新距离太远了,如果想要在小新公仔两个手掌上加上两个小球体作为动感光波,必须要把小球定位到小新两个手掌周围,但是我们可以参考只有bounding box。...这个时候,就可以不断调整球体位置和大小直到360旋转情况下都贴合小新手掌,bounding box三个边缘线分别是x\y\z轴,所以有了bounding box显示还是比较容易找。...这是最后在安卓手机摄像头下展示效果,实在不知道会发光动感光波在unity下要怎么实现,原谅是建模渣渣,最后变成了小新手掌出来了两颗会发光球体。 2 .

6.2K21
领券