镜像自地址
https://github.com/binary-husky/gpt_academic.git
已同步 2025-12-07 23:16:48 +00:00
三维场景生成
这个提交包含在:
@@ -0,0 +1,38 @@
|
||||
from toolbox import update_ui, get_conf, trimmed_format_exc
|
||||
import threading
|
||||
|
||||
def Singleton(cls):
|
||||
_instance = {}
|
||||
|
||||
def _singleton(*args, **kargs):
|
||||
if cls not in _instance:
|
||||
_instance[cls] = cls(*args, **kargs)
|
||||
return _instance[cls]
|
||||
|
||||
return _singleton
|
||||
|
||||
@Singleton
|
||||
class vhmp_interface():
|
||||
def __init__(self) -> None:
|
||||
from VISUALIZE.mcom_rt import mcom
|
||||
self.vis3d = mcom(path='TEMP/v2d_logger/', draw_mode='Threejs')
|
||||
self.vis3d.v2d_init()
|
||||
self.vis3d.设置样式('star')
|
||||
# vis3d.设置样式('star') # 布置星空
|
||||
self.vis3d.其他几何体之旋转缩放和平移('box', 'BoxGeometry(1,1,1)', 0,0,0, 1,1,1, 0,0,0)
|
||||
# declare geo 'oct1', init with OctahedronGeometry, then (1)rotate & (2)scale & (3)translate
|
||||
self.vis3d.其他几何体之旋转缩放和平移('octahedron', 'OctahedronGeometry(1,0)', 0,0,0, 1,1,1, 0,0,0) # 八面体
|
||||
# 需要换成其他几何体,请把'OctahedronGeometry(1,0)'替换,参考网址 https://threejs.org/docs/index.html?q=Geometry
|
||||
self.vis3d.其他几何体之旋转缩放和平移('sphere', 'SphereGeometry(1)', 0,0,0, 1,1,1, 0,0,0) # 球体
|
||||
self.vis3d.其他几何体之旋转缩放和平移('cylinder', 'CylinderGeometry(1,1,5,32)', 0,0,0, 1,1,1, 0,0,0) # 球体
|
||||
|
||||
def update(self, json):
|
||||
for obj in json:
|
||||
self.vis3d.发送几何体(
|
||||
f'{obj["geometry"]}|{obj["name"]}|{obj["color"]}|{obj["size"]}', # 填入 ‘形状|几何体之ID标识|颜色|大小’即可
|
||||
obj["location_x"],
|
||||
obj["location_y"],
|
||||
obj["location_z"],
|
||||
ro_x=0, ro_y=0, ro_z=0, # 三维位置+欧拉旋转变换,六自由度
|
||||
track_n_frame=0) # 显示历史20帧留下的轨迹
|
||||
self.vis3d.结束关键帧()
|
||||
在新工单中引用
屏蔽一个用户