假设我有一个(x,y)对于一条线的起点始终是相同的,并且(x,y)对于同一条线的终点是变化的。该行也总是40px长。在程序开始时,该线以垂直方向开始(称为0度)。根据用户输入,我需要通过仅更改端点(x,y)从其原点开始重画特定角度的线条。

如果需要,可以考虑使用更多食物:

我很想计算这个并使它在Java中工作。我可以使数学基于圆弧段的弧长来计算点,但是我不知道如何使Java做到这一点。

我认为,根据三角形的角度,它会更容易工作,因为我将永远知道三角形的两侧的长度(一侧由40px长线形成,另一侧由该线的起点和边界形成)

JPanel)和那两条线形成的角度。尽管如此,我的大脑仍在试图弄清楚。任何帮助将非常感激。

更新:

@casablanca让我步入正轨。我重新研究了触发功能,这就是使它工作的方式。

首先,我没有意识到90度是笔直的,但是一旦我意识到使解决方案能够反映这一事实。我从画框的底部中央开始画线。因为opposite当我的用户给定的角度小于90度时,三角形的边在屏幕的右侧,而当我的用户给定的角度大于90度时,三角形的边在屏幕的左侧,所以我必须调整公式以解决这一问题,因此我有四种方法,一种用于x屏幕左侧的坐标(当用户给定的角度大于90度时),一种用于y坐标在屏幕左侧(当用户给定角度大于90度时)和屏幕右侧在用户给定角度小于90度时相同。在int

length所有方法是斜边的长度。 再次感谢您的帮助@casablanca!

public double leftSideX(double angle, int length){

double x = frameWidth/2 - (length * Math.cos(Math.toRadians(90-(Math.toDegrees(angle)-90))));

return x;

}

public double leftSideY(double angle, int length){

double y = frameHeight - (length * Math.sin(Math.toRadians(90-(Math.toDegrees(angle)-90))));

return y;

}

public double rightSideX(double angle, int length){

double x = frameWidth/2 + (length * Math.cos(angle));

return x;

}

public double rightSideY(double angle, int length){

double y = frameHeight - (length * Math.sin(angle));

return y;

}

java怎么画有角度_在Java中以特定角度画一条线相关推荐

  1. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  2. 在java中如何输入角度_在Java中以特定角度绘制一条线

    提出这个问题我觉得很愚蠢(我的触觉是生锈的),但我有一个艰难的时刻. 假设我有一个(x,y)对于一行的起始点和(x,y)始终是相同的,这个更改为同一行的终点.该线也总是40px长.在程序开始时,行起始 ...

  3. 在java中如何输入角度_在Java中获取角度的反余弦

    为了获得Java中给定值的反余弦,我们使用java.lang.Math.acos()方法.该acos()方法接受需要计算角度的双精度值.返回的角度范围在0到pi之间.如果参数为NaN或大于1或小于-1 ...

  4. java打印两个小人_[原创]Java画小人与阶梯问题的解答

    package test; /** #Python源代码: #By:Cat73 QQ 1901803382 #2014年7月22日19:33:12 #画图函数 width:台阶的宽度(至少为4) hi ...

  5. java 两点计算角度_从两点和方向向量计算角度

    我在游戏中有两个向量 . 一个向量是玩家,一个向量是一个对象 . 我还有一个向量,指定玩家面对的方向 . 方向矢量没有z部分 . 这个点的大小为1,位于原点附近 . 我想计算士兵当前面对的方向和物体之 ...

  6. java 取栈顶元素_《Java实战之内存模型》详解篇

    内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行 JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JVM的高效稳定运行 不同的JV ...

  7. java 堆大小的最大值_优化Java堆大小的5个技巧

    优化Java堆大小的5个技巧 摘要:Java堆容量不足可以对性能造成很大影响,这样无疑就给程序带来不可必要的麻烦,本文总结了影响Java堆容量不足的五大原因以及巧妙地去优化? 本文作者Pierre是一 ...

  8. java入门应该学什么_初学Java应该掌握哪些基础知识?

    Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档.这对于那些迷恋于WEB浏览的人们来说简直不可容忍.Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中 ...

  9. java根据父类找子类_在java中实现多态时,可以通过父类变量引用子类的对象。_学小易找答案...

    [单选题]对于字符串s="java",下面哪个选项返回字符在字符串中'v'的位置( ). [简答题]汽车核保的主要内容 [判断题]在java中产生子类对象时,直接调用子类的构造方法 ...

最新文章

  1. 软件开发者的“比天之翼”
  2. linux 输出重定向_linux学习笔记(实验楼) 实验12 数据流重定向
  3. swift_007(Swift的Array 数组)
  4. [BX] 和 loop指令
  5. 大气波导计算MATLAB,基于抛物方程的大气波导环境下电波传播的研究rbedacv8.ppt
  6. TensorFlow基本计算单元——变量
  7. 【转】傅里叶分析之掐死教程(完整版)更新于2014.06.06
  8. shell基础(上)
  9. abap 帮助文档 中文_谷歌的软件工程 读书笔记(十)文档
  10. 陈冠希宣布代言小野电子烟 罗永浩:实现了长久以来的心愿
  11. 计算机专业技能水平如何提升,市计算机:提升技能水平
  12. 字典树 HDU1251
  13. 编程语言-Ruby-问题整理
  14. [SDOI2012]Longge的问题 phi运用
  15. iOS开发篇——C++函数模板介绍
  16. 读Java面向对象编程(孙卫琴)
  17. OpenStack温哥华峰会Day2日记:大数据带你看峰会热点
  18. 2021年北京高考成绩排名查询,北京2021高考成绩排名榜单,北京各高中高考成绩喜报...
  19. @Vaild失效处理
  20. 贴海报 (线段树染色-离散化

热门文章

  1. 使用Xcode测量APP电量使用情况
  2. 微信小程序长按复制文本
  3. 一加Ace2和iQOO Neo7竞速版区别参数对比选哪个
  4. 习惯的力量 (zz)
  5. Mybatis 的工作原理及流程
  6. OpenGL第九章——混合
  7. python办公自动化(八)python-docx实现word的批量合并、制作邀请函以及数据的情感分析
  8. 想你的夜,爱与痛在我心里纠缠
  9. python在一个画布上画多个子图
  10. 蓝帽杯2021初赛 writeup+赛后复现(misc123+pwn2+web1)