Graphic Rendering System 1.0
A Java-based graphic rendering system implementing various design patterns
Loading...
Searching...
No Matches
Triangle.java
Go to the documentation of this file.
1package com.example.graphics.model;
2
3import com.example.graphics.visitor.ShapeVisitor;
4
8public class Triangle implements Shape {
9 private int x1;
10 private int y1;
11 private int x2;
12 private int y2;
13 private int x3;
14 private int y3;
15
25 public Triangle(int x1, int y1, int x2, int y2, int x3, int y3) {
26 this.x1 = x1;
27 this.y1 = y1;
28 this.x2 = x2;
29 this.y2 = y2;
30 this.x3 = x3;
31 this.y3 = y3;
32 }
33
34 @Override
35 public int getX() {
36 // 返回三角形的重心作为参考点
37// return (x1 + x2 + x3) / 3;
38 return x1;
39 }
40
41 @Override
42 public int getY() {
43 // 返回三角形的重心作为参考点
44// return (y1 + y2 + y3) / 3;
45 return y1;
46 }
47
48
49 @Override
50 public void setPosition(int x, int y) {
51 // 计算移动的偏移量
52 int dx = x - getX();
53 int dy = y - getY();
54
55 // 移动所有顶点
56 x1 += dx;
57 y1 += dy;
58 x2 += dx;
59 y2 += dy;
60 x3 += dx;
61 y3 += dy;
62 }
63
68 public int getX1() {
69 return x1;
70 }
71
76 public int getY1() {
77 return y1;
78 }
79
84 public int getX2() {
85 return x2;
86 }
87
92 public int getY2() {
93 return y2;
94 }
95
100 public int getX3() {
101 return x3;
102 }
103
108 public int getY3() {
109 return y3;
110 }
111
121 public void setTriangle(int x1, int y1, int x2, int y2, int x3, int y3) {
122 this.x1 = x1;
123 this.y1 = y1;
124 this.x2 = x2;
125 this.y2 = y2;
126 this.x3 = x3;
127 this.y3 = y3;
128 }
129
130 @Override
132 visitor.visit(this);
133 }
134
135 @Override
136 public Shape clone() {
137 return new Triangle(x1, y1, x2, y2, x3, y3);
138 }
139}
void setTriangle(int x1, int y1, int x2, int y2, int x3, int y3)
void accept(ShapeVisitor visitor)
Triangle(int x1, int y1, int x2, int y2, int x3, int y3)
Definition Triangle.java:25