sghr / iGeo

iGeo: Computational Design and 3D Modeling Library for Processing
http://igeo.jp
GNU Lesser General Public License v3.0
146 stars 34 forks source link

When call IG.sweep two lines, the generated surface is invalid #26

Open chatyan opened 3 years ago

chatyan commented 3 years ago

Dear @sghr San, Your library is very good, it's like magic for creating 3D models using Java.

Currently, I am facing a problem (maybe it's my misunderstanding of the usage). I tried to sweep two curves. Everything is OK. But when I sweep two straight lines, which are generated by ICurveGeo sharing the same z-coordinate, I got some error messages like the surface is invalid. I provide the following code, hope you can reproduce it.

`import processing.opengl.; import igeo.;

size(480, 360, IG.GL); IVec[] cptsU = new IVec[5]; cptsU[0] = new IVec(0, 0, 50); cptsU[1] = new IVec(60, 0, 50); cptsU[2] = new IVec(120, 0, 50); cptsU[3] = new IVec(180, 0, 50); cptsU[4] = new IVec(240, 0, 50); ICurveGeo m_curveU = new ICurveGeo(cptsU, 3, false);

IVec[] cptsV = new IVec[5]; cptsV[0] = new IVec(100, 0, 10); cptsV[1] = new IVec(100, 50, 10); cptsV[2] = new IVec(100, 100, 10); cptsV[3] = new IVec(100, 150, 10); cptsV[4] = new IVec(100, 200, 10); ICurveGeo m_curveV = new ICurveGeo(cptsV, 3, false);

IG.sweep(m_curveU, m_curveV); ` In addition, if I misunderstood IG.sweep, can you correct me, or guide me another way to achieve a surface by sweeping two straight lines? Sincerely!