省略名词: 从 Please find the attached 说起

本文从“Please find the attached”开始,探讨了英文写作中名词词组的构造和省略规则。强调正式写作中不应使用缩写,并解释了名词词组由限定词、形容词和名词组成,每个部分都可以适当省略,但必须确保读者能理解省略的内容。通过示例说明了如何在不引起混淆的情况下省略名词,以及如何避免错误地套用文法规则。

省略名词: 从 Please find the attached 说起

在这里插入图片描述
在这里插入图片描述

为什么是attached

首先需要解释的,为什么是叫attached:

When you would like a person to reference a document attached to the email, it would be appropriate to say “Please see the attached document.” Documents are “attached” to emails, not “enclosed.”

DO NOT USE ABBREVIATIONS. Formal writing requires that you do not use abbreviations and contractions, as those are technically informal ways of talking (there are exceptions for things like ASAP, AM, PM, RSVP, etc.). PFA is not used whatsoever in Englis

这个错误信息: ``` TransformControls.js:190 TransformControls: The attached 3D object must be a part of the scene graph. ``` 意味着你尝试将 `TransformControls` 附加到一个 **没有加入场景图(scene graph)的 3D 对象** 上。Three.js 的 `TransformControls` 要求被控制的对象必须是 `scene` 或其子对象层级中的一部分,否则无法正确渲染和操作。 --- ### ✅ 错误原因 当你调用: ```javascript transformControls.attach( someObject ); ``` 如果 `someObject` **没有被添加到场景中**(即未执行 `scene.add(someObject)`),Three.js 就会抛出上述警告或错误。 --- ### ✅ 正确使用方式 确保在调用 `attach()` 之前,对象已经加入到场景中: ```javascript // 创建一个 3D 对象(如 Mesh) const geometry = new THREE.BoxGeometry(); const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); const cube = new THREE.Mesh(geometry, material); // 将对象添加到场景中 scene.add(cube); // 创建 TransformControls const transformControls = new THREE.TransformControls(camera, renderer.domElement); transformControls.attach(cube); // ✅ 正确:cube 已经加入场景图 // 将 transformControls 添加到场景中以便显示 scene.add(transformControls); ``` --- ### 🔍 补充说明 - `TransformControls` 是一个辅助控件,它本身是一个 `Object3D`,需要被加入场景中才能渲染。 - 它通过场景图来确定对象的父子关系和世界矩阵,以便正确显示控制手柄。 - 如果你尝试控制的对象不在场景树中,Three.js 无法确定它的世界变换,因此报错。 --- ### ✅ 常见错误场景 ```javascript const cube = new THREE.Mesh(...); transformControls.attach(cube); // ❌ 错误:cube 还未加入场景 scene.add(cube); ``` --- ### ✅ 修复方法 确保在 `attach()` 之前调用 `scene.add(object)`: ```javascript scene.add(cube); transformControls.attach(cube); ``` --- ### ✅ Vue/Three.js 集成中的常见问题 如果你是在 Vue 或 React 等框架中使用 Three.js,注意对象的创建和添加顺序。例如: ```javascript mounted() { this.initThree(); this.createCube(); // 创建并添加到场景 this.initTransformControls(); // 此时 attach 才不会报错 } ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值