java写雪花飘落代码 java雪花算法生成id重复?

求网页制作雪花飘落效果的代码下面是雪花飘落java写雪花飘落代码的js代码
拷进去就好了,或者调用java写雪花飘落代码?。。。?
script language="JavaScript"
!--
N =20;
Y = new Array();
X = new Array();
S = new Array();
A = new Array();
B = new Array();
M = new Array();
V = (document.layers)?1:0;
iH=(document.layers)?window.innerHeight:window.document.body.clientHeight;
iW=(document.layers)?window.innerWidth:window.document.body.clientWidth;
for (i=0; iN; i){
Y[i]=Math.round(Math.random()*iH);
X[i]=Math.round(Math.random()*iW);
S[i]=Math.round(Math.random()*5 2);
A[i]=0;
B[i]=Math.random()*0.1 0.1;
M[i]=Math.round(Math.random()*1 7);
}
if (V){
for (i = 0; iN; i)
{document.write("LAYER NAME='sn" i "' LEFT=0 TOP=0 BGCOLOR='#FFFFF0' CLIP='0,0," M[i] "," M[i] "';z-index: 1font color=white size=3 face='Wingdings'T/font/LAYER")}
}
else{
document.write('div style="position:absolute;top:0px;left:0px;z-index: 1"');
document.write('div style="position:relative;z-index: 1"');
for (i = 0; iN; i)
{document.write('div id="si" style="position:absolute;z-index: 1;top:0;left:0;width:' M[i] ';height:' M[i] ';font-size:' M[i] '"font color=white size=3 face="Wingdings"T/font/div')}
document.write('/div/div');
}
function snow(){
var H=(document.layers)?window.innerHeight:window.document.body.clientHeight;
var W=(document.layers)?window.innerWidth:window.document.body.clientWidth;
var T=(document.layers)?window.pageYOffset:document.body.scrollTop;
var L=(document.layers)?window.pageXOffset:document.body.scrollLeft;
for (i=0; iN; i){
sy=S[i];
sx=S[i]*Math.cos(A[i]);
Y[i] =sy;
X[i] =sx;
if (Y[i]H){
Y[i]=-10;
X[i]=Math.round(Math.random()*W);
M[i]=Math.round(Math.random()*1 7);
S[i]=Math.round(Math.random()*5 2);
}
if (V){document.layers['sn' i].left=X[i];document.layers['sn' i].top=Y[i] T}
else{si[i].style.pixelLeft=X[i];si[i].style.pixelTop=Y[i] T}
A[i] =B[i];
}
setTimeout('snow()',40);
}
snow()
//--
/script
求计算机图形学中雪花飘落的CBuilder程序,采纳后追加分额?。。。?/h2>import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.FileFilter;
import static java.awt.event.InputEvent.*;
import java.awt.datatransfer.*;
import java.util.Enumeration;
import java.util.Hashtable;
/*import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import java.awt.event.*;
import java.awt.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;*/
class jishiben
{
public static void main(String args[])
{
TextEdit TE=new TextEdit("记事本");
}
}
class TextEdit extends Frame implements ActionListener
{
MenuBar m;
Menu m1,m2;
MenuItem xinjian,dakai,baocun,tuichu,jianqie,fuzhi,zhantie;
TextArea text;
String filename;
FileDialog openFD,saveFD;
BufferedReader in;
FileReader read;
BufferedWriter out;
FileWriter writer;
Clipboard cb;
TextEdit(String s)
{
super(s);
m=new MenuBar();
m1=new Menu("文件");
xinjian=new MenuItem("新建");
dakai=new MenuItem("打开");
baocun=new MenuItem("保存");
tuichu=new MenuItem("退出");
m2=new Menu("编辑");
jianqie=new MenuItem("剪切");
fuzhi=new MenuItem("复制");
zhantie=new MenuItem("粘贴");
text=new TextArea();
openFD=new FileDialog(this,"打开",FileDialog.LOAD);
saveFD=new FileDialog(this,"保存",FileDialog.SAVE);
filename="NoName";
m1.add(xinjian);
m1.addSeparator();
m1.add(dakai);
m1.addSeparator();
m1.add(baocun);
m1.addSeparator();
m1.add(tuichu);
m2.add(jianqie);
m2.addSeparator();
m2.add(fuzhi);
m2.addSeparator();
m2.add(zhantie);
m.add(m1);
m.add(m2);
//关键部分,没有为cb申请内存,下面对cb操作会出错
cb = new Clipboard("nothing");
//
setMenuBar(m);
setSize(300,400);setVisible(true);
add(text,"Center");
xinjian.addActionListener(this);
dakai.addActionListener(this);
baocun.addActionListener(this);
tuichu.addActionListener(this);
jianqie.addActionListener(this);
fuzhi.addActionListener(this);
zhantie.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==xinjian)
{
text.setText("");
}
if(e.getSource()==dakai)
{
openFD.show();
String s;
filename=openFD.getDirectory() openFD.getFile();
if(filename!=null)
{
try
{
File file=new File(filename);
read=new FileReader(file);
in=new BufferedReader(read);
while((s=in.readLine())!=null)
【java写雪花飘落代码 java雪花算法生成id重复?】text.append(s '\n');
in.close();
read.close();
}
catch(IOException e2){}
}
}
if(e.getSource()==baocun)
{
saveFD.show();
filename=saveFD.getDirectory() saveFD.getFile();
if(filename!=null)
{
try
{
File file=new File(filename);
writer=new FileWriter(file);
out=new BufferedWriter(writer);
out.write(text.getText(),0,(text.getText()).length());
out.close();
writer.close();
}
catch(IOException e2){}
}
}
if(e.getSource()==tuichu)
{
System.exit(0);
}
if(e.getSource()==jianqie)
{
//类text中没有cut方法,不能使用text.cut
String s=text.getSelectedText();
StringSelection select=new StringSelection(s);
cb.setContents(select,null);
text.replaceRange("",text.getSelectionStart(),text.getSelectionEnd());
}
if(e.getSource()==fuzhi)
{
//同上 , 没有copy这个方法
String s=text.getSelectedText();
StringSelection select=new StringSelection(s);
cb.setContents(select,null);
}
if(e.getSource()==zhantie)
{
//同上,没有paste方法
String s="";
Transferable t = cb.getContents(null);
try
{
if (t != null
t.isDataFlavorSupported(DataFlavor.stringFlavor))
{
// 因为原系的剪贴板里有多种信息, 如文字, 图片, 文件等
// 先判断开始取得的可传输的数据是不是文字, 如果是, 取得这些文字
s = (String)t.getTransferData(DataFlavor.stringFlavor);
// 同样, 因为Transferable中的DataFlavor是多种类型的,
// 所以传入DataFlavor这个参数, 指定要取得哪种类型的Data.
//System.out.println(s);
}
}
catch (UnsupportedFlavorException ex)
{
ex.printStackTrace();
}
catch (IOException ex)
{
ex.printStackTrace();
}
text.insert(s,text.getCaretPosition());
}
}
}
详解如何用java实现Koch雪花的绘制Koch雪花其实就是一种Koch曲线 。
Koch曲线是一个数学曲线,同时也是早期被描述的一种分形曲线 。它由瑞典数学家Helge von Koch在1904年发表的一篇题为“从初等几何构造的一条没有切线的连续曲线”的论文中提出 。有一种Koch曲线是象雪花一样,被称为Koch雪花(或Koch星) , 它是由三条Koch曲线围成的等边三角形 。至于更详细的请读者百度百科 。
如图所示:
解决方案
设想从一个线段开始 , 根据下列规则构造一个Koch曲线:
1.三等分一条线段;
2.用一个等边三角形替代第一步划分三等分的中间部分;
3.在每一条直线上,重复第二步 。
Koch曲线是以上步骤地无限重复的极限结果 。
Koch曲线的长度为无穷大,因为以上的变换都是一条线段变四条线段 , 每一条线段的长度是上一级的1/3,因此操作n步的总长度是(4/3)n:若n→∞,则总长度趋于无穷 。Koch曲线的分形维数是log 4/log 3 ≈ 1.26,其维数大于线的维数(1),小于Peano填充曲线的维数(2) 。
Koch曲线是连续的,但是处处不可导的 。
Koch雪花的面积是 2* √3 * ssup2;/5 , 这里的s是最初三角形的边长,Koch雪花的面积是原三角形面积的8/5,它成为一条无限长的边界围绕着一个有限的面积的几何对象 。
JAVA怎么实现一屏幕的雪花飘落,方向随机,有大有小第一种 。。你的雪花是图片,那么你自己多做几张旋转的图片,在每次飘落的时候 , 1秒后换取另外一张图片 。或者做成gif图片 。
第二种:你的是自己画的雪花 , 那么你每秒要重新绘制你的雪花 。
闪屏 是指面板刷新带来的负面的效果 。。
想实现多个雪花 , 为什么只有一个雪花,怎么实现多线程,另外怎样实现无窗体的动画, 就跟q宠物那样的没用Java写过,现这种效果最好是用DriectX或者OpenGL里实现,要不,用Java这类托管语言来做的话,所有的东西都是面向对象的,堆和托管堆交互很频繁,还有开N多线程,线程的数量是有限制的 。如果你需要的效果是直接在屏幕上即没有容器的那种 , 可以直接操作显存试试,这个要用底层语言比如C嵌汇编操作显存的文件映射区域等等,其中雪花飘落的过程用一种计算表达式来实现,比如其中有一些速度因子,大小因子,轨迹因子,等等(看自己喜好) 。记得以前写过一个DriectX里的粒子运动效果,和雪花飘落的功能很相似,只是它不能直接在桌面上显示,需要容器 。
网页飘雪花的代码是什么在后台添加js特效可实现这样的效果 。
js代码为:
script language="JavaScript"
!--
var no = 5; //雪片数目
var speed = 20; //飘动速度 。(值越大越慢)
var ns4up = (document.layers) ? 1 : 0; //当前浏览器类型java写雪花飘落代码 , 如果是NS则为1
var ie4up = (document.all) ? 1 : 0; //当前浏览器类型java写雪花飘落代码,如果是IE则为1
var s, x, y, sn, cs;
var a, r, cx, cy;
var i, doc_width = 800, doc_height = 600;
x = new Array();
y = new Array();
r = new Array();
cx = new Array();
cy = new Array();
s = 8; //每次下落的高度java写雪花飘落代码,越小越平滑java写雪花飘落代码,但是也越慢
if (ns4up) { //以NS兼容方式
doc_width = self.innerWidth; //取页面宽度
doc_height = self.innerHeight; //取页面高度
}
else
if (ie4up) { //以IE兼容方式
doc_width = document.body.clientWidth; //取页面宽度
doc_height = document.body.clientHeight; //取页面高度
}
for (i = 0; ino;i) { //根据前面定义的雪片数目写进相应数目的层
initSnow(); //随机初始化层的坐标
if (ns4up) { //如果浏览器是NS
//用layer作为雪片(星号)的容器
document.write("layer name=\"dot"i"\" left=\"1\" ");
document.write("top=\"1\" visibility=\"show\"font color=\"red\"");
document.write("*/font/layer");
}
else
if (ie4up) { //如果浏览器是IE
//用div作为雪片的容器
document.write("div id=\"dot"i"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "i"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"font color=\"red\"");
document.write("*/font/div");
}
}
//初始化雪片,生成随机坐标
function initSnow() {
a = 6;
r[i] = 1;
sn = Math.sin(a);
cs = Math.cos(a);
cx[i] = Math.random() * doc_width1;
cy[i] = Math.random() * doc_height1;
x[i] = r[i] * sncx[i];
y[i] = cy[i];
}
//计算雪花位置 , 从新位置上出现,看起来就像是新产生的一样 。
function makeSnow() {
r[i] = 1;
cx[i] = Math.random() * doc_width1;
cy[i] = 1;
x[i] = r[i] * sncx[i];
y[i] = r[i] * cscy[i];
}
//雪花下落的计算
function updateSnow() {
r[i]= s;
x[i] = r[i] * sncx[i];
y[i] = r[i] * cscy[i];
}
//在NS浏览器上处理雪片下落的主程序
function SnowdropNS() {
for (i = 0; ino;i) { //依次处理每片雪花
updateSnow(); //下落
if ((x[i] = 1) || (x[i] = (doc_width - 20)) || (y[i] = (doc_height - 20))) { //如果超出屏幕范围
makeSnow(); //则调整雪片到新位置上
doc_width = self.innerWidth; //更新页面宽度数据
doc_height = self.innerHeight; //更新页面高度数据
}
document.layers["dot" i].top = y[i]; //改变层的Y坐标,应用新的位置
document.layers["dot" i].left = x[i]; //改变层的X坐标,应用新的位置
}
setTimeout("SnowdropNS()", speed);
}
//在IE浏览器上处理雪片下落的主程序
function SnowdropIE() {
for (i = 0; ino;i) { //依次处理每片雪花
updateSnow(); //下落
if ((x[i] = 1) || (x[i] = (doc_width - 20)) || (y[i] = (doc_height - 20))) { //如果超出屏幕范围
makeSnow(); //则调整雪片到新位置上
doc_width = document.body.clientWidth; //更新页面宽度数据
doc_height = document.body.clientHeight; //更新页面高度数据
}
document.all["dot" i].style.pixelTop = y[i]; //改变层的坐标,应用新的位置
document.all["dot" i].style.pixelLeft = x[i];
}
setTimeout("SnowdropIE()", speed); //准备下一次下落过程 。
}
if (ns4up) { //如果是NS
SnowdropNS(); //调用SnowdropNS使雪片下落
}
else
if (ie4up) { //如果是NS
SnowdropIE(); //调用SnowdropIE使雪片下落
}
--
/script
说明:可以根据自己的需求根据说明进行相应参数的修改
java写雪花飘落代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java雪花算法生成id重复?、java写雪花飘落代码的信息别忘了在本站进行查找喔 。

    推荐阅读