three实现三维材质玻璃折射的文字代码
代码语言:html
所属分类:三维
代码描述:three实现三维材质玻璃折射的文字代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Paytone+One&display=swap'> <style> body { margin: 0; user-select: none; } body > canvas { position: fixed; width: 100%; height: 100%; top: 0; left: 0; user-select: none; } </style> </head> <body translate="no"> <script async type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/es-module-shims.1.6.3.js"></script> <script type="importmap"> { "imports": { "three": "//repo.bfw.wiki/bfwrepo/js/module/three/build/168/three.module.js", "three/addons/": "//repo.bfw.wiki/bfwrepo/js/module/three/examples/164/jsm/" } } </script> <script type="module"> import * as THREE from "three"; import { FontLoader } from "three/addons/loaders/FontLoader.js"; import { TextGeometry } from "three/addons/geometries/TextGeometry.js"; import { OrbitControls } from "three/addons/controls/OrbitControls.js"; import { easing } from "//repo.bfw.wiki/bfwrepo/js/module/maath.js"; const vertexShader = `varying vec3 worldNormal; varying vec3 eyeVector; void main() { vec4 worldPos = modelMatrix * vec4(position, 1.0); vec4 mvPosition = viewMatrix * worldPos; gl_Position = projectionMatrix * mvPosition; worldNormal = normalize(modelMatrix * vec4(normal, 0.0)).xyz; eyeVector = normalize(worldPos.xyz - cameraPosition); } `; const fragmentShader = `uniform float uIorR; uniform float uIorY; uniform float uIorG; uniform float uIorC; uniform float uIorB; uniform float uIorP; uniform float uSaturation; uniform float uChromaticAberration; uniform float uRefractPower; uniform float uFresnelPower; uniform float uShininess; uniform float uDiffuseness; uniform vec3 uLight; uniform vec2 winResolution; uniform sampler2D uTexture; varying vec3 worldNormal; varying vec3 eyeVector; vec3 sat(vec3 rgb, float adjustment) { const vec3 W = vec3(0.2125, 0.7154, 0.0721); vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } float fresnel(vec3 eyeVector, vec3 worldNormal, float power) { float fresnelFactor = abs(dot(eyeVector, worldNormal)); float inversefresnelFactor = 1.0 - fresnelFactor; return pow(inversefresnelFactor, power); } float specular(vec3 light, float shininess, float diffuseness) { vec3 normal = worldNormal; vec3 lightVector = normalize(-light); vec3 halfVector = normalize(eyeVector + lightVector); float NdotL = dot(normal, lightVector); float NdotH = dot(normal, halfVector); float kDiffuse = max(0.0, NdotL); float NdotH2 = NdotH * NdotH; float kSpecular = pow(NdotH2, shininess); return kSpecular + kDiffuse * diffuseness; } const int LOOP = 16; void main() { float iorRatioRed = 1.0/uIorR; float iorRatioGreen = 1.0/uIorG; float iorRatioBlue = 1.0/uIorB; vec2 uv = gl_FragCoord.xy / winResolution.xy; vec3 normal = worldNormal; vec3 color = vec3(0.0); for ( int i = 0; i < LOOP; i ++ ) { float slide = float(i) / float(LOOP) * 0.1; vec3 refractVecR = refract(eyeVector, normal,(1.0/uIorR)); vec3 refractVecY = refract(eyeVector, normal, (1.0/uIorY)); vec3 refractVecG = refract(eyeVector, normal, (1.0/uIorG)); vec3 refractVecC = refract(eyeVector, normal, (1.0/uIorC)); vec3 refractVecB = refract(eyeVector, normal, (1.0/uIorB)); vec3 refractVecP = refract(eyeVector, normal, (1.0/uIorP)); float r = texture2D(uTexture, uv + refractVecR.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).x * 0.5; float y = (texture2D(uTexture, uv + refractVecY.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).x * 2.0 + texture2D(uTexture, uv + refractVecY.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).y * 2.0 - texture2D(uTexture, uv + refractVecY.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).z) / 6.0; float g = texture2D(uTexture, uv + refractVecG.xy * (uRefractPower + slide * 2.0) * uChromaticAberration).y * 0.5; float c = (texture2D(uTexture, uv + refractVecC.xy * (uRefractPower + slide * 2.5) * uChromaticAberration).y * 2.0 + texture2D(uTexture, uv + refractVecC.xy * (uRefractPower + slide * 2.5) * uChromaticAberration).z * 2.0 - texture2D(uTexture, uv + refractVecC.xy * (uRefractPower + slide * 2.5) * uChromaticAberration).x) / 6.0; float b = texture2D(uTexture, uv + refractVecB.xy * (uRefractPower + slide * 3.0) * uChromaticAberration).z * 0.5; float p = (texture2D(uTexture, uv + refractVecP.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).z * 2.0 + texture2D(uTexture, uv + refractVecP.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).x * 2.0 - texture2D(uTexture, uv + refractVecP.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).y) / 6.0; float R = r + (2.0*p + 2.0*y - c)/3.0; float G = g + (2.0*y + 2.0*c - p)/3.0; float B = b + (2.0*c + 2.0*p - y)/3.0; color.r += R; color.g += G; color.b += B; color = sat(color, uSaturation); } // Divide by the number of layers to normalize colors (rgb values can be worth up to the value of LOOP) color /= float( LOOP ); // Specular float specularLight = specular(uLight, uShininess, uDiffuseness); color += specularLight; // Fresnel float f = fresnel(eyeVector, normal, uFresnelPower); color.rgb += f * vec3(1.0); gl_FragColor = vec4(color, 1.0); #include <tonemapping_fragment> #include <colorspace_fragment> }`; class App { scene = new THREE.Scene(); renderer = new THREE.WebGLRenderer({ antialias: false }); coords = new THREE.Vector2(0, 0); camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.01, 1000 ); constructor() { this.init(); this.setComponents(); } init() { this.scene.background = 0xff0000; this.renderer.setAnimationLoop(this.animate.bind(this)); this.handleResize(); window.addEventListener("resize", this.handleResize.bind(this), false); document.body.appendChild(this.renderer.domElement); this.camera.position.z = 3; document.body.addEventListener( "mousemove", this.onDocumentMouseMove.bind(this), false ); } onDocumentMouseMove(event) { this.setCoords(event.clientX, event.clientY); } setCoords(x, y) { if (this.timer) clearTimeout(this.timer); this.coords.set( (x / window.innerWidth) * 2 - 1, -(y / window.innerHeight) * 2 + 1 ); this.mouseMoved = true; this.timer = setTimeout(() => { this.mouseMoved = false; }, 100); } setComponents() { this.controls = new OrbitControls(this.camera, this.renderer.domElement); try { this.holder = new THREE.Group(); const geo = new THREE.IcosahedronGeometry(0.5, 8); const mat = new THREE.MeshBasicMaterial({ color: 0xffffff }); const ico = new THREE.Mesh(geo, mat); const w = 1000; for (let i = 0; i < w; i++) { const icot = ico.clone(); icot.position.x = (i % 50) * 2.5 - 100; icot.position.y = Math.round(i / 25) * 2.5 - 50; icot.position.z = -40; icot.layers.set(1); this.holder.add(icot); } this.scene.add(this.holder); } catch (e) { console.log(e); } this.target = new THREE.WebGLRenderTarget( window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, type: THREE.HalfFloatType } ); this.backTarget = new THREE.WebGLRenderTarget( window.innerWidth * window.devicePixelRatio, window.innerHeight * window.devicePixelRatio, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, type: THREE.HalfFloatType } ); const font = new FontLoader().parse(json); const textGeometry = new TextGeometry("Prisme.", { font, size: 0.5, height: 0.1, curveSegments: 12, bevelEnabled: true, bevelSize: 0.02, textAlign: "center", bevelThickness: 0.01, bevelOffset: 0, bevelSegments: 10 }); const material = new THREE.ShaderMaterial({ vertexShader, fragmentShader, uniforms: { uTexture: { value: null }, uIorR: { value: 1.15 }, uIorY: { value: 1.16 }, uIorG: { value: 1.18 }, uIorC: { value: 1.22 }, uIorB: { value: 1.22 }, uIorP: { value: 1.22 }, uRefractPower: { value: 0.2 }, uChromaticAberration: { value: 0.6 }, uSaturation: { value: 1.08 }, uShininess: { value: 40.0 }, uDiffuseness: { value: 0.2 }, uFresnelPower: { value: 8.0 }, uLight: { value: new THREE.Vector3(-1.0, 1.0, 1.0) }, winResolution: { value: new THREE.Vector2(window.innerWidth, window.innerHeight) } } }); textGeometry.computeVertexNormals(); this.text = new THREE.Mesh(textGeometry, material); textGeometry.center(); this.scene.add(this.text); } handleResize() { const { innerWidth: width, innerHeight: height } = window; const { camera, renderer } = this; camera.aspect = width / height; camera.updateProjectionMatrix(); renderer.setSize(width, height); if (this.text) { console.log(this.text); this.text.material.uniforms.winResolution.value.set( window.innerWidth, window.innerHeight ); } } animate(t) { const delta = t - parseFloat(this.pt); this.pt = t; // this damping approach is super interesting it comes from https://codesandbox.io/p/sandbox/4j2q2 easing.damp3( this.text.position, [ this.text.position.x, this.text.position.y, (1.0 - Math.cos(this.coords.x)) * 2.25 ], 0.2, delta / 1000 ); easing.damp3( this.text.rotation, [ this.coords.y * 3.14 * 0.0314 * 0.9, this.coords.x * 3.14 * 0.0314 * 1.4, 0 ], 0.2, delta / 1000 ); // console.log(this.text.rotation) this.holder.rotation.z += 0.001; this.camera.layers.disableAll(); this.camera.layers.enable(1); this.text.visible = false; this.renderer.setRenderTarget(this.backTarget); this.renderer.render(this.scene, this.camera); this.camera.layers.enableAll(); this.text.material.side = THREE.BackSide; this.text.material.uniforms.uTexture.value = this.backTarget.texture; this.text.visible = true; this.renderer.setRenderTarget(this.target); this.renderer.render(this.scene, this.camera); this.camera.layers.disable(1); this.text.material.uniforms.uTexture.value = this.target.texture; this.text.material.side = THREE.FrontSide; this.renderer.setRenderTarget(null); this.renderer.render(this.scene, this.camera); } } const json = { glyphs: { 0: { ha: 1319, x_min: 68, x_max: 1251, o: "m 660 -28 q 224 117 381 -28 q 68 500 68 263 q 224 879 68 735 q 660 1024 381 1024 q 1094 878 938 1024 q 1251 500 1251 733 q 1094 118 1251 264 q 660 -28 938 -28 m 417 500 q 480 315 417 378 q 660 251 543 251 q 839 315 775 251 q 903 500 903 378 q 840 683 903 619 q 660 746 776 746 q 480 683 543 746 q 417 500 417 621 z " }, 1: { ha: 1125, x_min: 82, x_max: 1043, o: "m 82 0 l 82 250 l 399 250 l 399 733 l 150 657 l 82 896 l 432 997 l 725 997 l 725 250 l 1043 250 l 1043 0 l 82 0 z " }, 2: { ha: 1257, x_min: 82, x_max: 1175, o: "m 82 143 q 124 292 82 226 q 232 399 165 358 q 378 471 299 439 q 539 526 458 503 q 686 574 619 550 q 794 629 753 597 q 836 703 836 661 q 798 775 836 751 q 668 799 760 799 q 438 646 438 799 l 97 646 q 156 819 107 744 q 283 936 204 893 q 460 1000 363 979 q 676 1021 558 1021 q 1043 944 911 1021 q 1175 721 1175 868 q 1110 543 1175 617 q 947 431 1044 469 q 751 366 850 393 q 573 311 653 339 q 476 250 493 283 l 1161 250 l 1161 0 l 82 0 l 82 143 z " }, 3: { ha: 1267, x_min: 68, x_max: 1200, o: "m 654 -28 q 228 65 372 -28 q 68 351 85 158 l 394 351 q 458 242 394 276 q 651 208 521 208 q 813 234 763 208 q 864 319 864 260 q 818 399 864 375 q 668 422 772 422 l 582 422 l 582 604 l 660 604 q 804 628 758 606 q 850 703 850 651 q 802 776 850 754 q 644 799 754 799 q 453 763 513 799 q 394 646 394 726 l 82 646 q 671 1021 115 1021 q 1056 947 926 1021 q 1186 729 1186 872 q 1029 514 1186 574 q 1200 288 1200 453 q 654 -28 1200 -28 z " }, 4: { ha: 1344, x_min: 82, x_max: 1263, o: "m 767 0 l 767 158 l 82 158 l 82 393 l 767 997 l 1093 997 l 1093 393 l 1263 393 l 1263 158 l 1093 158 l 1093 0 l 767 0 m 415 393 l 767 393 l 767 715 l 415 393 z " }, 5: { ha: 1231, x_min: 67, x_max: 1164, o: "m 635 -28 q 235 63 392 -28 q 67 331 79 153 l 410 331 q 622 210 436 210 q 821 354 821 210 q 776 453 821 418 q 647 489 732 489 q 535 472 583 489 q 428 413 486 456 l 125 471 l 207 999 l 1083 999 l 1083 760 l 471 760 l 450 610 q 765 674 588 674 q 1059 588 954 674 q 1164 349 1164 503 q 1026 73 1164 174 q 635 -28 889 -28 z " }, 6: { ha: 1288, x_min: 81, x_max: 1210, o: "m 664 -28 q 238 108 394 -28 q 81 478 81 244 q 259 874 81 728 q 740 1021 438 1021 q 1126 990 940 1021 l 1126 754 q 771 782 944 782 q 446 608 515 782 q 765 678 590 678 q 1090 588 971 678 q 1210 344 1210 497 q 1062 73 1210 174 q 664 -28 914 -28 m 425 350 q 484 248 425 286 q 642 210 543 210 q 806 249 744 210 q 867 353 867 288 q 806 452 867 415 q 644 489 746 489 q 485 451 544 489 q 425 350 425 413 z " }, 7: { ha: 1193, x_min: 85, x_max: 1108, o: "m 299 0 q 756 750 299 490 l 85 750 l 85 997 l 1108 997 l 1108 750 q 737 410 849 588 q 625 0 625 232 l 299 0 z " }, 8: { ha: 1349, x_min: 82, x_max: 1265, o: "m 674 -28 q 387 -7 504 -28 q 203 56 269 14 q 110 150 138 97 q 82 274 82 203 q 356 524 82 465 q 165 756 165 586 q 296 952 165 883 q 674 1021 426 1021 q 1051 952 921 1021 q 1181 756 1181 883 q 990 524 1181 585 q 1265 274 1265 467 q 1237 150 1265 203 q 1143 56 1208 97 q 960 -6 1078 15 q 674 -28 842 -28 m 435 297 q 674 183 435 183 q 913 297 913 183 q 674 410 913 410 q 492 382 549 410 q 435 297 435 354 m 524 801 q 501 789 524 801 q 479 732 479 778 q 524 664 479 686 q 674 642 568 642 q 824 664 781 642 q 868 732 868 686 q 824 801 868 778 q 674 824 779 824 q 524 801 568 824 z " }, 9: { ha: 1288, x_min: 78, x_max: 1207, o: "m 624 1021 q 1050 885 893 1021 q 1207 515 1207 749 q 1028 119 1207 265 q 547 -28 850 -28 q 161 3 347 -28 l 161 239 q 517 211 343 211 q 842 385 772 211 q 522 315 697 315 q 197 406 317 315 q 78 649 78 496 q 226 920 78 819 q 624 1021 374 1021 m 421 640 q 481 541 421 578 q 643 504 542 504 q 803 542 743 504 q 863 643 863 581 q 803 745 863 707 q 646 783 744 783 q 482 744 543 783 q 421 640 421 706 z " }, "": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, "²": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, "³": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, µ: { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, "¹": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, º: { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, Ĩ: { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, ĩ: { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, Ĭ: { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, ĭ: { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, "̉": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, "―": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z " }, "‖": { ha: 722, x_min: 135, x_max: 592, o: "m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -.........完整代码请登录后点击上方下载按钮下载查看
网友评论0