J3d终于调试成功了,感觉java在UI设计方面,还是很复杂

Java 3d 三维图形库使用 Java 3D三维图形库简单使用。 阅读详情

 鼓捣了半天,终于成功了,j3d是sun的官方扩充包,主要用于3d显示,调用的是本地库,所以速度算不上慢,但是编写起来也是有一定的复杂度的,如果有一个好一点的框架就好了,只能给爱好者玩玩了,java做企业web还是更靠点谱,不过我对企业什么的很没兴趣,而且还发现了一个IBM的IFRAME包,不是html里的<iframe></iframe>里的标签的意思,是一个基于swing的UI框架,可以设计出比较复杂的UI,效果还不错,透明框架什么的,还有不规则框架都可以做,不过也相当难写,这是我的亲身体会,额!

重新购买了域名和空间,希望别再和谐我的博客了,我一个悲剧程序员容易吗我,我真的什么也不知道,什么也不知道阿!

 

Code:
  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. import javax.swing.*;  
  4. import javax.media.j3d.*;  
  5. import javax.vecmath.*;  
  6. import com.sun.j3d.utils.universe.*;  
  7. import com.sun.j3d.utils.geometry.*;  
  8.   
  9. public class Titles {  
  10.   
  11.     public static void main(String[] args) {  
  12.         Titles t = new Titles();  
  13.         t.setUp();  
  14.     }  
  15.   
  16.     public void setUp() {  
  17.         JFrame jf = new JFrame("Welcome");  
  18.         // kill the window on close  
  19.         jf.addWindowListener(new WindowAdapter() {  
  20.             public void windowClosing(WindowEvent winEvent) {  
  21.                 System.exit(0);  
  22.             }  
  23.         });  
  24.         JPanel panel = new JPanel();  
  25.         panel.setLayout(new GridLayout(1, 1, 2, 2));  
  26.   
  27.         GraphicsConfiguration config = SimpleUniverse  
  28.                 .getPreferredConfiguration();  
  29.         Canvas3D canvas3D = new Canvas3D(config);  
  30.         canvas3D.setSize(360, 160);  
  31.         SimpleUniverse universe = new SimpleUniverse(canvas3D);  
  32.         BranchGroup group = new BranchGroup();  
  33.         addObjects(group);  
  34.         addLights(group);  
  35.         universe.getViewingPlatform().setNominalViewingTransform();  
  36.         universe.addBranchGraph(group);  
  37.         panel.add(canvas3D);  
  38.         jf.getContentPane().add(panel, BorderLayout.CENTER);  
  39.         jf.pack();  
  40.         jf.setVisible(true);  
  41.     }  
  42.   
  43.     public void addLights(BranchGroup group) {  
  44.         BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0),  
  45.                 1000.0);  
  46.   
  47.         Color3f light1Color = new Color3f(1.0f, 1.0f, 1.0f);  
  48.         Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);  
  49.         DirectionalLight light1 = new DirectionalLight(light1Color,  
  50.                 light1Direction);  
  51.         light1.setInfluencingBounds(bounds);  
  52.         group.addChild(light1);  
  53.   
  54.         // Set up the ambient light  
  55.         Color3f ambientColor = new Color3f(.1f, .1f, .1f);  
  56.         AmbientLight ambientLightNode = new AmbientLight(ambientColor);  
  57.         ambientLightNode.setInfluencingBounds(bounds);  
  58.         group.addChild(ambientLightNode);  
  59.     }  
  60.   
  61.     private void addObjects(BranchGroup group) {  
  62.         Font3D f3d = new Font3D(new Font("TestFont", Font.PLAIN, 2),  
  63.                 new FontExtrusion());  
  64.         Text3D text = new Text3D(f3d, new String("Java3D.org"), new Point3f(-3.5f,  
  65.                 -.5f, -4.5f));  
  66.            
  67.         text.setString("Java3D.org");  
  68.         Color3f white = new Color3f(1.0f, 1.0f, 1.0f);  
  69.         Color3f blue = new Color3f(.2f, 0.2f, 0.6f);  
  70.         Appearance a = new Appearance();  
  71.         Material m = new Material(blue, blue, blue, white, 80.0f);  
  72.         m.setLightingEnable(true);  
  73.         a.setMaterial(m);  
  74.   
  75.         Shape3D sh = new Shape3D();  
  76.         sh.setGeometry(text);  
  77.         sh.setAppearance(a);  
  78.         TransformGroup tg = new TransformGroup();  
  79.         Transform3D t3d = new Transform3D();  
  80.         Transform3D tDown = new Transform3D();  
  81.         Transform3D rot = new Transform3D();  
  82.         Vector3f v3f = new Vector3f(-1.6f, -1.35f, -6.5f);  
  83.         t3d.setTranslation(v3f);  
  84.         rot.rotX(Math.PI / 5);  
  85.         t3d.mul(rot);  
  86.         v3f = new Vector3f(0, -1.4f, 0f);  
  87.         tDown.setTranslation(v3f);  
  88.         t3d.mul(tDown);  
  89.         tg.setTransform(t3d);  
  90.         tg.addChild(sh);  
  91.         group.addChild(tg);  
  92.           
  93.     }  
  94. }  

 

Urho3D移动端开发实战:从环境搭建到性能优化的完整指南 游戏引擎作为游戏与应用开发的核心框架,其底层原理基于对图形渲染、物理模拟、资源管理等模块的高效整合。通过模块化设计与原生代码执行,引擎能够实现对硬件资源的精细控制,从而在性能与包体大小间取得平衡,这一特性在资源受限的移动平台上尤为关键。其技术价值在于为开发者提供了从底层硬件交互到高层游戏逻辑的完整工具链,使得开发高性能的3D应用、AR原型或图形密集型工具成为可能。本文聚焦于Urho3D这一轻量级C++引擎,深入探讨其在Android与iOS平台上的环境配置、核心模块适配及性能优化策略,为移动端开发提供一套可 阅读详情

相关推荐

RT-Thread Radio开发套件深度解析:从硬件选型到内核调试

实时操作系统(RTOS)是嵌入式系统的核心软件平台,它通过任务调度、内存管理和进程间通信等机制,为资源受限的微控制器提供多任务并发执行能力。其技术价值在于能够高效管理硬件资源,确保关键任务的实时响应,从而广泛应用于物联网设备、工业控制和消费电子等领域。本文以RT-Thread Radio网络播放器开发套件为具体案例,深入剖析了其基于STM32F103的硬件架构设计,包括网络、音频、存储等关键外设的协同原理。同时,重点探讨了如何利用RT-Thread内置的Finsh Shell工具进行动态系统状态诊断和实时调

weixin_30947043的博客 403

【亲测免费】 探索 J3D: 一个强大且灵活的三维图形库

是一个功能丰富的 JavaScript 库,用于创建高质量、交互式的三维图形。借助其强大的 API 和易于使用的特性,无论是初学者还是有经验的开发者都能快速上手并实现自己的创意。 ## 什么是 J3D? J3D 是一个基于 WebGL 的开源 JavaScript 库,旨在简化开发过程并提高性能,帮助您轻松创建令人惊叹的三维场景。它支持各种对象类型、光照模型、纹理贴图以及粒子系统等特性,让您的

gitblog_00025的博客 733

GUI设计哲学与技术实践:从效率博弈到现代开发全解析

图形用户界面(GUI)作为人机交互的核心技术,其设计哲学在于通过视觉化封装降低认知负荷,提升操作效率。从经典的MVC架构到现代的声明式编程,GUI开发始终遵循着将系统实现模型与用户心智模型对齐的原则。在技术实现层面,Qt、Electron、Tauri等框架为不同场景提供了跨平台解决方案,而LVGL等嵌入式库则满足了资源受限环境的需求。通过合理的数据绑定、状态管理和插件化架构,GUI能够有效管理复杂应用状态并支持功能扩展。在实际开发中,性能优化、自动化测试和持续集成构成了工程实践的关键闭环,确保软件在提供直观

weixin_30814329的博客 473

Idea新建项目配置Java3D 环境配置

安装包的下载:1.可以去官网:JDK下载,进入官网页面,然后点击Download Java。2.搜博客,可能会内含安装包链接。​2.在这个界面可以选择我们要安装的版本​4. 双击后面蓝色字体即可下载;这时,会弹出一个页面​5. 接下来会跳转到登录页面,有账号可以直接登录,没有的话可以先注册 ,有就正常下载。6.下载好了安装包后,双击进入安装向导7.系统默认路径在C盘,点击这里选择更改安装路径,建议不用改,以后好找。8.然后点击下一步,直到安装成功。

qq_63976098的博客 1273

MPC5200与mobileGT平台:汽车电子经典架构的设计哲学与实战解析

在嵌入式系统与汽车电子领域,硬件平台选型与软件架构设计是决定项目成败的核心。其原理在于通过高度集成的SoC(系统级芯片)与成熟的软件栈,在严苛环境下实现稳定、实时的多任务处理。这种技术方案的价值在于能够显著降低系统复杂度、加速产品从原型到量产的进程,并确保长期可靠性。典型的应用场景包括车载信息娱乐系统、智能座舱以及需要集成导航、通信与预警功能的域控制器。本文以经典的MPC5200处理器及其mobileGT生态为例,深入剖析其“All-in-One”的集成设计、革命性的BestComm DMA控制器以及分层解

weixin_34239592的博客 409

Java实现RFID数据传输校验:奇偶、CRC与海明码可视化系统

在数字通信和嵌入式系统中,数据传输的完整性是保障系统可靠性的基石。其核心原理是通过在原始数据中添加冗余信息(监督码),在接收端进行校验,以检测或纠正传输过程中因干扰产生的比特错误。这项技术对于构建鲁棒的通信链路具有重要价值,尤其在RFID、物联网等易受环境干扰的无线应用场景中至关重要。常见的实现方式包括计算简单的奇偶校验位、使用生成多项式进行模2除法的循环冗余校验,以及能够定位并纠正单比特错误的海明码。本文通过一个Java可视化项目,详细解析了这三种经典校验算法的工程实现,并利用Swing界面动态模拟了错误

weixin_34326429的博客 411

java 3d

<!-- var rand = Math.random().toString(); var ordval = rand.substring(2,rand.length); document.write();document.write();document.write(); //-->

Fly my dream! 3056

Java动画编程实战:从原理到实现弹性碰撞小球系统

在图形用户界面(GUI)开发中,动画是实现动态交互效果的核心技术,其本质是通过连续更新图形状态并重绘界面来模拟运动。从原理层面看,动画的实现依赖于线程控制、时间管理和重绘触发三大支柱,其中基于时间的动画计算是保证跨设备表现一致性的关键。在Java生态中,Swing/AWT框架通过事件分发线程(EDT)与双缓冲机制,为构建流畅动画提供了基础支持。这项技术的工程价值在于能够将静态程序转变为具备生动视觉反馈的交互式应用,广泛应用于游戏开发、数据可视化、工业仿真和教育软件等领域。本文以实战为导向,通过构建一个弹性碰

aibiba0894的博客 386

C++与OpenGL实战:从零构建3D台球游戏的图形学与物理引擎

计算机图形学是构建虚拟3D世界的核心技术,其核心原理在于通过一系列坐标变换与光照计算,将几何数据渲染为屏幕上的逼真图像。OpenGL作为跨平台的底层图形API,为开发者提供了直接操控GPU渲染管线的能力,是实现高性能、高可控性3D应用的技术基石。在游戏开发等工程实践中,结合C++的高效计算能力,可以构建出实时交互的复杂模拟系统。本文以开发一个完整的3D台球游戏为具体场景,深入探讨如何利用OpenGL渲染管线进行场景构建与着色器编程,并实现基于动量守恒的刚体物理碰撞检测与响应,为图形学与游戏物理的入门与实践提

weixin_34356555的博客 379

全面掌握Java 3D编程技术指南

本文还有配套的精品资源,点击获取 简介:《Java 3D指南》是Sun公司发布的权威编程手册,详尽介绍使用Java 3D技术开发三维图形应用程序的各个方面。本书结合理论和实践,从基础概念到高级特性,带领开发者掌握scenegraph架构、几何形状创建、变换应用、材质光照、纹理映射、摄像机控制、动画交互、碰撞检测,以及性能优化等关键知识点。包含配套示例代码和详细章节PDF,是...

weixin_36235398的博客 2276

j3d_tutorial\ j3d教程sun官方版

j3d_tutorial\ j3d教程sun官方版 j3d_tutorial\ j3d教程sun官方版

【课程设计】spring boot火车票预订系统毕业设计-附源码091029

火车票预订系统主要实现的功能有以下几点:首页、个人中心、列车班次管理、订单中心管理、改签退票管理等 这篇文章研究了基于java的网络销售系统的开发和实现,从需求分析、总体设计到具体实现,最终完成了整个在线火车票预订系统,从而方便了用户和提高了火车站的管理水平。 关键词:火车订票管理,互联网模式,mysql数据库...

Biye_Design的博客 3600

java3d j3dcore.jar j3dutils.jar

这两个库网上下载很麻烦,哥下了好久才弄到,为了广大java3d爱好者,我就把他们分享了~~

Unity毕业设计实战:架构设计与性能优化全攻略

在游戏开发与软件工程领域,架构设计与性能优化是构建高质量应用的核心基础。架构设计通过模块化、组件化与设计模式(如有限状态机)等原理,实现代码的高内聚低耦合,提升项目的可维护性与扩展性,其技术价值在于将工程化思维融入开发流程,是区分代码爱好者与合格工程师的关键。性能优化则涉及CPU、GPU与内存管理,通过对象池、合批技术、异步加载等手段解决卡顿与效率问题,直接影响用户体验与应用性能。这些技术在游戏开发、实时系统、移动应用等场景中至关重要。本文聚焦Unity引擎,深入探讨如何将这些核心概念应用于毕业设计项目,帮

weixin_34292402的博客 424

以太网接口及POE设计

PoE标准 Power Over Ethernet 是有源以太网供电的简称 通过Cat-5电缆供电在IEEE 802.3af以太网供电标准中进行了定义。PoE标准以前限制在几瓦以内,但更新的PoE技术可实现更高的功率。例如,PoE+允许每端口功率高达25 W,而PoE++(四 对以太网供电系统)通过使用现有电缆的所有电线允许70 W到100 W的功率。与此PoE标准并行的是ADI公司定义的专有标准 LTPoE++™,该标准定义高达90W的受电设备(PD)功率规范(请参见表1)。 表1. ADI...

u010783226的专栏 1万+

破译丰田BEAN总线之谜

我对CAN的深入了解并不是从CAN本身开始的,而是起源于丰田公司自主研发的BEAN总线。由于BEAN总线协议并不是公开的,而是一种技术机密,所以当丰田车不在使用BEAN总线两年多后的今天,虽然这里还不敢公开技术细节,但回想起当年的作品,随便写写也算对自己的努力有所交代。   南方都市报惠州版曾经报道过一则新闻,说的是丰田皇冠车被盗率非常高。其实两年前就已经知道了皇冠车的防盗系数很低,所以当时的首

粤嵌 5264

QT文字绘制全解析:从基础原理到高级优化实战

在图形界面开发中,文字渲染是构建用户体验的基础技术。其核心原理涉及字体管理、布局算法和渲染管线,通过精确控制字形、度量信息和绘制坐标,确保文本在不同分辨率与DPI下的清晰对齐。这项技术的工程价值在于提升界面的专业性与性能,尤其在数据可视化、工业控制等需要高频刷新或海量文本的场景中至关重要。本文聚焦于QT框架,深入探讨如何利用QPainter、QFontMetrics等核心组件实现抗锯齿、精准布局及性能优化,并针对字体打包、高DPI适配等实际部署问题提供解决方案,帮助开发者掌握从基础绘制到高级特效的全链路技能

java2000.net 384

Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现

本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。

weixin_29189381的博客 413

PhoneGap开发手机程序入门教程

用PhoneGap开发手机移动程序 &lt;wbr&gt;&lt;/wbr&gt; 1.&lt;wbr&gt;&lt;wbr&gt;&lt;wbr&gt;&lt;wbr&gt;什么是PhoneGap&lt;/wbr&gt;&lt;/wbr&gt;&lt;/wbr&gt;&lt;/wbr&gt; &lt;wbr&amp

fuchenxuan blog 277

微信小程序内容安全审核:从API调用到工程化落地的全流程实践

内容安全是互联网应用开发中的基础性技术环节,尤其在用户生成内容(UGC)场景下,它直接关系到平台的合规性与用户体验。其核心原理通常结合了关键词过滤、自然语言处理(NLP)和计算机视觉(CV)等技术,通过AI模型对文本、图像、音频进行多维度风险识别。这项技术的价值在于,它不仅是满足监管要求的必要手段,更是构建健康社区生态、保护品牌声誉、实现产品长期稳定运营的基石,广泛应用于社交、电商、社区论坛等各类UGC平台。本文聚焦于微信小程序生态,深入剖析其官方提供的内容安全解决方案,详细解读如何将文本同步检测与多媒体异

weixin_28622215的博客 452

瑞萨RA6M5驱动ST7735屏幕避坑指南:从软件SPI到显示汉字与图形的完整流程

本文详细介绍了瑞萨RA6M5单片机驱动ST7735屏幕的完整流程,涵盖硬件连接、软件SPI控制、汉字显示及图形绘制优化等关键步骤。通过避坑指南和实用代码示例,帮助开发者解决屏幕初始化、时序控制、字库移植等常见问题,实现高效稳定的显示效果。

weixin_28705087的博客 275

Godot引擎集成CEF:实现游戏与Web混合渲染的完整指南

在现代应用开发中,跨平台渲染与交互技术是连接不同生态系统的关键。其核心原理在于通过进程间通信与图形API共享,将独立的渲染管线进行桥接,实现视觉与逻辑的统一。这项技术的价值在于能够突破单一框架的限制,让高性能的本地应用与动态、丰富的Web内容无缝融合。典型的应用场景包括游戏内嵌复杂UI、工具软件集成Web编辑器、以及数字孪生系统中的实时数据可视化仪表盘。本文聚焦于通过Chromium Embedded Framework(CEF)为Godot游戏引擎注入完整的Web能力,深入剖析了其**分层架构设计**与*

weixin_30326515的博客 682

22、狭义相对论与曲线坐标空间相关知识解析

本文深入解析了狭义相对论与曲线坐标空间的核心概念,涵盖能量-动量张量的定义与守恒、曲线坐标系下的度量张量与基向量性质、协变与逆变张量的变换规则,并介绍了克里斯托费尔符号与协变导数的计算方法。进一步探讨了在弯曲空间中进行微积分运算的基础理论及其在广义相对论中的关键应用,如爱因斯坦场方程如何描述物质-能量对时空曲率的影响,为理解黑洞等引力现象提供了理论框架。

lambda的博客 116
上一篇: html5+css3制作的播放器,不过还不大完善
下一篇: Javascript的匿名函数的简单分析
程序员迈克
博客等级 码龄16年 36粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值