嘿,我知道绘制椭圆/矩形并使用填充它很简单
g.fillOval(30, 40, 20, 20);
Run Code Online (Sandbox Code Playgroud)
但如何绘制三角形?如果它有随机坐标,那将是最好的.
我遇到了麻烦.我需要使用拖动侦听器和单击侦听器围绕它的中心旋转等边三角形.三角形应该增长但现在改变角度并且在以三角形的中间为中心的同时旋转一个点.这是我的问题,它目前正在拖动点3并围绕点1旋转.我有一个值x和y的数组,它存储4个值,每个值包含初始点在序数值0和点1 2和3处相应的值.
`
public class DrawTriangle extends JFrame {
enter code here
/** The Constant NUMBER_3. */
private static final int NUMBER_3 = 3;
/** The Constant EQUL_ANGLE. */
@SuppressWarnings("unused")
private static final double EQUL_ANGLE = 1;
/** The Constant TRIANGLE_POINTS. */
private static final int TRIANGLE_POINTS = 4;
/** The Constant _400. */
private static final int SIZE = 400;
/** The x points. */
private int [] xPoints = new int[TRIANGLE_POINTS];
/** The y points. */
private int …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写代码来计算多边形的面积,但看起来有些东西没有加起来。可能是公式不对,或者我需要使用绝对值函数?
double polygon_area(int actual_size, double x[], double y[])
{
printf("In polygon.area\n"); //Initial basic test
int i;
double area;
area = 0.0;
for (i = 0; i <= max_size; i = i + 1)
{
area = (x[i + 1] + x[i]) * (y[i + 1] - y[i]);
area = (area * 0.50);
}
printf("The area of the polygon is %lf \n", area);
return (area);
}
Run Code Online (Sandbox Code Playgroud) 我需要计算2D空间中两点之间的角度.使用直角三角计算它是个好主意吗?请给我用Java代码编写的公式.谢谢!
这是我的代码:
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY) {
double angle = Math.atan2(
pTouchAreaLocalX - boundSpriteCenterX,
boundSpriteCenterY - pTouchAreaLocalY);
angle = Math.toDegrees(angle);
Log.i("egor", "angle " + angle);
return true;
};
Run Code Online (Sandbox Code Playgroud)
这是我在精灵周围旋转手指时得到的结果:
07-21 16:07:00.736: INFO/egor(12600): angle -11.401802094139539
07-21 16:07:00.786: INFO/egor(12600): angle -11.349729213136412
07-21 16:07:00.826: INFO/egor(12600): angle -11.422536712363058
07-21 16:07:00.956: INFO/egor(12600): angle -11.234933754467884
07-21 16:07:00.986: INFO/egor(12600): angle -10.762776313908919
07-21 16:07:01.026: INFO/egor(12600): angle -10.18502866163197
07-21 16:07:01.086: INFO/egor(12600): angle -8.791364033967513
07-21 16:07:01.126: INFO/egor(12600): angle -7.51789397098733
07-21 16:07:01.266: INFO/egor(12600): angle -5.964822509364536
07-21 16:07:01.266: …Run Code Online (Sandbox Code Playgroud) 当我随意地将参数传递给区域函数时,代码运行完美.但是当我尝试运行循环时,给我一个分段错误.给定n <100
这是我的代码.
#include<stdio.h>
#include<math.h>
double area(int x,int y,int x1,int y1,int x2,int y2)
{ //Heron's formula
double a,b,c,s;
double abc;
a=sqrt(((x-x1)*(x-x1))+((y-y1)*(y-y1)));
b=sqrt(((x-x2)*(x-x2))+((y-y2)*(y-y2)));
c=sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
s=(a+b+c)/2;
abc=sqrt(s*(s-a)*(s-b)*(s-c));
return(abc);
}
int main(void)
{
int n,i,j,k;
double max=0,z=0;
scanf("%d",&n);
int x[100]={},y[100]={};
for(i=0;i<n;i++)
{
scanf("%d %d",&x[i],&y[i]);
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
for(k=j+1;k<n;j++)
{
z=area(x[i],y[i],x[j],y[j],x[k],y[k]);
printf("%lf\n",z);
if(z>max)
{
max=z;
}
}
}
}
//printf("\n%lfoi\n",area(0,0,1,0,1,2));
printf("%lf",max*2);
}
Run Code Online (Sandbox Code Playgroud) 嗨,我是新来的,我一般都不懂python或代码,但我正在尝试,我一直在尝试2-3个小时,我正在尝试
"考虑一个边长为3,7和9的三角形.余弦定律表明,给定三角形(a,b和c)的三边和边a和b之间的角度C:c ^ 2 = b ^ 2 + a ^ 2 - 2*a*b*cos(C)编写Python代码来计算三角形中的三个角度."
这是家庭作业,这很难!!!!!!!!!!!!!! 继承人到目前为止我做了什么......
import math
a_float = 3
b_float = 7
c_float = 9
def find_angle_cosine_of_c_float =
(c_float**2-b_float**2-a_float**2)/(-2*a_float*b_float)
a = input("enter A: ")
b = input("enter B: ")
c = input("enter C: ")
angle_c_float = math.acos(cosine_of_float)
angle_c_float = angle_c_float*180/math.pi
assert find_angle_cosine_of_c_float(7, 9, 3)
assert find_angle_cosine_of_c_float(3, 7, 9)
assert find_angle_cosine_of_c_float(9, 3, 7)
Return angle(angle_c_float)
Run Code Online (Sandbox Code Playgroud)
如果它看起来像一堆胡说八道,因为它是........
我在很多网站上搜索过,但是找不到以下pascal三角形的确切输出.任何人都可以帮助我如何获得以下输出.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Run Code Online (Sandbox Code Playgroud)