math


Find any point on arc given center, start point, end point, total angle, normal, and radius


I have an 3D arc with coordinates such as:
start = (-3,6,12)
end = (-13,11,12)
center = (-9,6,14)
norm = (0.3204,0.6304,0.7071)
radius = 7
Along with angle information:
start angle = 216
total angle = 108
end angle = 324
Using the given information, I want to interpolate the arc at a specified distance. To do this, I perform the same operation in a loop and increment or decremented the angle depending on the direction I choose (start to end or vice-versa).
I figured out how to do so in 2D with the algorithm:
X = r * cosine(angle)
Y = r * sine(angle)
X = Cx + (r * cosine(angle))
Y = Cy + (r * sine(angle))
But once I add the Z axis it gets very confusing. I have been looking at multiple methods that use operations such as the cross product but these make me even more confused.
How should I proceed with this?
If center is center of circle, than you have almost all information needed for SLERP - spherical linear interpolation
p0 = start - circlecenter
p1 = end - circlecenter
p(t) = p0 * Sin(W*(1-t)) / Sin(W) + p1 * Sin(W*t) / Sin(W)
point(t) = circlecenter + p(t)
where p0 and p1 are starting and ending radius-vectors, W is total angle, t is
parameter in range 0..1 (so W*t lies in range 0..total angle)
If your center is middle of arc, you can find circle center:
chord = end - start
uchord = chord.normalize //(unit vector)
perp = VectorProduct(normal, uchord) //unit vector in circle plane
circlecenter = middle + perp * radius

Related Links

3D Target Leading formula for a ballistic trajectory
multiple regression using only covar matrix and means
Coordinates to Grid Box Number
Filling a grid with boxes with numbers with decreasing size
Calculate Grid Position
How to transform a co-ordinate value in 45 deg-135 deg co-ordinate system to earth co-ordinate system?
What's the difference between knots and fit points?
carry/overflow & subtraction in x86
Perspective projection, 4 points
Inductive Specification: Top-down vs Bottom-up vs Rules of Inference?
Tangent calculation OpenGL
Subtracting a large unsigned binary number from a smaller one
Generating a 'natural path' along a spline
Uniform Random Selection with Replacement [closed]
Polygon Triangle Count Optimization
Generating topological space diagram in Mathematica

Categories

HOME
apache-spark
document
oozie
simulated-annealing
bootstrap-4
crf
appium-ios
tcl
backand
feed
xquery
logback
cross-domain
command-line-interface
message
jsqmessagesviewcontroller
qualtrics
slowcheetah
hp-alm
media-source
windows-applications
zos
vnc
mathdotnet
centos6
listbox
jtable
sumifs
rdf4j
file-manager
pmd
apache-commons-httpclient
background-process
azure-app-service-envrmnt
gradient-descent
mask
vtable
windows-scripting
uitabbarcontroller
internet-explorer-10
using
xargs
federation
sharpziplib
okular
node.js-tape
mspgcc
itamae
ubuntu-15.04
xendesktop
namenode
jongo
jni4net
parsoid
protected
realm-list
translate3d
wss4j
abort
sql-server-ce-3.5
byte-order-mark
alt
gitattributes
fortrabbit
slick2d
servlet-listeners
dojo.gridx
keyboard-navigation
youtrack-api
modalpopupextender
lightstreamer
nsimageview
couchpotato
progressdialog
virtual-earth
hogan.js
sender
timespan
oncreate
timestamp-with-timezone
libavg
self-organizing-maps
nsinvocation
bapi
livevalidation
springboard
datatemplate
non-relational-database
docking

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App