求计算机图形学中雪花飘落的C++Builder程序,采纳后追加分额!!!!
import java.awt.*;
十载的双牌网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整双牌建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“双牌网站设计”,“双牌网站推广”以来,每个客户项目都认真落实执行。
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)
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怎么实现一屏幕的雪花飘落,方向随机,有大有小
第一种。。你的雪花是图片,那么你自己多做几张旋转的图片,在每次飘落的时候,1秒后换取另外一张图片。或者做成gif图片。
第二种:你的是自己画的雪花,那么你每秒要重新绘制你的雪花。
闪屏 是指面板刷新带来的负面的效果。。
求网页制作雪花飘落效果的代码
下面是雪花飘落的js代码
拷进去就好了,或者调用!!!!
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; i N; 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; i N; 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; i N; 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; i N; 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
详解如何用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,它成为一条无限长的边界围绕着一个有限的面积的几何对象。
想实现多个雪花,为什么只有一个雪花,怎么实现多线程,另外怎样实现无窗体的动画, 就跟q宠物那样的
没用Java写过,现这种效果最好是用DriectX或者OpenGL里实现,要不,用Java这类托管语言来做的话,所有的东西都是面向对象的,堆和托管堆交互很频繁,还有开N多线程,线程的数量是有限制的。如果你需要的效果是直接在屏幕上即没有容器的那种,可以直接操作显存试试,这个要用底层语言比如C嵌汇编操作显存的文件映射区域等等,其中雪花飘落的过程用一种计算表达式来实现,比如其中有一些速度因子,大小因子,轨迹因子,等等(看自己喜好)。记得以前写过一个DriectX里的粒子运动效果,和雪花飘落的功能很相似,只是它不能直接在桌面上显示,需要容器。
标题名称:java写雪花飘落代码 h5雪花飘落代码
路径分享:http://lswzjz.com/article/dodjoij.html