场景上一个任意三角形,用程序画出任意一个顶点所在的高,三角形由程序在某一个范围内随机生成

解析:

1、题目解析:已知三角形三个顶点的坐标例如A(x1,y1),B(x2,y2),C(x3,y3),画出任意一个顶点的高线,所有必须求出高另一个点(这里我们叫H点)的坐标,然后两个点连成线。

2、逻辑解析:要计算出高线的垂直点的坐标必须用一个方程组。

3、原理解析:根据数学里面的知识,已知两个顶点(例如B、C)的坐标,即可计算出这两个点连成线的直线方程 y = kx + b;其中 k 指的是直线方程中的斜率,b是一个未知常数,因为知道B、C两点的坐标,所以可以计算出直线BC的直线方程,

那么,垂直于直线BC的斜率就是:-1/k,所以经过A点的高线(即直线:AH)的斜率是:-1/k,所以,直线AH的直线方程就是 y = (-1/k)*x + b1,这里的 b1 我们可以根据顶点A的坐标计算出来。

ok,现在知道直线 BC 的直线方程,和直线 AH 的直线方程,H 点是这两条直线的交点,通过这两条直线方程,组成的方程组 即可计算出 H 点的坐标了。

时间: 2024-11-02 23:40:23

场景上一个任意三角形,用程序画出任意一个顶点所在的高,三角形由程序在某一个范围内随机生成的相关文章

使用java,画出任意大小的菱形

1 public class rhombic { 2 3 public static void main(String[] args){ 4 5 /** 6 * scriber()画菱形的方法,参数 9 是指菱形的对角线的长度 7 * 参数,在此处,只使用奇数, 8 * 如果,你想要使用偶数,请找我,否则自己处理,哈哈 9 */ 10 scriber(29); 11 12 } 13 14 /** 15 * 画出一个默认大小的菱形 16 * 功能已经完成,好像可以简化一下 17 */ 18 pri

用JAVA写一个函数,功能如下: 任意给定一组数, 找出任意数相加之后的结果为35(任意设定)的情况

用JAVA写一个函数.功能如下:任意给定一组数,例如{12,60,-8,99,15,35,17,18},找出任意数相加之后的结果为35(任意设定)的情况. 可以递归算法来解: package test1; import java.util.Arrays; public class demo { public static void main(String[] args) { String str = "12,60,-8,99,15,35,17,18,8,10,11,12"; int s

OpenGL编程-第一个程序-画出一个正方形

程序如下 #include <GL/glut.h> // #pragma comment(linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" ) void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); //glClear,清除.GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西 g

运用椭圆画法,45行代码画出任意正多边形

最近做Box2dWeb开发时,想写个创建正多边形的功能,可是由于学识尚浅,我在草稿纸上画了,想了一个上午也没有研究出什么好方法.后来翻抽屉的时候,找出了以前哥哥画的一张用同心圆画椭圆的示意图.看到这幅画,我不禁在想椭圆不就是一个N边形吗?圆不就是一个正N边形吗?如果把两个同心圆的半径设定为相等,画出来的椭圆不就是一个圆吗?因此,我立刻开始实验.原本我以为比较难,会用到圆的解析式之类的,没想到就45行代码就搞定了,主要用到的数学知识就是sin和cos. 也许有人不明白如何用同心圆画椭圆,我就借用网

35.在CSS中 只用一个 DOM 元素就能画出国宝熊猫

原文地址:https://segmentfault.com/a/1190000015052653 感想: 真神奇! HTML code: <div class="panda"></div> CSS code: html, body { margin: 0; padding: 0; height: 100vh; display: flex; justify-content: center; align-items: center; background-color

转:在0~N(不包括N)范围内随机生成一个长度为M(M &lt;= N)且内容不重复的数组

1. 最朴素暴力的做法. void cal1() { int i = 0, j = 0, num = 0; int result[M]; result[0] = rand() % N; //第一个肯定不重复, 直接加进去 for (i = 1; i < M; i++) //获得剩下的(M-1)个随机数 { num = rand() % N; //生成0 ~ N之间的随机数字 for (j = 0; j < i; j++) { if (num == result[j]) //如果和result数

matlplotlib根据函数画出图形(二)

matplotlib基础知识 matpltlib中的基本图表包括的元素 1.x轴和y轴:水平和垂直的轴线 2.x轴和y轴的刻度:刻度标识坐标值的分隔,包括最小刻度和最大刻度 3.x轴和y轴刻度:表示特定坐标轴的值 4.绘图区域:实际绘图的区域 绘制单一曲线的图 代码如下 import matplotlib.pyplot as plt%matplotlib inlineimport numpy as np x = np.linspace(0,2*np.pi,50) #,定义自变量的取值,并返回把范

[转]html5 Canvas画图教程(9)—canvas中画出矩形和圆形

本文讲一下在canvas中画出矩形和圆形的办法,他们属于基础图形.当然,基础图形本来不止他们,但在canvas中,只有画矩形与圆形不需要用其他方法模拟. canvas画矩形 1,fillRect与strokeRect fillRect可以直接填充出一个矩形,填充样式是你当前设置的样式:同理strokeRect就是直接描边一个矩形 他们的参数是一致的,依次是(起点x坐标,起点y,矩形的宽,矩形的高).这里的起点,注意,是指矩形的左上角那个点. 我们通常用他们来做简单的事,他们也只能做简单的事.为什

如何用css画出三角形

看到有面试题里会有问到如何用css画出三角形 众所周知好多图形都可以拆分成三角形,所以说会了画三角形就可以画出很多有意思的形状 画出三角形的原理是调整border(边框)的四个方向的宽度,线条样式以及颜色. 如果你将宽度调的足够大,改变不同方向的颜色,你就可以发现盒模型的border是四个梯形一样的线条. 这个时候如果将盒模型内部的height,width调为0px,则三角形就形成了. 1 border:100px solid transparent //边框100px,实线,透明颜色,下面三行