我是Open Inventor 3D图形API的新手,我只是想在给定的三维坐标之间画一条线。假设第一点是0,0,0,第二点是1,1,1。该API的文档和示例非常糟糕,无法正确显示。我正在使用Visual Studio。如何在Open Inventor 3D图形API中绘制一条线?
0
A
回答
1
假设您只是要求创建线形 - 只需将坐标存储在SoVertexProperty节点中,在SoLineSet节点中设置该节点,然后将该线集添加到场景图中。 Open Inventor会假定您要使用所有给定的坐标,所以您只需要这么做。 对于只有两个坐标,它可能最容易使用set1Value方法,但也可以从数组中设置坐标。你没有说你使用的语言,所以我将展示在C++代码(C#和Java将是除了语言语法的差异基本上是相同的):如果你只需要设置
SoVertexProperty* vprop = new SoVertexProperty();
vprop->vertex.set1Value(0, 0,0,0); // Set first vertex to be 0,0,0
vprop->vertex.set1Value(1, 1,1,1); // Set second vertex to be 1,1,1
SoLineSet* line = new SoLineSet();
line->vertexProperty = vprop;
sceneGraph->addChild(line);
1
基本颜色(Open Inventor的OpenGL调用漫反射颜色),这通常是线几何的情况,那么您可以直接在SoVertexProperty节点中设置它。如果您需要在外观上更多的控制
vprop->orderedRGBA = SbColor(1,0,0).getPackedValue();
:
例如,为了让前面的例子“红色”的路线,加入这一行:
vprop->orderedRGBA = 0xff0000ff; // By default applies to all vertices
,或者更方便在几何节点之前将一个SoMaterial节点添加到场景图形中。
相关问题
- 1. [Excel] [VBA]如何在图形中绘制一条线?
- 2. 使用PHP绘制3D条形图?
- 3. 如何在LibGDX中的两点之间绘制一条线,以3D形式
- 4. 在3D(DirectX)中绘制线条?
- 5. 如何绘制分组条形图顶部的一条线?
- 6. 如何绘制3D曲面并隐藏无形线条?
- 7. 如何在mimchart库iPhone中随着线图绘制条形图?
- 8. 如何在gnuplot中绘制条形图?
- 9. 如何使用Open TK C绘制3D形状#
- 10. matplotlib绘制3D中的多条线
- 11. 试图在openGL中绘制3D线条图
- 12. 在WPF或Winforms中绘制3D图形
- 13. 如何在android中绘制一条线?
- 14. 如何在UICollectionView中绘制一条线?
- 15. 将线图绘制到条形图前
- 16. 如何在Java中绘制交互式图形/线条?
- 17. 如何在条形图上绘制Mathematica中的误差线?
- 18. 如何在图画框中绘制圆形和线条?
- 19. 绘制多边形,但它在中心绘制一条线
- 20. 在Open GL ES 2.0中绘制一条线
- 21. 在WPF中绘制3D线
- 22. 如何平滑地绘制一条线的图形
- 23. 更正C#中的3D线条绘图#
- 24. 如何在Android上绘制条形图
- 25. 使用R在地图顶部绘制3D条形图
- 26. 绘制上述条形图线
- 27. 不能在MATLAB中绘制一个盒形图的线条
- 28. 3D绘制线条,不在查看器中显示3D
- 29. 绘制条形图
- 30. 试图使用Matplotlib在条形图上绘制线条图
非常感谢你:)我使用C++。那么,你知道我该如何改变线条的颜色? – mkocabas