本文目錄一覽:
- 1、#include using namespace std; class b
- 2、PHP代碼怎麼實現輸入數字後輸出三角形面積?
- 3、PHP.a b c是三角形三條邊,求他們組成的三角形面積 , 要事先判定這三邊能不能?
- 4、幾何高手再進
- 5、PHP演算法:如何判斷一個已知坐標點存在於一個多邊形內
- 6、運用php編寫一個自定義函數,三角形的底和高為函數的兩個參數,通過它們計算面積和周長
#include using namespace std; class b
Cicle(float a=0.0) ,如果是php就沒問題
你可以利用多態性,寫一個同名函數,達到初始化的目的
PHP代碼怎麼實現輸入數字後輸出三角形面積?
?php
class Triangle extends Shape {
private $bian1;
private $bian2;
private $bian3;
function __construct($arr = array()) {
if(!empty($arr)) {
$this-bian1 = $arr[‘bian1’];
$this-bian2 = $arr[‘bian2’];
$this-bian3 = $arr[‘bian3’];
}
$this-name = “三角形”;
}
function area() {
$p = ($this-bian1 + $this-bian2 + $this-bian3)/2;
return sqrt($p*($p-$this-bian1)*($p-$this-bian2)*($p-$this-bian3));
}
function zhou() {
return $this-bian1 + $this-bian2 + $this-bian3;
}
function view() {
$form = ‘form action=”index.php?action=triangle” method=”post”‘;
$form .= $this-name.’第一個邊:input type=”text” name=”bian1″ value=”‘.$_POST[‘bian1′].'” /br’;
$form .= $this-name.’第二個邊:input type=”text” name=”bian2″ value=”‘.$_POST[‘bian2′].'” /br’;
$form .= $this-name.’第三個邊:input type=”text” name=”bian3″ value=”‘.$_POST[‘bian3′].'” /br’;
$form .= ‘input type=”submit” name=”dosubmit” value=”計算”br’;
$form .=’form’;
echo $form;
}
function yan($arr) {
$bj = true;
if($arr[‘bian1’] 0) {
echo “第一個邊不能小於0!br”;
$bj = false;
}
if($arr[‘bian2’] 0) {
echo “第二個邊不能小於0!br”;
$bj = false;
}
if($arr[‘bian3’] 0) {
echo “第三個邊不能小於0!br”;
$bj = false;
}
if(($arr[‘bian1’]+$arr[‘bian2’] $arr[‘bian3’]) || ($arr[‘bian1’] + $arr[‘bian3’] $arr[‘bian2’]) || ($arr[‘bian2’]+$arr[‘bian3’] $arr[‘bian1’])) {
echo “兩邊之和必須大於第三個邊”;
$bj = false;
}
return $bj;
}
}
PHP.a b c是三角形三條邊,求他們組成的三角形面積 , 要事先判定這三邊能不能?
是的,要先判斷是否能組成三角形,判斷條件也很簡單,就是兩邊之和是否大於第三邊,大於則能組成三角形,否則則不能組成三角形。
幾何高手再進
等於8。
作三個三角形PB邊上地高。因為等底,所以他們的高之比等於面積之比等於5:13:x
三角形BHC的面積等於長方形的一半。
三角形APB的面積也等於長方形的一半。
所以這兩個三角形面積相等。
而三角形BCH的面積等於BH×CF除以2,而三角形APB的面積等於BH×(AE+GD)除以2,所以GD等於HC-AE
所以x=8
所以三個三角形的面積之比等於5:13:8
所以這個三角形的面積為8
不明白的話看圖
PHP演算法:如何判斷一個已知坐標點存在於一個多邊形內
在多邊性的存儲中,每一個多邊形都是由一系列連續的點組成,例如保存為數組Polygon[5],表示這個多邊形是由5個點組成,這5個點順序地存儲在了數組Polygon之中。就如同走路一般地劃線,從數組的第一個點連到第五個點,多邊行就構造出來了。
在圖形編程中,坐標的利用是不可忽視的。在這裡判斷一個點是否在多邊行內部(可以包括線上)就要利用到各個點的坐標關係。下面開始討論具體的方法。
對任何事物的分析,我們應該遵守由簡入繁的原則,這樣才能提高條理性,少犯錯誤。我們先判斷一個點是否在一個三角形內部。一個三角形在一個坐標系(譬如由A、B、C三點組成)中,我們可以通過計算它的有向面積來判斷A、B、C三點在坐標系中的順逆。當然,在此之前我們必須先訂立一套計算面積的規則。比如,在笛卡爾坐標系中,我們利用:
S=
((A.x-B.x)*(A.y+B.y)+(B.x-C.x)*(B.y+C.y)+(C.x-A.x)*
(C.y+B.y))/2 ———————————- 1來計算三角形的有向
面積。規則即是:從第一點開始,用前一點橫坐標減後一點橫坐標與兩坐標之和的乘積求梯形面積,直到完成多邊性的封閉,得到三角形的有向面積。此時,如果求出的值是正的(S0),則得出A-B-C為逆時針,否則為順時針。到這裡,我們知道如何判斷一個三角形的順逆的方法。
對於凸多邊形而言(以三角形ABC為例),假設存在一個點D,若這個點在三角形的內部,則以該點為起點,和原多邊形的任意兩個連續的且尊照多邊形組成方向的點(如DAB、DBC、DCA)組成的三角形講都是一個方向,如DAB和DBC都是順時針方向。若這個點在三角形的外部,則會出現DAB、DBC、DCA三個三角形方向不一致的情形,即其中有一個不同於另外兩個(如一個順,兩個逆)。到這裡我們就知道了如何判斷一個點在一個三角形內部的演算法,總結一下就是通過判斷該點同三角形連續兩點組成三角形的順逆性(歸於面積的正負)來得到結果的。
實際上,對於其他的凸多邊性也可以用一樣的方法,只是這個時候判斷的三角形的數目增加了,不管怎麼樣,只要點在多邊形內部他們的順逆都是一樣的。對於凹多邊形而言,情況就要相對複雜一些了。此時,判斷一個點是否在其內部的計算量會增加比較多。具體演算法如下:此時三角形一個個的判斷可能會失效,我們應當兩個同時判斷。即判斷該點是否同時在多邊形的連續兩個三角形之中,相當於是求兩個三角形的交集,直到完成多邊形封閉。例如,判斷P點是否在多邊形ABCD之中,依次判斷P是否在ABC-BCD、BCD-CDA、CDA-DAB、DAB-ABC各個成對三角形中,P在ABC-BCD中表示P在ABC-BCD的交集之中。這樣就可以判斷一個點是否在一個凹多邊形內部了。
運用php編寫一個自定義函數,三角形的底和高為函數的兩個參數,通過它們計算面積和周長
?php
header(“Content-type:text/html;charset=gb2312”);
//設置面積計算函數
function sanJiaoXingMianJi($bianchang,$gaodu){
$mianJi = ($bianchang*$gaodu)/2;
echo $mianJi .” 米sup2/sup”;
}
if(!empty($_GET[‘action’])){
$bc = $_REQUEST[‘bianchang’];
$gd = $_REQUEST[‘gaodu’];
is_numeric($bc) or die(‘邊長為空或不是數字,a href=”javascript:history.go(-1)”返回/a重新輸入!’);
is_numeric($gd) or die(‘邊長為空或不是數字,a href=”javascript:history.go(-1)”返回/a重新輸入!’);
//調用計算函數
sanJiaoXingMianJi($bc,$gd);
}
?
form id=”form1″ name=”form1″ method=”post” action=”?action=jisuan”
三角形底邊長:input name=”bianchang” type=”text” id=”bianchang” size=”3″ / 米br /br /
三角形高度為:input name=”gaodu” type=”text” id=”gaodu” size=”3″ / 米br /br /
input type=”submit” name=”button” id=”button” value=”計算三角形面積” /
/form
原創文章,作者:WBHSU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/318123.html