java 立体球_CSS之立体球体

球体

body{

background-image: linear-gradient(90deg,red ,#ccc 30%,#fff 100%)

}

.bk{

margin: 200px auto;

height: 500px;width: 500px;

/*border:1px solid black;*/

position: relative;

transform-style:preserve-3d;

transform:rotate(-20deg) rotateX(-20deg) rotateY(0);

animation: ball 100s infinite linear;

}

.bk div{

position: absolute;

height: 100%;width: 100%;

border-radius: 100%;

}

.x{

border:1px solid black;

}

.y{

border:1px solid blue;

}

.x:nth-child(1){

transform: rotateY(18deg);

}

.x:nth-child(2){

transform: rotateY(36deg);

}

.x:nth-child(3){

transform: rotateY(54deg);

}

.x:nth-child(4){

transform: rotateY(72deg);

}

.x:nth-child(5){

transform: rotateY(90deg);

}

.x:nth-child(6){

transform: rotateY(108deg);

}

.x:nth-child(7){

transform: rotateY(126deg);

}

.x:nth-child(8){

transform: rotateY(144deg);

}

.x:nth-child(9){

transform: rotateY(162deg);

}

.x:nth-child(10){

transform: rotateY(180deg);

}

.y:nth-child(11){

transform: rotateX(90deg) translateZ(0px) scale(1);

}

.y:nth-child(12){

transform: rotateX(90deg) translateZ(50px) scale(0.98);

}

.y:nth-child(13){

transform: rotateX(90deg) translateZ(100px) scale(0.92);

}

.y:nth-child(14){

transform: rotateX(90deg) translateZ(150px) scale(0.80);

}

.y:nth-child(15){

transform: rotateX(90deg) translateZ(-150px) scale(0.80);

}

.y:nth-child(16){

transform: rotateX(90deg) translateZ(-100px) scale(0.92);

}

.y:nth-child(17){

transform: rotateX(90deg) translateZ(-50px) scale(0.98);

}

@keyframes ball {

0% {transform:rotate(-20deg) rotateX(-20deg) rotateY(0)}

100% {transform:rotate(-20deg) rotateX(-20deg) rotateY(360deg)}

}

c62c2a862a0fd4448cfd474335987b9e.png

Java实现一个模型、两个视图和两个控制器的功能软件,即采用MVC模式或者说是观察者模式,本程序通过输入球体半径,显示球体形状,面积体积等 Sphere.java package Model; import java.util.Observable; public class Sphere extends Observable { private double radius;//球体半径 private double area;//球体面积 private double volume;//球体体积 public Sphere() { radius=100d; area=4*Math.PI*Math.pow(radius, 2); volume=4*Math.PI*Math.pow(radius, 3)/3; } public double getRadius() { return radius; } public double getArea() { return area; } public double getVolume() { return volume; } public void setRadius(double radius) { this.radius = radius; this.area = 4*Math.PI*Math.pow(radius, 2); this.volume=4*Math.PI*Math.pow(radius, 3)/3; this.setChanged(); this.notifyObservers(); } } textView.java package View; import java.util.Observer; import java.util.Observable; import java.text.NumberFormat; import javax.swing.*; import Controller.TextController; import Model.Sphere; import java.awt.*; import java.awt.event.*; public class TextView extends JPanel implements Observer { private JLabel radiusLab;//提示用户输入球体半径 private JTextField radiusTextField;//接受用户输入球体半径 //private JLabel radiusRang; private JLabel areaLab;//显示球体面积 private JTextField areaTextField;//显示输入球体半径对应的面积 private JLabel volumeLab;//显示球体体积 private JTextField volumeTextField;//显示输入球体半径对应的体积 public TextView() { try { Init(); } catch(Exception e) { e.printStackTrace(); } } private void Init() throws Exception { radiusLab=new JLabel("球体半径"); radiusLab.setForeground(new Color(0,165,168)); //radiusRang=new JLabel("[0-200]"); radiusTextField = new JTextField(12); radiusTextField.setForeground(new Color(223,100,158)); radiusTextField.setBackground(new Color(210,204,230)); areaLab=new JLabel("球体面积"); areaLab.setForeground(new Color(0,165,168)); areaTextField = new JTextField(12); areaTextField.setBackground(new Color(193,219,219)); areaTextField.setEditable(fal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值