求教一個問題:就是有兩條不平行線段(相交或不相交),然后將其中一條線段的一個端點伸縮到他們所在直線的交點。
JavaScript撰寫,求個解答。
uj5u.com熱心網友回復:
這是什么鬼演算法,uj5u.com熱心網友回復:
在線蹲一個大神uj5u.com熱心網友回復:
L1物件{A(x,y),B(x,y)},L2物件 {A(x,y),B(x,y)},用A和B定義兩條條直線,然后同時對兩個物件的A點,B點物件的x的坐標 ++ 或 -- ,直到同時存在相同A或B ,回傳此時的 L1和L2。uj5u.com熱心網友回復:
啥東西
uj5u.com熱心網友回復:
var canvas = document.getElementById('mycanvas')
var context = canvas.getContext('2d')
// AX1 AY1 和 AX2 AY2 是一條線 BX1 BY1 和 BX2 BY2是一條線
//計算交點 公式自己百度求的 PX PY是交點
var l1 = (this.AX1 - this.AX2) / (this.AY1 - this.AY2)
var l2 = (this.BX1 - this.BX2) / (this.BY1 - this.BY2)
console.log('l1= ' + l1)
console.log('l2= ' + l2)
var PY = (this.BX1 - this.AX1 - (l2 * this.BY1) + (l1 * this.AY1)) / (l1 - l2)
var PX = l1 * PY - l1 * this.AY1 + this.AX1
console.log('相交點' + PX + ',' + PY)
context.arc(PX, PY, 1, 0, (Math.PI * 360) / 180)
context.moveTo(this.AX1, this.AY1)
context.lineTo(PX, PY)
context.moveTo(this.BX2, this.BY2)
context.lineTo(PX, PY)
context.moveTo(this.AX1, this.AY1)
context.lineTo(this.AX2, this.AY2)
context.moveTo(this.BX1, this.BY1)
context.lineTo(this.BX2, this.BY2)
context.strokeStyle = 'red'
context.lineWidth = 3
context.stroke()
uj5u.com熱心網友回復:
大佬 這個有決議嘛
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/11223.html
標籤:Java相關
