zoukankan      html  css  js  c++  java
  • 用three.js制作一个三角形

     1 <!DOCTYPE html>
     2 <html>
     3 <head lang="en">
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <script src="../js/three.js"></script>
     7 </head>
     8 <body onload="main()">
     9 <script>
    10     function initTHREE(){
    11         width = window.innerWidth;
    12         height = window.innerHeight;
    13         renderer = new THREE.WebGLRenderer({
    14             antialias:true
    15         });
    16         renderer.setSize(width,height);
    17         renderer.setClearColor("white",1.0);
    18         document.body.appendChild(renderer.domElement);
    19     }
    20     function initCamera(){
    21         camera = new THREE.PerspectiveCamera(45,width/height,1,1000);
    22         camera.position.z = 30;
    23 
    24     }
    25     function initScene(){
    26         scene = new THREE.Scene();
    27     }
    28     function initGeometry(){
    29         geometry = new THREE.Geometry();
    30         var material = new THREE.LineBasicMaterial({vertexColors:true});
    31 //        var p1 = new THREE.Vector3(-10,0,0);
    32 //        var p2 = new THREE.Vector3(10,0,0);
    33 //        var p3 = new THREE.Vector3(0,10,0);
    34 //        var color1 = new THREE.Color(0xff0000);
    35 //
    36 //        var color2 = new THREE.Color(0xff0000);
    37 //        var color3 = new THREE.Color(0xff0000);
    38 //        geometry.vertices.push(p1,p2,p3,p1);
    39 //        geometry.colors.push(color1,color2,color3,color1);
    40         /*LineStrip表示绘制线的时候会按照你几何体push进去的点的顺序进行绘制,如上会是p1->p2->p3->p1
    41             其中你的点有多少个,就必须有多少个color值,color值可以为之前定义过的color
    42         */
    43 //        var triangle = new THREE.Line(geometry,material,THREE.LineStrip);
    44         var p1 = new THREE.Vector3(-10,0,0);
    45         var p2 = new THREE.Vector3(10,0,0);
    46         var p3 = new THREE.Vector3(0,10,0);
    47         var color1 = new THREE.Color(0xff0000);
    48         var color2 = new THREE.Color(0xff0000);
    49         var color3 = new THREE.Color(0xff0000);
    50         geometry.vertices.push(p1,p2,p2,p3,p3,p1);
    51         geometry.colors.push(color1,color2,color3,color1,color1,color1);
    52         /*
    53             LinePieces表示每相邻的两个点连成一条线,其中相邻的两个点是由我们自己定义的,如上面的代码
    54             p1->p2   p2->p3  p3->p1
    55             这样,三条线连起来就是一个三角形,注意,颜色要和点相对应
    56          */
    57         var triangle = new THREE.Line(geometry,material,THREE.LinePieces);
    58         scene.add(triangle);
    59     }
    60     function main(){
    61         initTHREE();
    62         initCamera();
    63         initScene();
    64         initGeometry();
    65         //会按照上方我们定义的renderer.setClearColor来清除画布,如果不重复渲染的话,那么这个函数可要可不要
    66          renderer.clear();
    67         renderer.render(scene,camera);
    68     }
    69 </script>
    70 </body>
    71 </html>

     

  • 相关阅读:
    (圆形imageview 类似qq头像)---》(ps:引用第三库APAvatarImageView>
    uiscrollerview循环滚动(参考第三方库:HMBannerView)https://github.com/iunion/autoScrollBanner
    iOS -动态可变参数
    ios-UIPickerView基本使用
    iOS 实现进度条(progress)
    @property (nonatomic, getter = isExpanded) BOOL expanded;
    linker command failed with exit code 1 (use -v to see invocation)
    APICloud界面间跳转
    iOS CGRectGetMaxY/CGRectGetMaxX
    iOS UIView常用的一些方法setNeedsDisplay和setNeedsLayout 区别
  • 原文地址:https://www.cnblogs.com/hzStudy/p/7712627.html
Copyright © 2011-2022 走看看