处理中导入 STL 图像后出现颜色和尺寸问题

Colour & Size Issue After STL image Import in Processing

我在Processing中写了一个程序,导入一个STL文件,然后根据需要进行3D旋转。

但是我遇到了一个问题,导入的图片颜色很鲜艳而且尺寸很小。看起来和原来的很不一样。

你能帮我解决这个问题吗? 下面给出编码和图片

import toxi.geom.*;
import toxi.geom.mesh.*;

import toxi.processing.*;

TriangleMesh mesh;
ToxiclibsSupport gfx;

void setup() {
  size(displayWidth, displayHeight,P3D);
  mesh=(TriangleMesh)new STLReader().loadBinary(sketchPath("check.stl"),STLReader.TRIANGLEMESH);
  gfx=new ToxiclibsSupport(this);
}

void draw() {
  background(51);
  translate(width/2,height/2,0);
  rotateX(mouseY*0.01);
  rotateY(mouseX*0.01);

  gfx.mesh(mesh,false);
}

我也和你有同样的困惑,但是在滚动 reference page of Processing.org 之后 我发现了几个可以对 STL 对象产生积极影响的命令。 一些命令是:

  1. 定向光源
  2. 中风

  3. 规模

通过扩展和收缩顶点来增大或减小形状的大小

您的上述问题与这些命令直接相关,因此只需根据您的要求进行编辑即可

import toxi.geom.*;
import toxi.geom.mesh.*;
import toxi.processing.*;

TriangleMesh mesh;
ToxiclibsSupport gfx;

void setup() {
  size(displayHeight, displayWidth,P3D);
  mesh=(TriangleMesh)new STLReader().loadBinary(sketchPath("check.stl"),STLReader.TRIANGLEMESH);
  gfx=new ToxiclibsSupport(this);

}

void draw() {

  background(51);
  translate(width/2,height/2,0);
  rotateX(mouseY*0.01);
  rotateY(mouseX*0.01);
  directionalLight(192, 168, 128,0, -1000, -0.5);
  directionalLight(255, 64, 0, 0.5f, -0.5f, -0.1f);
  noStroke();
scale(3);  
  gfx.mesh(mesh,false);
}

程序后的图像运行