Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Three.js中向顶点添加点

在Three.js中向顶点添加点
EN

Stack Overflow用户
提问于 2016-06-21 08:37:05
回答 1查看 4.5K关注 0票数 4

我有一个线框球体,我想在顶点上加点。与此类似的是:

.:

这是我所有的js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var scene = new THREE.Scene();

var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );

var renderer = new THREE.WebGLRenderer( { alpha: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );

var geometry = new THREE.SphereGeometry( 3.25, 32, 20 );
var material = new THREE.MeshLambertMaterial( { color: 0x43CC4C, wireframe: true } );

var sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );

var pointLight = new THREE.PointLight(0xFFFFFF);
pointLight.position.x = 80;
pointLight.position.y = 80;
pointLight.position.z = 130;
scene.add(pointLight);

camera.position.z = 5;

function render() {
    renderer.render( scene, camera );
}

render();

[代码在这里]

如何在每个顶点上添加一个点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-21 15:19:33

下面是一个例子,说明如何取得类似的结果。

我添加了一个名为IcosahedronGeometry的额外几何学类型,我使用它的顶点来创建点,对于我使用MeshPhongMaterial并将wireframe设置为true的线条。

你可以改变点的大小,或者用形状/纹理来代替它们。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Extra geometry
THREE.IcosahedronGeometry = function(radius, detail) {
  var t = (1 + Math.sqrt(5)) / 2;
  var vertices = [-1, t, 0, 1, t, 0, -1, -t, 0, 1, -t, 0,
    0, -1, t, 0, 1, t, 0, -1, -t, 0, 1, -t,
    t, 0, -1, t, 0, 1, -t, 0, -1, -t, 0, 1
  ];
  var indices = [
    0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11,
    1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8,
    3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9,
    4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1
  ];
  THREE.PolyhedronGeometry.call(this, vertices, indices, radius, detail);
  this.type = 'IcosahedronGeometry';
  this.parameters = {
    radius: radius,
    detail: detail
  };
};

THREE.IcosahedronGeometry.prototype = Object.create(THREE.PolyhedronGeometry.prototype);
THREE.IcosahedronGeometry.prototype.constructor = THREE.IcosahedronGeometry;

// Scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

var renderer = new THREE.WebGLRenderer({
  antialias: 1
});

renderer.setClearColor(0xf7f7f7);
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

scene.fog = new THREE.Fog(0xd4d4d4, 8, 20);

// Create vertex points
var mesh = new THREE.IcosahedronGeometry(10, 1); // radius, detail
var vertices = mesh.vertices;
var positions = new Float32Array(vertices.length * 3);
for (var i = 0, l = vertices.length; i < l; i++) {
  vertices[i].toArray(positions, i * 3);
}

var geometry = new THREE.BufferGeometry();
geometry.addAttribute('position', new THREE.BufferAttribute(positions, 3));

var material = new THREE.PointsMaterial({
  size: 0.4,
  vertexColors: THREE.VertexColors,
  color: 0x252525
});
var points = new THREE.Points(geometry, material);

var object = new THREE.Object3D();

object.add(points);



object.add(new THREE.Mesh(
  mesh,
  new THREE.MeshPhongMaterial({
    color: 0x616161,
    emissive: 0xa1a1a1,
    wireframe: true,
    fog: 1
  })

));

scene.add(object);

camera.position.z = 20;

var render = function() {
  requestAnimationFrame(render);

  object.rotation.x += 0.01;
  object.rotation.y += 0.01;

  renderer.render(scene, camera);
};

render();
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
body {
  margin: 0;
}
canvas {
  width: 100%;
  height: 100%
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/threejs/r76/three.min.js"></script>

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37950024

复制
相关文章
c++禁止隐式转换_无法将int隐式转换为类
那么如何阻止它呢? C++ 标准有一条规定: “Implicit conversions will be performed […] if the parameter type contains no template-parameters that participate in template argument deduction” (ISO/IEC 14882:1998, section 14.8.1.4). 也就是说,既在模板参数列表中,又在函数参数列表中的类型不会隐式转换。也就是:
全栈程序员站长
2022/11/10
1.2K0
将字符串转换为date类型_java字符串转date类型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
14.2K0
无法将类型“System.Collections.Generic.IEnumerable<EmailSystem.Model.TemplateInfo>”隐式转换为“System.Collection
List<Model.Template> templateList = templateBLL.RecommendTemplateByOrder(modelEbay);        List<Model.TemplateInfo> recommandlist = templateList.Select(m => new Model.TemplateInfo                 {                     AccountId = m.AccountID,            
跟着阿笨一起玩NET
2018/09/19
1.6K0
python str转bool方法
def str_to_bool(str): return True if str.lower() == 'true' else False
py3study
2020/01/06
4.6K0
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.4K0
mysql整型转字符串_java中如何将字符串转换为字符数组
select * from A order by cast(name as unsigned);
全栈程序员站长
2022/09/27
23.4K0
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.2K0
Python将字符串转换为列表
We can convert a string to list in Python using split() function.
全栈程序员站长
2022/09/06
6K0
MVC 无法将类型“System.Collections.Generic.List<AnonymousType#1>”隐式转换为“System.Collections.Generic.IList<Mv
1、问题: 2、解决方案:强制指定类型。 解决之。
跟着阿笨一起玩NET
2018/09/19
1.9K0
MVC 无法将类型“System.Collections.Generic.List<AnonymousType#1>”隐式转换为“System.Collections.Generic.IList<Mv
[1154]如何将字符串转换为datetime
1.把datetime转成字符串: 2017-11-23 17:05:18 2.把字符串转成datetime: 2017-11-23 16:10:10 3.把字符串转成时间戳形式: 1511424610.0 4.把时间戳转成字符串形式: 2017-11-23 17:05:18 5.把datetime类型转外时间戳形式: 1511427918.0
周小董
2022/07/27
3.3K0
【春节日更】不能不知的隐式转换
根据转换规则第三点,当运算数一个是对象(数组也属于对象),一个是字符串时,在判断之前会将对象转换成字符串;而[1,2,3]转字符串即为:"1,2,3" ;
用户9914333
2022/07/22
2050
javascript 隐式转换_mysql隐式转换
简单数据类型(也称为原始类型):Undefined、Null、Boolean、Number、String 和 Symbol。ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。 复杂数据类型叫 Object(对象)。Object 是一种无序名值对的集合。
全栈程序员站长
2022/11/07
1.6K0
javascript 隐式转换_mysql隐式转换
JavaSE-将字符串转换为数字
提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。
程序员阿杜
2021/03/15
2.5K0
JavaSE-将字符串转换为数字
JavaSE-将字符串转换为数字
提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。
程序员阿杜
2021/04/07
2.4K0
02JavaScript基础语法部分
判断包装类型不能使用typeof而是使用instanceof 。语法结构变量名/对象名 instanceof 构造函数/数据类型
Dreamy.TZK
2020/04/09
1.7K0
python中string和bool的转
python中字符串“True” 和 “False"转为bool类型时, 不能通过bool(xx)强转。
py3study
2020/01/08
1.6K0
隐式Intent
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(“com.example.shaomiao.testintent.intent.action.TestActivity”); startActivity(intent); } });
tea9
2022/07/15
5310
隐式Intent
json字符串转换为Json对象_前端字符串转json
参考网上的文章,做了一个关于json的总结,进行留存帮助以后阅读,希望可以帮助到大家。
全栈程序员站长
2022/09/28
7.6K0
JS隐式转换_隐式转换是什么
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
1.9K0
Scala 【 14 隐式转换与隐式参数 】
​ Scala 的隐式转换,其实最核心的就是定义隐式转换函数,即 implicit conversion function 。
Lokinli
2023/03/09
8160

相似问题

不能隐式地将'int‘转换为'bool’

56

“不能隐式地将'bool[]‘转换为'object[]'”

30

不能隐式地将'ulong‘转换为'bool’

11

不能隐式地将“void”转换为“bool”

13

公共bool方法不能隐式地将“bool”转换为“`void”

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文