• 大小: 4.38MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-14
  • 语言: Java
  • 标签: java  

资源简介

JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)

资源截图

代码片段和文件信息

//
//  CLASS
//    AnnotationArrow -  3D arrow used for annotation & diagrams
//
//  DEscriptION
//    This class creates a 3D unlighted line between two 3D coordinates
//    plus a cone-shaped arrow at the line‘s endpoint.  The line‘s width
//    and color can be controlled.  The arrow head‘s width and length
//    can be controlled.
//
//  SEE ALSO
//    AnnotationLine
//    AnnotationAxes
//    AnnotationArrowFan
//    AnnotationArrowGroup
//
//  AUTHOR
//    David R. Nadeau / San Diego Supercomputer Center
//
package Java3Dapplet;
import java.awt.*;
import java.awt.event.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.geometry.*;

class AnnotationArrow
extends AnnotationLine
{
// Parameters
private Color3f arrowColor = new Color3f( 1.0f 1.0f 1.0f );
private float arrowRadius = 0.1f;
private float arrowLength = 0.20f;
private float lineWidth   = 3.0f;
private int   radialDivisions = 8;
private int   sideDivisions   = 1;

// 3D Nodes
private Cone arrowHead = null;
private Appearance arrowAppearance = null;
private TransformGroup arrowTrans = null;
private ColoringAttributes coloringAttributes = null;


//
//  Construct a straight line
//
public AnnotationArrow( float x2 float y2 float z2 )
{
//    origin            to given coordinate
this( 0.0f 0.0f 0.0f x2 y2 z2 );
}

public AnnotationArrow( float x float y float z
float x2 float y2 float z2 )
{
super( x y z x2 y2 z2 );
setLineWidth( lineWidth );

// Compute the length and direction of the line
float deltaX = x2-x;
float deltaY = y2-y;
float deltaZ = z2-z;

float theta = -(float)Math.atan2( deltaZ deltaX );
float phi   =  (float)Math.atan2( deltaY deltaX );
if ( deltaX < 0.0f )
{
phi = (float)Math.PI - phi;
}

// Compute a matrix to rotate a cone to point in the line‘s
// direction then place the cone at the line‘s endpoint.
Matrix4f mat = new Matrix4f( );
Matrix4f mat2 = new Matrix4f( );
mat.setIdentity( );

// Move to the endpoint of the line
mat2.setIdentity( );
mat2.setTranslation( new Vector3f( x2 y2 z2 ) );
mat.mul( mat2 );

// Spin around Y
mat2.setIdentity( );
mat2.rotY( theta );
mat.mul( mat2 );

// Tilt up or down around Z
mat2.setIdentity( );
mat2.rotZ( phi );
mat.mul( mat2 );

// Tilt cone to point right
mat2.setIdentity( );
mat2.rotZ( -1.571f );
mat.mul( mat2 );

arrowTrans = new TransformGroup( );
arrowTrans.setCapability( Group.ALLOW_CHILDREN_WRITE );
Transform3D trans = new Transform3D( mat );
arrowTrans.setTransform( trans );

// Create an appearance
arrowAppearance = new Appearance( );
arrowAppearance.setCapability(
Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE );

getLineColor( arrowColor );
coloringAttributes = new ColoringAttributes( );
coloringAttributes.setColor( arrowColor );
coloringAttribute

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      55346  2013-12-20 10:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\apimage.jpg

     文件      36656  2013-12-20 15:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\blueprint.jpg

     文件       4407  2013-12-20 19:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\brick.jpg

     文件      11164  2013-12-20 16:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\brtsky.jpg

     文件     824698  2013-12-20 17:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\canon.wav

     文件        475  2013-12-20 10:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\classes\Java3Dapplet.BAK

     文件        476  2013-12-20 11:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\classes\Java3Dapplet.html

     文件      74276  2013-12-20 13:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\classes\package cache\Java3Dapplet.dep2

     文件      26052  2013-12-20 10:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\clouds.jpg

     文件      13411  2013-12-20 11:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\earth.jpg

     文件      62755  2013-12-20 09:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\earthmap.jpg

     文件      16662  2013-12-20 13:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\fire.jpg

     文件      21904  2013-12-20 16:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\flooring.jpg

     文件     286896  2013-12-20 11:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\galleon.obj

     文件      22158  2013-12-20 11:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\granite07rev.jpg

     文件      39828  2013-12-20 16:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\grass06.jpg

     文件       5211  2013-12-20 17:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\Java3Dapplet.jpx

     文件       5850  2013-12-20 15:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\Java3Dapplet.jpx.local

     文件       5820  2013-12-20 17:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\Java3Dapplet.jpx.local~

     文件      16911  2013-12-20 14:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\marble10.jpg

     文件       9882  2013-12-20 15:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\moon5.jpg

     文件      36826  2013-12-20 19:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\mud01.jpg

     文件      20108  2013-12-20 15:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\oddclouds.jpg

     文件       6450  2013-12-20 16:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\one.jpg

     文件       6433  2013-12-20 18:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\src\Java3Dapplet\AnnotationArrow.java

     文件       1554  2013-12-20 15:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\src\Java3Dapplet\AnnotationArrowFan.java

     文件       1375  2013-12-20 16:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\src\Java3Dapplet\AnnotationArrowGroup.java

     文件       4688  2013-12-20 19:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\src\Java3Dapplet\AnnotationLine.java

     文件       6329  2013-12-20 17:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\src\Java3Dapplet\Arch.java

     文件       2515  2013-12-20 09:01  JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)\080基于Java3D的网络三维技术的设计与实现\Java3Dapplet\src\Java3Dapplet\CheckboxMenu.java

............此处省略45个文件信息

评论

共有 条评论