首页 > 其他分享 >3D高斯代码解读(1)

3D高斯代码解读(1)

时间:2024-08-26 14:04:52浏览次数:12  
标签:高斯 GaussianModel self Scene 解读 实例 gaussians 3D mean

 

1 Scene和 gaussians 关系

class GaussianModel:
    def __init__(self, mean):
        self.mean = mean

    def set_mean(self, new_mean):
        self.mean = new_mean

class Scene:
    def __init__(self, gaussians: GaussianModel):
        self.gaussians = gaussians

# 外部的 GaussianModel 实例
external_gaussian = GaussianModel(mean=0)

# 创建 Scene 对象时传递外部的 GaussianModel 实例
scene = Scene(gaussians=external_gaussian)

# 在 Scene 内部修改 gaussians
scene.gaussians.set_mean(10)

# 外部查看 GaussianModel 实例的 mean
print(external_gaussian.mean)  # 输出: 10

  

在上面的例子中,external_gaussianscene.gaussians 指向同一个 GaussianModel 实例。因此,scene 内部对 gaussians 的修改会同步影响到外部的 external_gaussian

总结:

  • 实例的共享: 在Python中,类的实例是可变的对象。如果你将一个实例传递给另一个对象(比如Scene类的实例),那么两个对象实际上引用的是同一个实例。因此,对该实例的任何修改都会对所有引用这个实例的对象产生影响。
  • 同步修改: 因为gaussians是一个引用,当你在Scene中修改gaussians,这些修改会在Scene外部的gaussians实例上同步体现出来。

这种行为适用于所有Python的可变对象,包括列表、字典、集合等。如果你想要避免这种修改同步,可以考虑使用不可变对象或在内部创建实例的拷贝。

标签:高斯,GaussianModel,self,Scene,解读,实例,gaussians,3D,mean
From: https://www.cnblogs.com/gooutlook/p/18380882

相关文章

  • 《毁灭全人类》d3dcompiler_47.dll丢失问题的详细排查与恢复步骤
    当您在尝试运行《毁灭全人类》(DestroyAllHumans!)时遇到“d3dcompiler_47.dll丢失”的提示,这意味着您的系统缺少或损坏了一个重要的动态链接库文件。d3dcompiler_47.dll是DirectX的一个组成部分,用于支持3D图形渲染。以下是详细的排查与恢复步骤:排查与恢复步骤1:重新安装Dir......
  • 探索未来音质新境界:音响产品模型3D可视化
    在这个追求极致体验与视觉盛宴的时代,音响产品已不仅仅是声音的传递者,更是科技与艺术的完美融合体。随着3D可视化技术的飞速发展,音响产品的设计与展示正经历着一场前所未有的变革——音响产品模型的3D可视化,正引领我们步入一个前所未有的听觉与视觉双重享受的新纪元。 传统的音......
  • 解读GaussDB(for MySQL)表级恢复,看线程数及分块分行策略如何提升恢复性能?
    本文分享自华为云社区《【华为云MySQL技术专栏】GaussDB(forMySQL)表级恢复中mydumper、myloader的应用与性能优化》,作者:GaussDB数据库。 背景介绍表级时间点恢复技术为“误删表”场景提供了一种快速且精确的恢复方案。通过将指定时间点的数据恢复到临时实例,再把用户所需的......
  • [ARC183D] Keep Perfectly Matched
    MyBlogs[ARC183D]KeepPerfectlyMatched这场不打感觉亏麻了,怎么大家都不会D。首先匹配路径长度之和最大,很典的想到取重心,猜测答案上界\(\sum_idep_i\)可以取到。取完重心之后,希望不断把两个不同的子树里的点进行匹配,直到删空。因为原树本身存在完美匹配,所以找一对不同子......
  • 学霸带你全面解读游戏世界的经济与社会机制
    虚拟经济的脉搏——游戏中的经济与社会结构从虚拟到现实:经济与社会的交织在当今的数字世界中,游戏已经不再仅仅是娱乐工具,它们成了社会实验和经济模型的缩影。从模拟城市到开放世界冒险,游戏中的经济与社会结构不仅仅影响着玩家的虚拟体验,还映射了现实世界中的经济和社会互动。......
  • 高斯消元解线性方程组
    高斯消元解线性方程组输入一个包含n个方程n个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。下图为一个包含m个方程n个未知数的线性方程组示例输入格式第一行包含整数n。接下来n行,每行包含n+1个实数,表示一个方程的n个系数以及等号右侧的常数......
  • AutoGPT开源项目解读
    AutoGPT开源项目解读(qq.com)AutoGPT旨在创建一个自动化的自我改进系统,能够自主执行和学习各种任务项目基本信息首先阅读项目的README.md,下述代理和智能体两个名词可互换项目简介:一个创建和运行智能体的工具,这些智能体可以自动执行各种任务,简化生活。入门指南:该项目由两......
  • 《2038-01-19 11:14:07》解读
    说明:本文设定三个李华,以及多个世代,会进行标注。虽然是作者写的,但是本文解读仅供参考(也就是说,你爱解读啥就解读啥)常用数字:1901-12-1404:45:52距离1970-01-0108:00:00\(-2147483648\)秒2038-01-1911:14:07距离1970-01-0108:00:00\(2147483647\)秒0世代2038年1......
  • 通感算一体化:(二)深度解读通、感、算三者的内含与联系
    一、6G和5G的区别6G的理论速度更快,可以达到“每秒10Tbps(万亿比特)”,比5G快了1000倍;峰值速率从Gbit/s提升到Tbit/s,体验速率从Mbps提升到Gbit/s,空口时延从毫秒级提升到亚毫秒级,定位精度从m级提升到cm级,网络容量提升到5G的1,000倍,连接密度从1个/平方米提升到10~100个/平方......
  • 3D 高斯第二个版本安装
     基本和第一个一样的流程cuda环境安装教程https://www.cnblogs.com/gooutlook/p/17677113.html  工程环境安装指令#官网https://github.com/graphdeco-inria/reduced-3dgs#=============1从文件创建环境============容易在submodules安装时候报错卡死condae......