java多邊形
㈠ java 怎麼計算多邊形面積
已經有哪些條件
㈡ java裡面怎麼畫多邊形
如果是可以用正方形,三角形,圓形等基本圖形拼接出來的多邊形,可以使用area,然後對基本圖形取交集或者並集即可
㈢ Java程序中計算多邊形,三角形,長方形的周長和面積,代碼和格式是什麼呀.-
public class Rectangle { //邊的初始化
private int height;
private int width;
private int area;
private int perimeter;
public Rectangle(int h,int w){ //構造方法執行
height = h;
width = w;
area = height*width;//計算長方形面積
perimeter = 2*(height+width);//計算長方形周長
}
public void result(){
System.out.println("高: "+height);
System.out.println("長: "+width);
System.out.println("面積為:"+area);
System.out.println("周長為:"+perimeter);
}
public static void main(String args[]){
Rectangle exit =new Rectangle(10,8);
exit.result();
}}
㈣ java畫多邊形和三角形
python">好像不難不過我不是用java寫的思路大概就這樣
self.list=[]
defonStart(self,event):
self.list.append((event.x,event.y))
defonPolygondraw(self):
i=askinteger("問題","你要幾邊形啊",minvalue=1,
maxvalue=7)
polygon=[]
foriinrange(i):
polygon.append(self.list[-i-1])
self.panel.create_polygon(polygon)
㈤ java 畫多邊形。。
自己查api,Graphics類有個花封閉曲線的方法,傳進去一組x坐標,一組Y坐標
要麼用AlphaComposite做顏色混合,選擇src_over
SRC_OVER混合規則把源像素(新的像素)組合到目的像素(原有像素)上面,這樣重疊的部分就只顯示了源像素的顏色。如果你開始渲染一個藍色矩形,然後把一個紅色矩形和它部分重疊,則重疊的部分會被渲染為紅色。換句話說最後被渲染成的顏色將在最上面顯示出來。
㈥ java裡面怎麼畫多邊形
我採取的方式是畫直線,在點擊右鍵的時候再把第一個點和最後一個點連接起來,這個是不規則的多邊形,像五角星,六角星那些規則的,就用drawPolygon(int[] xPoints,int[] yPoints,int nPoints)方法,對於每個點的X,和y這個就要自己去計算,有規律的,都是按比例去計算得到點。
㈦ java多邊形繼承
class Rectangle extends Parallelogram {
private double length;
private double width;
// constructor
public Rectangle(double length, double width) {
super(length, width);
this.length = length;
this.width = width;
}
// get the area of the rectangle
public double getArea() {
return length * width;
}
}
class Square extends Rectangle {
private double side;
// constructor
public Square(double side) {
super(side, side);
this.side = side;
}
// get the area of the square
public double getArea() {
return side * side;
}
}
再詳細的就沒必要了,畢竟只是為了說明多邊形之間的繼承關系。
㈧ 如何用Java寫出泰森多邊形演算法代碼我找了好多資源表示無解呀
packagecom.wangyin.seapay.loginkgo;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.logging.Level;
importjava.util.logging.Logger;
importorg.geotools.data.simple.SimpleFeatureCollection;
importorg.geotools.process.Process;
importorg.geotools.process.ProcessException;
importorg.geotools.process.ProcessFactory;
importorg.geotools.process.spatialstatistics.core.Params;
importorg.geotools.process.spatialstatistics.enumeration.ThiessenAttributeMode;
importorg.geotools.process.spatialstatistics.operations.ThiessenPolygonOperation;
importorg.geotools.text.Text;
importorg.geotools.util.NullProgressListener;
importorg.geotools.util.logging.Logging;
importorg.opengis.util.ProgressListener;
importcom.vividsolutions.jts.geom.Geometry;
/**
*Createdbyhanxiaofeion2018/4/11.
*/
{
=Logging.getLogger(ThiessenPolygonProcess.class);
privatebooleanstarted=false;
publicThiessenPolygonProcess(ProcessFactoryfactory){
super(factory);
}
(){
returnfactory;
}
(,
,GeometryclipArea,ProgressListenermonitor){
Map<String,Object>map=newHashMap<String,Object>();
map.put(ThiessenPolygonProcessFactory.inputFeatures.key,inputFeatures);
map.put(ThiessenPolygonProcessFactory.attributes.key,attributes);
map.put(ThiessenPolygonProcessFactory.clipArea.key,clipArea);
Processprocess=newThiessenPolygonProcess(null);
Map<String,Object>resultMap;
try{
resultMap=process.execute(map,monitor);
return(SimpleFeatureCollection)resultMap
.get(ThiessenPolygonProcessFactory.RESULT.key);
}catch(ProcessExceptione){
LOGGER.log(Level.FINER,e.getMessage(),e);
}
returnnull;
}
@Override
publicMap<String,Object>execute(Map<String,Object>input,ProgressListenermonitor)
throwsProcessException{
if(started)
thrownewIllegalStateException("Processcanonlyberunonce");
started=true;
if(monitor==null)
monitor=newNullProgressListener();
try{
monitor.started();
monitor.setTask(Text.text("Grabbingarguments"));
monitor.progress(10.0f);
=(SimpleFeatureCollection)Params.getValue(
input,ThiessenPolygonProcessFactory.inputFeatures,null);
if(inputFeatures==null){
thrownewNullPointerException("");
}
=(ThiessenAttributeMode)Params.getValue(input,
ThiessenPolygonProcessFactory.attributes,
ThiessenPolygonProcessFactory.attributes.sample);
GeometryclipArea=(Geometry)Params.getValue(input,
ThiessenPolygonProcessFactory.clipArea,null);
monitor.setTask(Text.text("Processing..."));
monitor.progress(25.0f);
if(monitor.isCanceled()){
returnnull;//userhascanceledthisoperation
}
//startprocess
=newThiessenPolygonOperation();
operation.setAttributeMode(attributes);
if(clipArea!=null){
operation.setClipArea(clipArea);
}
=operation.execute(inputFeatures);
//endprocess
monitor.setTask(Text.text("Encodingresult"));
monitor.progress(90.0f);
Map<String,Object>resultMap=newHashMap<String,Object>();
resultMap.put(ThiessenPolygonProcessFactory.RESULT.key,resultFc);
monitor.complete();//sameas100.0f
returnresultMap;
}catch(Exceptioneek){
monitor.exceptionOccurred(eek);
returnnull;
}finally{
monitor.dispose();
}
}
}
㈨ java 多邊形面積
三角法求多邊形面積,就是把多邊形劃分為多個三角形,然後求每一個三角形的面積和。三角形的面積在已知頂點坐標的情況下使用三角函數即可得出。
在劃分多邊形為三角型的時候要注意凸多變形和凹多邊形。對於特殊的多邊形,如有窟窿的多邊形、窟窿套窟窿的多變形和由多個部分組成的多邊形,需要結合實際情況分析。
你可以找本計算機圖形學的書看看,多邊形的識別和求面積是基本演算法